Bagian ini berisi rekomendasi untuk memastikan keamanan komunikasi jaringan dari perangkat Android.
Mengamankan soket pendengaran
Gunakan soket pendengaran dengan hati-hati. Umumnya tidak boleh ada soket pendengar yang terbuka pada perangkat karena soket ini menyediakan vektor bagi penyerang jarak jauh untuk mendapatkan akses ke perangkat.
- Perangkat Android harus meminimalkan jumlah soket pendengar internet yang diekspos, terutama saat boot atau secara default. Tidak ada soket yang mendengarkan di internet saat boot secara default.
- Proses root dan proses yang dimiliki oleh pengidentifikasi unik sistem (UID) tidak boleh mengekspos soket pendengaran apa pun.
- Soket pendengaran harus dapat dinonaktifkan tanpa pembaruan OTA. Ini dapat dilakukan dengan menggunakan perubahan konfigurasi server atau perangkat pengguna.
- Untuk soket lokal yang menggunakan IPC, aplikasi harus menggunakan soket domain UNIX dengan akses terbatas pada grup. Buat deskriptor file untuk IPC dan jadikan +RW untuk grup UNIX tertentu. Aplikasi klien apa pun harus berada dalam grup UNIX tersebut.
- Beberapa perangkat dengan banyak prosesor (misalnya, radio/modem yang terpisah dari prosesor aplikasi) menggunakan soket jaringan untuk berkomunikasi antarprosesor. Dalam kasus seperti itu, soket jaringan yang digunakan untuk komunikasi antar-prosesor harus menggunakan antarmuka jaringan yang terisolasi untuk mencegah akses oleh aplikasi tidak sah pada perangkat (yaitu menggunakan iptables untuk mencegah akses oleh aplikasi lain pada perangkat).
- Daemon yang menangani port pendengaran harus kuat terhadap data yang salah format. Anda harus melakukan pengujian fuzz terhadap port menggunakan klien yang tidak sah, dan, jika memungkinkan, klien yang diberi wewenang. Ajukan bug untuk menindaklanjuti kerusakan.
Android Compatibility Test Suite (CTS) mencakup pengujian yang memeriksa keberadaan port pendengaran terbuka.
Nonaktifkan ADB
Android Debug Bridge (ADB) adalah alat pengembangan dan debugging yang berharga, namun dirancang untuk digunakan dalam lingkungan yang terkendali dan aman serta tidak boleh diaktifkan untuk penggunaan umum.
- Pastikan ADB dinonaktifkan secara default.
- Pastikan ADB mengharuskan pengguna untuk mengaktifkannya sebelum menerima koneksi.