@manhng

Welcome to my blog!

Phòng tránh việc đánh cắp mật khẩu Apple ID

October 11, 2017 21:43

Cách thức đánh cắp mật khẩu Apple ID mới hoạt động như thế nào và biện pháp phòng tránh

Một phương pháp lừa đảo mới được hacker sử dụng để đánh cắp mật khẩu Apple ID, cực kỳ nguy hiểm nhưng lại cực kỳ dễ thực hiện.

Cuối tuần vừa rồi, Lorenzo đã sử dụng Giallo Zafferano - một ứng dụng nấu ăn đáng tin cậy trên iPhone, để tra cứu công thức nấu ăn mà anh đang cần. Đột nhiên, một khung thông báo xuất hiện trên màn hình yêu cầu anh nhập mật khẩu Apple ID của mình. Cảm thấy không ổn, anh đã lập tức tắt khung thông báo đó đi.

Các hacker vừa mới tìm ra một phương pháp mới đánh cắp mật khẩu Apple ID vô cùng nguy hiểm.

Các hacker vừa mới tìm ra một phương pháp mới đánh cắp mật khẩu Apple ID vô cùng nguy hiểm.

Felix Krause, một lập trình viên iOS đồng thời cũng là nhà sáng lập Fastlane, đã phát hiện ra rằng các hacker có thể dễ dàng tạo ra những khung thông báo giả mạo để lừa người dùng cung cấp mật khẩu của họ cho bọn chúng.

“Điều này đơn giản đến mức chỉ cần chưa đến 30 dòng code là đã có thể thực hiện được rồi”, Krause chia sẻ trên trang blog của mình. Anh chàng lập trình viên này cũng thử tạo ra một ứng dụng tương tự, để cho tất cả mọi người thấy lỗ hổng bảo mật nghiêm trọng này. Tất nhiên vì lý do đạo đức, Krause đã không công bố mã nguồn của phương pháp đánh cắp mật khẩu Apple ID.

Tại sao phương pháp này hiệu quả?

Hệ điều hành iOS thường xuyên yêu cầu người dùng nhập mật khẩu Apple ID để thực hiện nhiều tác vụ khác nhau. Phổ biến nhất là khi cài đặt bản cập nhật hệ điều hành iOS hoặc trong khi cài đặt các ứng dụng iOS.


Bên trái là popup hệ thống, bên phải là popup của ứng dụng để đánh cắp mật khẩu.

Bên trái là popup hệ thống, bên phải là popup của ứng dụng để đánh cắp mật khẩu.

Do đó, người dùng hình thành thói quen nhập mật khẩu Apple ID của mình bất cứ khi nào hệ điều hành iOS yêu cầu. Sẽ có một cửa sổ popup hiện ra khi iOS yêu cầu bạn nhập mật khẩu. Tuy nhiên các popup không chỉ hiển thị trên màn hình khóa, màn hình trang chủ mà còn bên trong các ứng dụng. Ví dụ như khi họ muốn truy cập iCloud, Game Center hay thanh toán trong ứng dụng.

Dựa vào đó, các hacker dễ dàng tạo ra một popup giả mạo, được gọi là UIAlertController và trông giống hệt hộp thoại của hệ thống. Người dùng sẽ dễ dàng bị đánh lừa và nhập mật khẩu Apple ID vào hộp thoại này, mà không biết rằng nó sẽ được gửi tới tận tay hacker.

Phương pháp đánh cắp mật khẩu Apple ID mới nguy hiểm, nhưng lại dễ dàng thực hiện

Việc tạo ra một vài dòng code để có thể hiển thị cửa sổ popup giả mạo yêu cầu hệ thống là rất đơn giản. Lập trình viên Felix Krause cho biết anh mất chưa tới 30 dòng code để hoàn thiện, tất cả các lập trình viên iOS đều có thể làm được. Các ứng dụng iOS đều cho phép các lập trình viên thực hiện tùy chỉnh sau khi đã đăng ký.


Bên trái là yêu cầu của hệ thống, bên phải là giả mạo.

Bên trái là yêu cầu của hệ thống, bên phải là giả mạo.

Mặc dù người dùng có thể tự bảo vệ mình bằng cách kích hoạt tính năng xác thực hai bước (two-factor authentication) trên Apple ID. Nhưng điều đó cũng không đảm bảo 100%. Bởi hacker có thể tạo ra thêm một cửa sổ popup nữa và yêu cầu người dùng nhập luôn cả mã xác thực. Với những người không rành về công nghệ và thiếu cẩn trọng, họ có thể dễ dàng cung cấp mã xác thực mà không biết rằng đó là popup giả mạo.

