Mengamankan aktivitas sensitif

Dokumen ini menjelaskan cara memantau aktivitas sensitif, seperti login pengguna dan pembelian online.

FLAG_SECURE

FLAG_SECURE adalah Flag jendela yang memberi tahu Android untuk tidak mengizinkan screenshot atau menampilkan tampilan jendela di layar yang tidak aman (seperti Mentransmisikan layar). Hal ini berguna untuk aplikasi yang perlu melindungi informasi sensitif, seperti aplikasi perbankan atau pengelola sandi. Jika jendela ditandai dengan FLAG_SECURE, Android akan mencegah screenshot diambil dan mencegah jendela ditampilkan di layar yang tidak aman, seperti TV atau proyektor. Hal ini membantu melindungi informasi yang ditampilkan di jendela agar tidak diakses oleh orang yang tidak berwenang.

Cara ini membantu mengurangi penipuan

Aplikasi atau entitas berbahaya dapat mengambil screenshot latar belakang. Saat status aplikasi Anda berubah ke latar belakang, FLAG_SECURE dapat digunakan. Saat screenshot diambil, gambar yang dihasilkan akan kosong.

FLAG_SECURE juga membantu kasus penggunaan berbagi layar jarak jauh. Tidak selalu aplikasi berbahaya yang akan mengambil screenshot, aplikasi berbagi layar yang sah juga umumnya digunakan dalam situasi penipuan.

Implementasi

Untuk tampilan dengan informasi yang ingin Anda lindungi, tambahkan hal berikut:

Kotlin

window?.setFlags(
    WindowManager.LayoutParams.FLAG_SECURE,
    WindowManager.LayoutParams.FLAG_SECURE
)

Java

window.setFlags(
  WindowManager.LayoutParams.FLAG_SECURE,
  WindowManager.LayoutParams.FLAG_SECURE
);

Praktik terbaik

Penting untuk diperhatikan bahwa pendekatan ini tidak dapat diandalkan dalam mencegah serangan overlay. Dalam beberapa kasus, API ini tidak memprediksi dengan benar apakah perekaman layar sedang aktif, tetapi API ini mencakup sebagian besar kasus penggunaan. Untuk memitigasi serangan overlay, baca bagian berikutnya tentang izin HIDE_OVERLAY_WINDOWS.

MENYEMBUNYIKAN JENDELA OVERLAY

HIDE_OVERLAY_WINDOWS adalah izin yang ditambahkan di Android 12 yang memungkinkan aplikasi Anda memilih untuk tidak menampilkan overlay aplikasi di atasnya. Di Android 12, kami telah mempersulit perolehan izin SYSTEM_ALERT_WINDOW, yang pada dasarnya memungkinkan aplikasi Anda memblokir overlay dari aplikasi pihak ketiga.

Cara ini membantu mengurangi penipuan

Saat Anda mengaktifkan izin HIDE_OVERLAY_WINDOWS, Anda memilih untuk tidak mengizinkan overlay aplikasi digambar di atas aplikasi Anda. Izin ini memberikan mekanisme perlindungan terhadap serangan cloak and dagger.

Implementasi

Untuk mengaktifkan izin ini, tambahkan HIDE_OVERLAY_WINDOWS ke manifes project Anda.

Praktik terbaik

Seperti halnya izin apa pun, Anda harus memercayai aplikasi overlay setidaknya sama seperti Anda memercayai aplikasi lain di perangkat. Dengan kata lain, aplikasi Anda tidak boleh mengizinkan aplikasi lain menggambar overlay di atasnya kecuali jika Anda mengetahui bahwa aplikasi lain tersebut tepercaya. Mengizinkan aplikasi menggambar di atas aplikasi lain dapat berbahaya karena aplikasi tersebut dapat mencuri sandi atau membaca pesan.