URL Scheme trong iOS có thể cho phép những kẻ tấn công chiếm đoạt tài khoản Apple của bạn

Tấn công khai thác URL Scheme trong iOS

Các nhà nghiên cứu bảo mật gần đây đã minh họa một cuộc tấn công app-in-the-middle mới có thể cho phép một ứng dụng độc hại được cài đặt trên thiết bị iOS của bạn đánh cắp thông tin nhạy cảm từ các ứng dụng khác bằng cách khai thác một số triển khai nhất định của URL Scheme tùy chỉnh.

Theo mặc định trên hệ điều hành iOS của Apple, mỗi ứng dụngđều chạy trong một hộp cát (sandbox) riêng, do vậy giúp ngăn chặn việc các ứngdụng được cài đặt trên cùng một thiết bị truy cập dữ liệu của nhau.

Tuy nhiên, bên cạnh đó Apple vẫn cung cấp một số phương pháphỗ trợ gửi và nhận dữ liệu rất hạn chế giữa các ứng dụng.

Cơ chế URL Scheme trong iOS

Một cơ chế như vậy được gọi là URL scheme, còn được gọi là Liên kết sâu (Deep Linking), cho phép các nhà phát triển để người dùng khởi chạy ứng dụng của họ thông qua các URL, như facetime: //, whatsapp: //, fb-messenger: //.

Ví dụ: khi bạn nhấp vào “Đăng nhập bằng Facebook”trong một ứng dụng thương mại điện tử, nó sẽ trực tiếp khởi chạy ứng dụngFacebook được cài đặt trên thiết bị của bạn và tự động xử lý xác thực.

Thực chất trong nền (background), ứng dụng thương mại điện tửđó sẽ kích hoạt URL Scheme cho ứng dụng Facebook (fb: //) và chuyển một sốthông tin ngữ cảnh cần thiết để xử lý đăng nhập của bạn.

Các nhà nghiên cứu tại Trend Micro nhận thấy rằng vì Apple không xác định rõ ràng các ứng dụng có thể sử dụng những từ khóa nào cho URL Scheme tùy chỉnh nên nhiều ứng dụng trên thiết bị iOS có thể sử dụng URL Scheme đơn lẻ để kích hoạt và chuyển dữ liệu nhạy cảm sang một ứng dụng hoàn toàn khác nhằm thực hiện các mục tiêu độc hại.

Các nhà nghiên cứu cho biết lỗ hổng này đặc biệt nghiêm trọngnếu quá trình đăng nhập của ứng dụng A được liên kết với ứng dụng B.

Mô phỏng cách thức khai thác lỗ hổng

Để mô phỏng cho điều này, các nhà nghiên cứu đã minh họa một kịch bản tấn công như hình dưới, trong đó sử dụng ví dụ về ứng dụng bán lẻ “Suning” của Trung Quốc và thực hiện tính năng “Đăng nhập bằng WeChat” để giải thích về tính dễ dàng bị khai thác của lỗ hổng.

Nói tóm lại, khi người dùng của ứng dụng Suning chọn truy cậptài khoản e-commerce của họ bằng WeChat, nó sẽ tạo một yêu cầu đăng nhập (login-request)và gửi nó đến ứng dụng WeChat được cài đặt trên cùng một thiết bị sử dụng URL Schemecủa iOS cho ứng dụng nhắn tin. Sau đó, ứng dụng WeChat yêu cầu mã token đăng nhậpbí mật từ máy chủ của nó và gửi lại cho ứng dụng Suning để xác thực.

Các nhà nghiên cứu nhận thấy rằng vì Suning luôn sử dụngcùng một truy vấn yêu cầu đăng nhập (login-request query) để yêu cầu mã thôngbáo bí mật và WeChat không xác thực nguồn của yêu cầu đăng nhập, nên việc triểnkhai dễ bị tấn công app-in-the-middle thông qua URL Scheme của iOS, cuối cùngcho phép kẻ tấn công có được quyền truy cập trái phép vào tài khoản của ngườidùng.

Với URL Scheme hợp pháp của WeChat, một WeChat giả có thể đượctạo và Suning sẽ truy vấn mã giả cho token đăng nhập (Login-Token). Nếu ứng dụngSuning gửi truy vấn thì ứng dụng giả mạo có thể nắm bắt và lạm dụng URL Schemeyêu cầu đăng nhập.

Hệ quả đến từ các cuộc tấn công khai thác URL Scheme

Điều đó có nghĩa là một ứng dụng độc hại có cùng URL Schemetùy chỉnh như ứng dụng được nhắm mục tiêu có thể lừa các ứng dụng khác chia sẻdữ liệu nhạy cảm của người dùng hoặc thực hiện các hành động trái phép khác cóthể dẫn đến tình trạng đánh cắp quyền riêng tư, gian lận hóa đơn hoặc hiển thịcác pop-up quảng cáo.

Các nhà nghiên cứu cho biết đã phát hiện rất nhiều ứng dụnghiện đang lợi dụng tính năng này để hiển thị quảng cáo cho nạn nhân.

Các ứng dụng độc hại tiềm tàng sẽ cố tình yêu cầu URL Scheme được liên kết với các ứng dụng phổ biến như wechat: //, line: //, fb : //, fb-messenger: //, v.v.

Do khả năng khai thác của lỗ hổng này hoàn toàn phụ thuộc vào cách thức triển khai URL Scheme nên các nhà phát triển ứng dụng và các platform phổ biến hiện nay được khuyến nghị xem xét kỹ lưỡng ứng dụng của họ và xác thực sửa chữa đối với các yêu cầu không đáng tin cậy.

THN