Cuộc tấn công 'Cloak & Dagger' đã làm đau đầu Android suốt hàng tháng

Thường thì những lỗ hổng trong phần mềm là những tai nạn hoặc lỗi - những khuyết điểm không nên xuất hiện. Nhưng chúng cũng có thể bắt nguồn từ những hậu quả không ý định của các tính năng hoạt động theo cách họ được dự định. Những vấn đề này khó giải quyết, đặc biệt là nếu tính năng có thể bị ảnh hưởng có một ứng dụng quan trọng và hợp lệ. Đó chính là điều đã xảy ra với Cloak & Dagger, một cuộc tấn công thao túng các thuộc tính của thiết kế hình ảnh và giao diện người dùng của hệ điều hành để che giấu hoạt động độc hại.
Các nhà nghiên cứu tại Viện Công nghệ Georgia và Đại học California, Santa Barbara lần đầu tiên đã chi tiết lỗ hổng vào tháng 5, và đã cùng Google làm việc để giải quyết chúng. Nhưng trong khi Google đã giải quyết nhiều lỗi trong bản phát hành Android O sắp tới, các phương pháp vẫn tồn tại trên các phiên bản hiện tại của Android, tiềm ẩn nguy cơ tiếp xúc gần như tất cả người dùng Android với một cuộc tấn công xảo quyệt.
“Lỗi giao diện người dùng đang tồn tại và chúng có thể bị khai thác và việc triển khai chúng khá dễ dàng," Yanick Fratantonio, một nhà nghiên cứu an ninh di động làm việc trên dự án và đã giúp trình bày các cập nhật Cloak & Dagger mới nhất tại hội nghị an ninh Black Hat vào thứ Năm. "Các cuộc tấn công là một vấn đề lớn, nhưng chúng khó khăn để sửa chữa. Bạn không thể chỉ đơn giản thay đổi [các tính năng dễ bị tổn thương] vì bạn sẽ gặp vấn đề tương thích ngược."
In addition to the protections baked into Android O, a Google spokesperson said in a statement that, “We've been in close touch with the researchers and, as always, we appreciate their efforts to help keep our users safer. We have updated Google Play Protect—our security services on all Android devices with Google Play—to detect and prevent the installation of these apps."
The main Cloak & Dagger attacks affect all recent versions of Android, up to the current 7.1.2. They take advantage of two Android permissions: one, known as SYSTEM_ALERT_WINDOW,which allows apps to display overlay screens for things like notifications, and one called BIND_ACCESSIBILITY_SERVICE, a permission for accessibility services that allows tracking and querying of visual elements displayed on the phone. These permissions can be abused individually, or in tandem.
Khi bạn tải ứng dụng từ Google Play yêu cầu quyền System Alert overlay, Android tự động cấp quyền này mà không cần sự chấp nhận của người dùng. Điều này có nghĩa là các ứng dụng độc hại yêu cầu quyền đó có thể che giấu hoạt động có ý định xấu sau các màn hình trông vô hại. Ví dụ, ứng dụng có thể yêu cầu một quyền mà người dùng phải chấp thuận, nhưng che phủ thông báo yêu cầu đó bằng một màn hình khác yêu cầu một điều gì đó vô tội, để lại một lỗ hổng trên màn hình che phủ cho nút “Chấp nhận” thực sự. Loại bait and switch này là một phiên bản của cuộc tấn công được biết đến là “click-jacking.”
Trong trường hợp của Cloak & Dagger, quyền mà các nhà nghiên cứu đã lừa người dùng thử nghiệm chấp nhận được gọi là Bind Accessibility Service. Khi người dùng cấp quyền này, ứng dụng có khả năng theo dõi các đối tượng trên màn hình, tương tác với chúng và thậm chí làm thay đổi chúng. Thông thường, những khả năng này dành cho các dịch vụ giải quyết khuyết tật như khuyết tật về thị giác và thể chất. Trên tay của một ứng dụng độc hại, chúng có thể gây ra thiệt hại khủng khiếp.
Một khi kẻ tấn công đã được sự chấp thuận của người dùng cho quyền truy cập, họ có thể lạm dụng nó để ghi log phím, lừa đảo và thậm chí cài đặt ẩn của các ứng dụng độc hại khác để truy cập sâu hơn vào hệ thống của nạn nhân. Quyền truy cập cũng làm cho việc mô phỏng hành vi người dùng trở nên khả thi, một khả năng mạnh mẽ.
“Chúng tôi để ‘các ứng dụng khác’ hoặc ‘một người dùng giả mạo’ thực hiện những việc xấu cho chúng tôi,” Fratantonio nói. “Nói cách khác, thay vì hack, ví dụ, ứng dụng Cài đặt, chúng tôi chỉ mô phỏng một người dùng đang click xung quanh và ‘yêu cầu’ ứng dụng Cài đặt thực hiện những việc cho chúng tôi như bật tất cả các quyền hạn.”
Các nhà nghiên cứu đã phát triển nhiều biến thể của những cuộc tấn công này và đã phát hiện rằng họ có thể tiếp quản các hệ thống chỉ với quyền hạn hệ thống đầu tiên, bằng cách điều khiển các lớp chồng lên nhau để kích hoạt việc tải xuống ứng dụng thứ hai có thể làm việc với ứng dụng đầu tiên để xâm nhập vào hệ thống. Sự biến đổi trong cách tiếp cận và tính phân tán của các cuộc tấn công khiến chúng khó để phát hiện một cách liên tục.
Do các nỗ lực khắc phục của Google, một số phiên bản của các cuộc tấn công không hoạt động trên tất cả các phiên bản Android nữa, nhưng có quá nhiều biến thể nên vẫn còn rất nhiều lựa chọn cho kẻ tấn công. Và việc sử dụng phiên bản Android không đồng nhất của người dùng có nghĩa là đối với hầu hết người dùng, các lỗ hổng còn lại có khả năng vẫn tồn tại trong một thời gian dài.