Ngay cả khi Apple quản lý rất chặt chẽ các ứng dụng của bên thứ ba trên App Store. Việc tùy chỉnh và thêm một vài dòng code vào ứng dụng sau khi đã được Apple cấp phép là điều dễ dàng.

Ví dụ, các hacker có thể sử dụng một công cụ cấu hình từ xa để kích hoạt tính năng mới cho ứng dụng sau khi được Apple cấp phép. Hay sử dụng một trình kích hoạt theo thời gian, với các đoạn mã đặc biệt chỉ khởi chạy sau khi ứng dụng được cấp phép. Tất nhiên Apple có thể phát hiện và khóa tài khoản của các nhà phát triển thực hiện các hành vi này, nhưng có thể lúc đó đã quá muộn.

Làm thế nào để tự bảo vệ mình?

Lập trình viên Felix Krause đã chia sẻ một số mẹo nhỏ để người dùng có thể nhận biết các popup yêu cầu mật khẩu Apple ID giả mạo.

Đầu tiên, bạn có thể thử nhấn nút Home và xem ứng dụng có bị thoát ra hay không. Nếu như ứng dụng thoát ra cùng với cả popup, ứng dụng đó đã được cài mã đánh cắp mật khẩu của bạn.

Nếu như ứng dụng và hộp thoại vẫn hiển thị, thì đó là thông báo của hệ thống iOS. Lý do là vì hộp thoại của hệ thống được chạy trên một tiến trình riêng và không phải của bất kỳ ứng dụng nào, do đó bạn không thể thoát bằng cách ấn nút Home.


Sử dụng biện pháp thủ công để bảo vệ mật khẩu Apple ID.

Sử dụng biện pháp thủ công để bảo vệ mật khẩu Apple ID.

Bạn có thể không cần nhập mật khẩu vào cửa sổ popup, thay vào đó bạn có thể bỏ qua và mở Cài đặt ứng dụng theo cách thủ công. Cũng giống như việc bạn không nên bấm trực tiếp vào các đường link trong messenger hay email, mà bạn nên mở trang web một cách thủ công.

Nếu như bạn đã lỡ gõ mật khẩu trong cửa sổ popup, nhưng chưa gửi, ứng dụng vẫn có quyền truy cập vào nội dung của trường mật khẩu. Do đó, hacker vẫn có được mật khẩu dù bạn kịp thời bấm nút Cancel.

Lừa đảo đánh cắp mật khẩu thông qua ứng dụng di động vô cùng nguy hiểm

Ngay cả những người am hiểu về công nghệ cũng có thể dễ dàng dính phải cạm bẫy này. Nguyên nhân là do UI của hệ thống và của ứng dụng chưa được tách biệt, để người dùng dễ dàng nhận ra.

Theo lập trình viên Felix Krause, iOS cần phải tách biệt rõ ràng giữa giao diện hệ thống và các giao diện của ứng dụng. Nhờ đó, người dùng sẽ dễ dàng nhận ra đâu là yêu cầu của hệ thống iOS và đâu là yêu cầu từ ứng dụng của bên thứ 3.

Tất nhiên sự thay đổi này liên quan đến một số vấn đề lập trình rắc rối và bảo mật. Thậm chí ngay cả một số trang web cũng có thể tạo ra những cửa sổ popup với giao diện giống như thông báo của hệ thống macOS, khiến nhiều người dùng nghĩ rằng đó là thông báo của hệ điều hành.

Việc siết chặt quản lý ứng dụng, xem xét các đoạn mã cập nhật mới thường xuyên có thể giúp Apple ngăn chặn được phương pháp lừa đảo mới này. Tuy nhiên cho đến nay Apple vẫn chưa có bất kỳ bình luận gì, vì vậy chúng ta phải tự bảo vệ bản thân mình trước bằng cách nâng cao cảnh giác trước những yêu cầu đăng nhập mật khẩu trong ứng dụng một cách đáng ngờ.

Bảo mật

August 17, 2017 01:01

OAuth là gì?

OAuth là một chuẩn xác thực mở được rất nhiều các website và phần mềm sử dụng.

OpenID là gì?

