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 ứng dụ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áp hỗ 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ụng Facebook đượ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ọng nế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ập tà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 Scheme của iOS cho ứng dụng nhắn tin. Sau đó, ứng dụng WeChat yêu cầu mã token đăng nhập bí 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ụng cùng một truy vấn yêu cầu đăng nhập (login-request query) để yêu cầu mã thông bá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ển khai dễ bị tấn công app-in-the-middle thông qua URL Scheme của iOS, cuối cùng cho 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ười dùng.
Với URL Scheme hợp pháp của WeChat, một WeChat giả có thể được tạo và Suning sẽ truy vấn mã giả cho token đăng nhập (Login-Token). Nếu ứng dụng Suning gửi truy vấn thì ứng dụng giả mạo có thể nắm bắt và lạm dụng URL Scheme yê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 Scheme tù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ụng hiệ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.
Thêm bình luận