SHARE THE PERSPECTIVE
Trợ năng rất cần thiết cho người dùng; rủi ro xuất phát từ việc cấp quyền truy cập không có lý do chính đáng và lạm dụng quyền đó.

Mã độc không phải lúc nào cũng cần phá mã hóa tin nhắn. Nếu truy cập được dữ liệu mà thiết bị xử lý để hiển thị hoặc nhập vào, nó có thể thấy nội dung trước khi mã hóa hoặc sau khi giải mã. Lạm dụng Trợ năng và cửa sổ lớp phủ là hai ví dụ, nhưng cơ chế của chúng không giống nhau.

Ngoài ra, không phải mọi ứng dụng có Trợ năng hoặc cửa sổ nổi đều là mã độc. Trình đọc màn hình và các công cụ hỗ trợ rất cần thiết cho nhiều người dùng. Mục tiêu là cấp quyền truy cập một cách có hiểu biết và giảm lạm dụng, chứ không phải loại bỏ Trợ năng.

Ba mối đe dọa không nên nhầm lẫn

Phương thức Kẻ tấn công làm gì? Không nên mặc định điều gì?
Cửa sổ hoặc biểu mẫu giả Dụ người dùng nhập thông tin vào giao diện giống ứng dụng thật Không phải mọi lớp phủ đều tự động đọc văn bản của cửa sổ bên dưới
Đánh cắp thao tác chạm, hay tapjacking Lừa người dùng chạm vào một thành phần điều khiển khác Có một lớp trong suốt không có nghĩa là mọi phím bấm đều bị ghi lại
Lạm dụng dịch vụ Trợ năng Dùng các khả năng được phép của dịch vụ để quan sát hoặc thực hiện hành động Quyền truy cập mọi thành phần giao diện không giống nhau trên mọi phiên bản

Hướng dẫn chính thức về tapjacking phân biệt việc che khuất toàn bộ và một phần giao diện. Loại cửa sổ, phiên bản Android và cài đặt ứng dụng đều ảnh hưởng đến kết quả.

Trợ năng có thể tiếp cận dữ liệu nhạy cảm như thế nào?

Trong phạm vi khả năng của mình, dịch vụ Trợ năng có thể nhận thông tin giao diện hoặc thực hiện hành động thay người dùng. Một dịch vụ độc hại có thể lạm dụng chính khả năng đó. Vì thế, bật dịch vụ này cho một ứng dụng không có lý do rõ ràng không phải là quyết định nhỏ nhặt.

Tuy nhiên, tuyên bố rằng “mọi dịch vụ đều có thể đọc toàn bộ văn bản của mọi ứng dụng” là quá tuyệt đối. Cấu trúc các thành phần giao diện, cách cung cấp dữ liệu và giới hạn của hệ điều hành đều quan trọng. Android có những tính năng như accessibilityDataSensitive cho các thành phần giao diện nhạy cảm; cách sử dụng và hành vi của chúng phải được thử nghiệm trên phiên bản mục tiêu. Xem giải thích của Google về bảo vệ dữ liệu trước các dịch vụ độc hại.

FLAG_SECURE làm được gì và không làm được gì?

FLAG_SECURE được dùng để hạn chế chụp ảnh màn hình và hiển thị nội dung trên các đầu ra không an toàn. Chỉ riêng cờ này không kiểm soát cơ chế Trợ năng, biểu mẫu giả hoặc mọi cách trích xuất văn bản. Dùng thiết bị khác chụp màn hình cũng là một vấn đề riêng.

Android còn cung cấp cho ứng dụng các công cụ khác, chẳng hạn HIDE_OVERLAY_WINDOWS, để giảm cửa sổ lớp phủ. Không nên giới thiệu bất kỳ công cụ nào như một “nút chống gián điệp” khi chưa xem xét tính tương thích, giới hạn phiên bản và tác động đến người dùng có nhu cầu Trợ năng. Xem hướng dẫn bảo vệ các hoạt động nhạy cảm.

Danh sách kiểm tra quyền truy cập dành cho người dùng

  1. Trong cài đặt thiết bị, xem riêng các ứng dụng có Trợ năng, hiển thị trên ứng dụng khác và quyền truy cập thông báo. Tên đường dẫn cài đặt khác nhau tùy nhà sản xuất và phiên bản.
  2. Với từng trường hợp, hãy hỏi chức năng cụ thể nào cần quyền đó. Quyền truy cập của một trình đọc màn hình đáng tin cậy không giống quyền của một ứng dụng đèn pin không rõ nguồn gốc.
  3. Coi yêu cầu gấp gáp bật quyền truy cập sau khi cài một tệp không rõ nguồn gốc là dấu hiệu cần kiểm tra thêm; chỉ riêng việc xin quyền không chứng minh đó là mã độc.
  4. Nếu giao diện trang đăng nhập đáng ngờ, đừng nhập thông tin nhạy cảm. Mở ứng dụng theo cách thường dùng và kiểm tra địa chỉ hoặc nguồn cài đặt.
  5. Sau khi thu hồi quyền truy cập không cần thiết, hãy thử lại các công cụ hỗ trợ mà bạn cần. Bảo mật không nên khiến chủ sở hữu không thể sử dụng thiết bị.

Nếu nghi ngờ mật khẩu hoặc phiên của mình đã bị lộ, chỉ thu hồi quyền là chưa đủ. Từ một thiết bị đáng tin cậy, hãy kiểm tra các phiên đang hoạt động và phương thức khôi phục tài khoản, đồng thời đổi những mật khẩu có nguy cơ bị lộ.

Nhà phát triển nên thử nghiệm những gì?

Đánh giá riêng màn hình đăng nhập, xác nhận thao tác và hiển thị thông tin nhạy cảm. Thử nghiệm thao tác chạm bị che khuất và trường hợp che phủ một phần; chỉ thử chụp ảnh màn hình là chưa đủ. Sau đó kiểm tra cùng luồng thao tác bằng trình đọc màn hình và công cụ hỗ trợ thực tế để biện pháp bảo mật không phá vỡ quyền truy cập hợp lệ.

Trong báo cáo thử nghiệm, ghi lại phiên bản Android và ứng dụng, loại dịch vụ, các quyền và dữ liệu thực sự có thể nhìn thấy. Không thể từ một thử nghiệm có phạm vi hạn chế mà kết luận cho mọi thiết bị.

Ranh giới của mã hóa trong ứng dụng nhắn tin

Mô hình mối đe dọa của Livara loại thiết bị nhiễm mã độc hoặc đã mở khóa khỏi phạm vi bảo đảm bảo vệ nội dung. Vì thế, tên thuật toán hoặc việc trao đổi khóa có khả năng hậu lượng tử không phải là biện pháp phòng vệ trước mọi kiểu lạm dụng giao diện người dùng. Hãy coi bảo vệ đường truyền tin nhắn, tính toàn vẹn của thiết bị và kiểm soát quyền là ba nội dung cần xem xét riêng biệt.

Khám phá Proof Lab của Livara
CONTINUE THE THREADAndroid & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