Tài liệu này trình bày chi tiết các cách giám sát các hoạt động nhạy cảm, chẳng hạn như hoạt động đăng nhập của người dùng và lượt mua hàng trực tuyến.
FLAG_SECURE
FLAG_SECURE
là một cờ cửa sổ để yêu cầu Android không cho phép ảnh chụp màn hình
hoặc để hiển thị khung hiển thị cửa sổ trên một màn hình không an toàn (chẳng hạn như Truyền
màn hình). Thông tin này rất hữu ích đối với những ứng dụng cần bảo vệ dữ liệu nhạy cảm
thông tin, chẳng hạn như ứng dụng ngân hàng hoặc trình quản lý mật khẩu. Khi một cửa sổ bị gắn cờ
với FLAG_SECURE
, Android sẽ ngăn chụp ảnh màn hình và ngăn không cho
hiển thị cửa sổ trên một màn hình không an toàn, chẳng hạn như TV hoặc
máy chiếu. Điều này giúp bảo vệ thông tin hiển thị trong
cửa sổ bị người dùng không được phép truy cập.
Cách điều này giúp giảm thiểu hành vi gian lận
Một ứng dụng hoặc thực thể độc hại có thể truy xuất ảnh chụp màn hình trong nền. Khi trạng thái
trong số các thay đổi của ứng dụng sang chế độ nền, bạn có thể dùng FLAG_SECURE
. Khi
ảnh chụp màn hình thì hình ảnh thu được bị trống.
FLAG_SECURE
cũng hỗ trợ các trường hợp sử dụng tính năng chia sẻ màn hình từ xa. Không phải lúc nào cũng
ứng dụng độc hại sẽ truy xuất ảnh chụp màn hình, các ứng dụng chia sẻ màn hình hợp pháp
cũng thường được sử dụng trong các tình huống gian lận.
Triển khai
Đối với các chế độ xem có thông tin mà bạn muốn được bảo vệ, hãy thêm đoạn mã sau:
Kotlin
window?.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE )
Java
window.setFlags( WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE );
Các phương pháp hay nhất
Điều quan trọng cần lưu ý là phương pháp này không đáng tin cậy trong việc ngăn chặn lớp phủ
cuộc tấn công. Trong một số trường hợp, tính năng này không dự đoán chính xác liệu tính năng ghi màn hình
đang hoạt động. Tuy nhiên, nó phù hợp với hầu hết các trường hợp sử dụng. Để giảm thiểu các cuộc tấn công lớp phủ, hãy đọc
phần tiếp theo về các quyền HIDE_OVERLAY_WINDOWS
.
ẨN_OVERLAY_WINDOWS
HIDE_OVERLAY_WINDOWS
là một quyền được thêm vào Android 12 để ứng dụng của bạn có thể
chọn không vẽ lớp phủ ứng dụng trên đó. Trên Android 12, chúng tôi đã đưa ra
khó có được quyền SYSTEM_ALERT_WINDOW
hơn, về cơ bản
cho phép ứng dụng của bạn chặn lớp phủ khỏi các ứng dụng bên thứ ba.
Cách điều này giúp giảm thiểu hành vi gian lận
Khi bật quyền HIDE_OVERLAY_WINDOWS
, bạn đang chọn không sử dụng
có lớp phủ ứng dụng được vẽ trên ứng dụng của bạn. Quyền này cung cấp
cơ chế bảo vệ chống lại các cuộc tấn công áo khoác và dao găm.
Triển khai
Để bật quyền này, hãy thêm HIDE_OVERLAY_WINDOWS
vào quyền của dự án
tệp kê khai.
Các phương pháp hay nhất
Tương tự như với mọi quyền, bạn cũng nên tin tưởng bất kỳ ứng dụng lớp phủ nào, ít nhất là tin tưởng bất kỳ ứng dụng nào khác trên thiết bị. Nói cách khác, ứng dụng của bạn không cho phép các ứng dụng khác vẽ lớp phủ lên trên đó trừ phi bạn biết ứng dụng khác đáng tin cậy. Việc cho phép một ứng dụng vẽ lên các ứng dụng khác có thể nguy hiểm vì ứng dụng đó có thể đánh cắp mật khẩu hoặc đọc thư.