Android menggabungkan fitur keamanan terkemuka di industri dan bekerja sama dengan developer serta pelaksana perangkat untuk menjaga keamanan platform dan ekosistem Android. Model keamanan yang tangguh sangat penting untuk memungkinkan ekosistem aplikasi dan perangkat yang kuat yang dibangun di dan di sekitar platform Android serta didukung oleh layanan cloud. Oleh karena itu, selama seluruh siklus proses pengembangannya, Android telah tunduk pada program keamanan yang ketat.
Android dirancang agar terbuka. Aplikasi Android menggunakan hardware dan software canggih, serta data lokal dan yang disajikan, yang diekspos melalui platform untuk menghadirkan inovasi dan nilai bagi konsumen. Untuk mewujudkan nilai tersebut, platform ini menawarkan lingkungan aplikasi yang melindungi kerahasiaan, integritas, dan ketersediaan pengguna, data, aplikasi, perangkat, dan jaringan.
Mengamankan platform terbuka memerlukan arsitektur keamanan yang kuat dan program keamanan yang ketat. Android didesain dengan keamanan berlapis yang cukup fleksibel untuk mendukung platform terbuka sekaligus melindungi semua pengguna platform. Untuk mengetahui informasi tentang pelaporan masalah keamanan dan proses update, lihat Update dan Referensi Keamanan.
Android didesain untuk developer. Kontrol keamanan didesain untuk mengurangi beban developer. Developer yang ahli keamanan dapat dengan mudah bekerja dan mengandalkan kontrol keamanan yang fleksibel. Developer yang kurang memahami keamanan akan dilindungi oleh pengamanan default.
Selain menyediakan platform yang stabil untuk pengembangan, Android memberikan dukungan tambahan kepada developer dalam sejumlah cara. Tim keamanan Android mencari potensi kerentanan dalam aplikasi dan menyarankan cara memperbaiki masalah tersebut. Untuk perangkat dengan Google Play, Layanan Play memberikan update keamanan untuk library software penting, seperti OpenSSL, yang digunakan untuk mengamankan komunikasi aplikasi. Tim keamanan Android merilis alat untuk menguji SSL (nogotofail) yang membantu developer menemukan potensi masalah keamanan di platform mana pun yang mereka gunakan untuk mengembangkan aplikasi.
Android juga memanfaatkan dukungan hardware yang mendasarinya untuk keamanan. Misalnya, teknologi ARM TrustZone digunakan untuk menyediakan penyimpanan yang aman untuk kunci kriptografi serta pengesahan integritas booting. DICE digunakan untuk mengukur firmware yang dimuat sebelum booting Android. Hal ini memungkinkan verifikasi jarak jauh bahwa firmware tidak terpengaruh oleh kerentanan kritis yang diketahui yang dapat dieksploitasi untuk merugikan developer dan pengguna.
Informasi selengkapnya untuk developer aplikasi Android dapat ditemukan di developer.android.com.
Android dirancang untuk pengguna. Pengguna diberi visibilitas terhadap izin yang diminta oleh setiap aplikasi dan kontrol atas izin tersebut. Desain ini mencakup ekspektasi bahwa penyerang akan mencoba melakukan serangan umum, seperti serangan manipulasi psikologis untuk meyakinkan pengguna perangkat agar menginstal malware, dan serangan pada aplikasi pihak ketiga di Android. Android didesain untuk mengurangi kemungkinan terjadinya serangan ini dan membatasi dampak serangan secara signifikan jika serangan tersebut berhasil. Keamanan Android terus berkembang setelah perangkat berada di tangan pengguna. Android bekerja sama dengan partner dan publik untuk menyediakan patch bagi perangkat Android yang terus menerima update keamanan.
Informasi selengkapnya untuk pengguna akhir dapat ditemukan di pusat bantuan Nexus, pusat bantuan Pixel, atau pusat bantuan produsen perangkat Anda.
Halaman ini menguraikan tujuan program keamanan Android, menjelaskan dasar-dasar arsitektur keamanan Android, dan menjawab pertanyaan yang paling relevan bagi arsitek sistem dan analis keamanan. Panduan ini berfokus pada fitur keamanan platform inti Android dan tidak membahas masalah keamanan yang khusus untuk aplikasi tertentu, seperti yang terkait dengan browser atau aplikasi SMS.
Latar belakang
Android menyediakan platform open source dan lingkungan aplikasi untuk perangkat seluler.
Bagian dan halaman di bawah ini menjelaskan fitur keamanan platform Android. Gambar 1 mengilustrasikan komponen keamanan dan pertimbangan berbagai tingkat stack software Android. Setiap komponen mengasumsikan bahwa komponen di bawahnya terpasang dengan benar. Dengan pengecualian sejumlah kecil kode OS Android yang berjalan sebagai root, semua kode di atas kernel Linux dibatasi oleh Sandbox Aplikasi.
Gambar 1. Tumpukan software Android
Elemen penyusun utama platform Android adalah:
- Hardware perangkat: Android berjalan di berbagai konfigurasi hardware, termasuk ponsel, tablet, smartwatch, mobil, smart TV, kotak game OTT, dan dekoder. Android tidak bergantung pada prosesor, tetapi memanfaatkan beberapa kemampuan keamanan khusus hardware seperti eXecute-Never ARM.
- Sistem operasi Android: Sistem operasi inti dibangun di atas kernel Linux. Semua resource perangkat, seperti fungsi kamera, data GPS, fungsi Bluetooth, fungsi telepon, dan koneksi jaringan diakses melalui sistem operasi.
- Android Application Runtime: Aplikasi Android sebagian besar ditulis dalam bahasa pemrograman Java dan berjalan di Android Runtime (ART). Namun, banyak aplikasi, termasuk layanan dan aplikasi Android inti, adalah aplikasi native atau menyertakan library native. Aplikasi ART dan native berjalan dalam lingkungan keamanan yang sama, yang terdapat dalam Sandbox Aplikasi. Aplikasi mendapatkan bagian khusus sistem file tempat mereka dapat menulis data pribadi, termasuk database dan file mentah.
Aplikasi Android memperluas sistem operasi Android inti. Ada dua sumber utama untuk aplikasi:
- Aplikasi bawaan: Android menyertakan serangkaian aplikasi bawaan, termasuk telepon, email, kalender, browser web, dan kontak. Aplikasi ini berfungsi sebagai aplikasi pengguna dan menyediakan kemampuan perangkat utama yang dapat diakses oleh aplikasi lain. Aplikasi yang sudah diinstal sebelumnya dapat menjadi bagian dari platform Android open source, atau dapat dikembangkan oleh produsen perangkat untuk perangkat tertentu.
- Aplikasi yang diinstal pengguna: Android menyediakan lingkungan pengembangan terbuka yang mendukung aplikasi pihak ketiga mana pun. Google Play menawarkan ratusan ribu aplikasi kepada pengguna.
Layanan keamanan Google
Google menyediakan serangkaian layanan berbasis cloud yang tersedia untuk perangkat Android yang kompatibel dengan Layanan Seluler Google. Meskipun layanan ini bukan bagian dari Proyek Open Source Android (AOSP), layanan ini disertakan di banyak perangkat Android. Untuk mengetahui informasi selengkapnya tentang beberapa layanan ini, lihat 2018 Year in Review Keamanan Android.
Layanan keamanan utama Google adalah:
- Google Play: Google Play adalah kumpulan layanan yang memungkinkan pengguna menemukan, menginstal, dan membeli aplikasi dari perangkat Android atau web. Google Play memudahkan developer menjangkau pengguna Android dan calon pelanggan. Google Play juga menyediakan ulasan komunitas, verifikasi lisensi aplikasi, pemindaian keamanan aplikasi, dan layanan keamanan lainnya.
- Update Android: Layanan update Android memberikan kemampuan dan update keamanan baru ke perangkat Android tertentu, termasuk update melalui web atau over the air (OTA).
- Layanan aplikasi: Framework yang memungkinkan aplikasi Android menggunakan kemampuan cloud seperti (mencadangkan) data dan setelan aplikasi serta pesan dari cloud ke perangkat (C2DM) untuk pesan push.
- Verifikasi Aplikasi: Memperingatkan atau otomatis memblokir penginstalan aplikasi berbahaya, dan terus memindai aplikasi di perangkat, memperingatkan atau menghapus aplikasi berbahaya.
- SafetyNet: Sistem deteksi penyusupan yang menjaga privasi untuk membantu Google melacak, memitigasi ancaman keamanan yang diketahui, dan mengidentifikasi ancaman keamanan baru.
- SafetyNet Attestation: API pihak ketiga untuk menentukan apakah perangkat kompatibel dengan CTS. Pengesahan juga dapat mengidentifikasi aplikasi Android yang berkomunikasi dengan server aplikasi.
- Pengelola Perangkat Android: A aplikasi web dan aplikasi Android untuk menemukan perangkat yang hilang atau dicuri.
Ringkasan program keamanan
Komponen utama Program Keamanan Android meliputi:
- Peninjauan desain: Proses keamanan Android dimulai sejak awal siklus proses pengembangan dengan pembuatan desain dan model keamanan yang kaya dan dapat dikonfigurasi. Setiap fitur utama platform ditinjau oleh sumber daya keamanan dan engineering, dengan kontrol keamanan yang sesuai diintegrasikan ke dalam arsitektur sistem.
- Pengujian penetrasi dan peninjauan kode: Selama pengembangan platform, komponen yang dibuat Android dan open source tunduk pada peninjauan keamanan yang ketat. Peninjauan ini dilakukan oleh Tim Keamanan Android, tim Rekayasa Keamanan Informasi Google, dan konsultan keamanan independen. Tujuan peninjauan ini adalah untuk mengidentifikasi kelemahan dan kemungkinan kerentanan jauh sebelum rilis utama, dan untuk menyimulasikan jenis analisis yang dilakukan oleh pakar keamanan eksternal setelah rilis.
- Open source dan peninjauan komunitas: AOSP memungkinkan peninjauan keamanan yang luas oleh pihak yang berkepentingan. Android juga menggunakan teknologi open source yang telah menjalani peninjauan keamanan eksternal yang signifikan, seperti kernel Linux. Google Play menyediakan forum bagi pengguna dan perusahaan untuk memberikan informasi tentang aplikasi tertentu langsung kepada pengguna.
- Respons insiden: Meskipun dengan tindakan pencegahan ini, masalah keamanan dapat terjadi setelah pengiriman, itulah sebabnya project Android telah membuat proses respons keamanan yang komprehensif. Anggota tim keamanan Android penuh waktu memantau komunitas keamanan umum dan khusus Android untuk mengetahui diskusi tentang potensi kerentanan dan meninjau bug keamanan yang dilaporkan di database bug Android. Setelah menemukan masalah yang sah, tim Android memiliki proses respons yang memungkinkan mitigasi kerentanan secara cepat untuk memastikan potensi risiko bagi semua pengguna Android diminimalkan. Respons yang didukung cloud ini dapat mencakup memperbarui platform Android (update AOSP), menghapus aplikasi dari Google Play, dan menghapus aplikasi dari perangkat di lapangan.
- Update keamanan bulanan: Tim keamanan Android memberikan update bulanan ke perangkat Android Google dan semua partner manufaktur perangkat kami.
Arsitektur keamanan platform
Android berupaya menjadi sistem operasi paling aman dan mudah digunakan untuk platform seluler dengan mengubah fungsi kontrol keamanan sistem operasi tradisional untuk:
- Melindungi data aplikasi dan pengguna
- Melindungi resource sistem (termasuk jaringan)
- Menyediakan isolasi aplikasi dari sistem, aplikasi lain, dan dari pengguna
Untuk mencapai tujuan ini, Android menyediakan fitur keamanan utama berikut:
- Keamanan yang kuat di tingkat OS melalui kernel Linux
- Sandbox aplikasi wajib untuk semua aplikasi
- Mengamankan komunikasi antar-proses
- Penandatanganan aplikasi
- Izin yang ditentukan aplikasi dan diberikan pengguna