OpenID là một tiêu chuẩn mở và là một giao thức authen được phân cấp. Được phát triển bởi tổ chức phi lợi nhuận OpenID Foundation, OpenID cho phép user có thể được authen bởi rất nhiều website (Relying Parties hoặc RP) sử dụng service của bên thứ 3

Khác nhau giữa OAuth & OpenID

http://www.codehub.vn/OpenID-va-OAuth-Khac-Nhau-Nhu-The-Nao

OAuth không phải là OpenID

OpenID cũng là một dạng xác thực danh tính dùng nick từ tài khoản xxx để đăng nhập vào trang yyy. Về nguyên tắc thì hai loại này giống nhau nhưng cách hoạt động của chúng thì lại khác nhau. OpenID đòi hỏi người dùng phải cung cấp thông tin cá nhân còn OAuth thì không.

OpenID is a protocol for authentication while OAuth is for authorization

OAuth 2.0 là gì?

OAuth 2.0 Authorization Framework [RFC6749]

OAuth 2.0 Bearer Token Usage [RFC6750]

https://blogs.msdn.microsoft.com/webdev/2016/10/27/bearer-token-authentication-in-asp-net-core/

http://kevinchalet.com/2017/01/30/implementing-simple-token-authentication-in-aspnet-core-with-openiddict/

http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-introduction/

http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-creating-your-own-authorization-provider/

http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-implementing-the-resource-owner-password-credentials-grant/

https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server

https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Samples/tree/master/samples/

https://github.com/aspnet/Security

Choose type of Authentication & Authorization

https://medium.com/@robert.broeckelmann/when-to-use-which-oauth2-grants-and-oidc-flows-ec6a5c00d864

https://spin.atomicobject.com/2016/05/30/openid-oauth-saml/

Bearer in ASP.NET Core

https://dev.to/samueleresca/developing-token-authentication-using-aspnet-core

https://github.com/samueleresca/Blog.TokenAuthGettingStarted

https://pioneercode.com/post/authentication-in-a-asp-dot-net-core-api-part-1-identity-access-denied

https://pioneercode.com/post/authentication-in-a-asp-dot-net-core-api-part-2-identity-access-granted

https://pioneercode.com/post/authentication-in-an-asp-dot-net-core-api-part-3-json-web-token

Area in ASP.NET Core

https://pioneercode.com/post/creating-areas-in-asp-net-core

Pagination in ASP.NET Core

https://pioneercode.com/post/asp-net-core-mvc-pagination-using-a-tag-helper

https://stackoverflow.com/questions/37708266/bearer-token-authentication-in-asp-net-core

Put app.UseMvc() at the end of your pipeline and it should work:

app.UseJwtBearerAuthentication(new JwtBearerOptions
{
    AutomaticAuthenticate = true,
    AutomaticChallenge = true,
    TokenValidationParameters = tokenValidationParameters,
    AuthenticationScheme = JwtBearerDefaults.AuthenticationScheme,
});

app.UseMvc();

OpenID Connect là gì?

http://openid.net/connect/

Bảo mật nhập môn

Sử dụng Cookie đúng cách để tránh những lỗi bảo mật không đáng có ntn?

Nếu website của bạn sử dụng RESTful API, đừng sử dụng cookie để authorize người dùng mà hãy dùng OAuth hoặc WebToken. Token này được vào Header của mỗi request nên sẽ không bị dính lỗi CRSF nhé.

Bảo mật Cookie

https://toidicodedao.com/2016/10/25/bao-mat-cookie/

Bảo mật cơ bản phần 1

https://toidicodedao.com/2016/09/13/bao-mat-co-ban-phan-1/

Ẩn giấu thông tin hệ thống

https://toidicodedao.com/2016/11/01/an-thong-tin-he-thong/

Quản lý người dùng

https://toidicodedao.com/tag/juno_okyo/

Quản lý người dùng đúng cách

https://toidicodedao.com/2016/12/20/quan-ly-user-dung-cach/

Open Web Application Security Project (OWASP) là gì?

1) SQL Injection

https://toidicodedao.com/2016/11/15/lo-hong-sql-injection-than-thanh/

2) XSS

https://toidicodedao.com/2016/10/18/lo-hong-bao-mat-xss/

3) CSRF

https://toidicodedao.com/2016/11/29/csrf-cu-lua-ngoan-muc/

4) Insecure Direct Object References

https://toidicodedao.com/2016/11/22/lo-hong-bao-mat-insecure-direct-object-references/

Categories

Recent posts