Amankan Perangkat Android

Android menggabungkan fitur keamanan terdepan di industri dan bekerja sama dengan pengembang dan pelaksana perangkat untuk menjaga platform dan ekosistem Android tetap aman. Model keamanan yang kuat sangat penting untuk memungkinkan ekosistem aplikasi dan perangkat yang kuat dibangun di atas dan di sekitar platform Android dan didukung oleh layanan cloud. Akibatnya, sepanjang siklus pengembangannya, Android tunduk pada program keamanan yang ketat.

Android dirancang untuk terbuka. Aplikasi Android menggunakan perangkat keras dan perangkat lunak canggih, serta data lokal dan data 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 dirancang dengan keamanan berlapis yang cukup fleksibel untuk mendukung platform terbuka sekaligus tetap melindungi semua pengguna platform. Untuk informasi tentang pelaporan masalah keamanan dan proses pembaruan, lihat Pembaruan dan Sumber Daya Keamanan .

Android dirancang untuk pengembang. Kontrol keamanan dirancang untuk mengurangi beban pengembang. Pengembang yang paham keamanan dapat dengan mudah bekerja dan mengandalkan kontrol keamanan yang fleksibel. Pengembang yang kurang memahami keamanan dilindungi oleh default yang aman.

Selain menyediakan platform yang stabil untuk dibangun, Android memberikan dukungan tambahan kepada pengembang dalam beberapa cara. Tim keamanan Android mencari potensi kerentanan dalam aplikasi dan menyarankan cara untuk memperbaiki masalah tersebut. Untuk perangkat dengan Google Play, Layanan Play memberikan pembaruan keamanan untuk pustaka perangkat lunak penting, seperti OpenSSL, yang digunakan untuk mengamankan komunikasi aplikasi. Keamanan Android merilis alat untuk menguji SSL ( nogotofail ) yang membantu pengembang menemukan potensi masalah keamanan pada platform apa pun yang mereka kembangkan.

Android juga memanfaatkan dukungan perangkat keras yang mendasarinya untuk keamanan. Misalnya, teknologi ARM TrustZone digunakan untuk menyediakan penyimpanan aman untuk kunci kriptografi serta pengesahan integritas boot. [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) digunakan untuk mengukur firmware yang dimuat sebelum mem-boot Android. Hal ini memungkinkan verifikasi jarak jauh bahwa firmware tidak terpengaruh oleh kerentanan kritis yang diketahui yang dapat dieksploitasi untuk merugikan pengembang dan pengguna.

Informasi lebih lanjut untuk pengembang aplikasi Android dapat ditemukan di developer.android.com .

Android dirancang untuk pengguna. Pengguna diberikan 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 rekayasa sosial untuk meyakinkan pengguna perangkat agar memasang malware, dan serangan terhadap aplikasi pihak ketiga di Android. Android dirancang untuk mengurangi kemungkinan serangan ini dan sangat membatasi dampak serangan jika berhasil. Keamanan Android terus mengalami kemajuan setelah perangkat berada di tangan pengguna. Android bekerja sama dengan mitra dan masyarakat untuk memberikan patch pada perangkat Android apa pun yang terus menerima pembaruan keamanan.

Informasi lebih lanjut 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 paling relevan untuk arsitek sistem dan analis keamanan. Panduan ini berfokus pada fitur keamanan platform inti Android dan tidak membahas masalah keamanan khusus untuk aplikasi tertentu, seperti yang terkait dengan browser atau aplikasi SMS.

Latar belakang

Android menyediakan platform sumber terbuka dan lingkungan aplikasi untuk perangkat seluler.

Bagian dan halaman di bawah menjelaskan fitur keamanan platform Android. Gambar 1 mengilustrasikan komponen keamanan dan pertimbangan berbagai tingkat tumpukan perangkat lunak Android. Setiap komponen mengasumsikan bahwa komponen di bawah ini diamankan dengan benar. Dengan pengecualian sejumlah kecil kode OS Android yang berjalan sebagai root, semua kode di atas kernel Linux dibatasi oleh Application Sandbox.

Gambar 1: tumpukan perangkat lunak Android

Gambar 1. Tumpukan perangkat lunak Android

Komponen utama platform Android adalah:

  • Perangkat keras perangkat: Android berjalan pada berbagai konfigurasi perangkat keras termasuk ponsel, tablet, jam tangan, mobil, smart TV, kotak permainan OTT, dan set-top-box. Android tidak bergantung pada prosesor, namun memanfaatkan beberapa kemampuan keamanan khusus perangkat keras seperti ARM eXecute-Never.
  • Sistem operasi Android: Sistem operasi inti dibangun di atas kernel Linux. Semua sumber daya perangkat, seperti fungsi kamera, data GPS, fungsi Bluetooth, fungsi telepon, dan koneksi jaringan diakses melalui sistem operasi.
  • Runtime Aplikasi Android: Aplikasi Android paling sering ditulis dalam bahasa pemrograman Java dan dijalankan di runtime Android (ART). Namun, banyak aplikasi, termasuk layanan dan aplikasi inti Android, merupakan aplikasi asli atau menyertakan pustaka asli. Aplikasi ART dan aplikasi asli berjalan dalam lingkungan keamanan yang sama, yang terdapat dalam Application Sandbox. Aplikasi mendapatkan bagian khusus dari sistem file tempat mereka dapat menulis data pribadi, termasuk database dan file mentah.

Aplikasi Android memperluas sistem operasi inti Android. Ada dua sumber utama untuk aplikasi:

  • Aplikasi prainstal: Android menyertakan serangkaian aplikasi prainstal termasuk telepon, email, kalender, browser web, dan kontak. Ini berfungsi sebagai aplikasi pengguna dan menyediakan kemampuan perangkat utama yang dapat diakses oleh aplikasi lain. Aplikasi prainstal mungkin merupakan bagian dari platform Android sumber terbuka, atau mungkin dikembangkan oleh produsen perangkat untuk perangkat tertentu.
  • Aplikasi yang dipasang 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 Sumber Terbuka Android (AOSP), layanan ini disertakan di banyak perangkat Android. Untuk informasi selengkapnya tentang beberapa layanan ini, lihat Tinjauan Tahun Keamanan Android 2018 .

Layanan keamanan utama Google adalah:

  • Google Play: Google Play adalah kumpulan layanan yang memungkinkan pengguna menemukan, memasang, dan membeli aplikasi dari perangkat Android atau web. Google Play memudahkan pengembang untuk menjangkau pengguna dan calon pelanggan Android. Google Play juga menyediakan tinjauan komunitas, verifikasi lisensi aplikasi, pemindaian keamanan aplikasi, dan layanan keamanan lainnya.
  • Pembaruan Android: Layanan pembaruan Android menghadirkan kemampuan baru dan pembaruan keamanan ke perangkat Android tertentu, termasuk pembaruan melalui web atau melalui udara (OTA).
  • Layanan aplikasi: Kerangka kerja yang memungkinkan aplikasi Android menggunakan kemampuan cloud seperti ( mencadangkan ) data dan pengaturan aplikasi serta perpesanan cloud-ke-perangkat ( C2DM ) untuk perpesanan push.
  • Verifikasi Aplikasi: Memperingatkan atau secara otomatis memblokir pemasangan aplikasi berbahaya, dan terus memindai aplikasi di perangkat, memperingatkan tentang atau menghapus aplikasi berbahaya .
  • SafetyNet: Sistem deteksi intrusi yang menjaga privasi untuk membantu pelacakan Google, memitigasi ancaman keamanan yang diketahui, dan mengidentifikasi ancaman keamanan baru.
  • Pengesahan SafetyNet: API pihak ketiga untuk menentukan apakah perangkat kompatibel dengan CTS. Pengesahan juga dapat mengidentifikasi aplikasi Android yang berkomunikasi dengan server aplikasi.
  • Pengelola Perangkat Android: Aplikasi web dan aplikasi Android untuk menemukan perangkat yang hilang atau dicuri.

Ikhtisar program keamanan

Komponen utama Program Keamanan Android meliputi:

  • Tinjauan desain: Proses keamanan Android dimulai pada awal siklus pengembangan dengan pembuatan model dan desain keamanan yang kaya dan dapat dikonfigurasi. Setiap fitur utama platform ditinjau oleh sumber daya teknik dan keamanan, dengan kontrol keamanan yang sesuai diintegrasikan ke dalam arsitektur sistem.
  • Pengujian penetrasi dan peninjauan kode: Selama pengembangan platform, komponen sumber terbuka dan buatan Android harus menjalani tinjauan keamanan yang ketat. Peninjauan ini dilakukan oleh Tim Keamanan Android, tim Teknik Keamanan Informasi Google, dan konsultan keamanan independen. Tujuan dari tinjauan ini adalah untuk mengidentifikasi kelemahan dan kemungkinan kerentanan jauh sebelum rilis besar, dan untuk mensimulasikan jenis analisis yang dilakukan oleh pakar keamanan eksternal pada saat rilis.
  • Tinjauan sumber terbuka dan komunitas: AOSP memungkinkan tinjauan keamanan luas oleh pihak mana pun yang berkepentingan. Android juga menggunakan teknologi sumber terbuka yang telah menjalani tinjauan keamanan eksternal yang signifikan, seperti kernel Linux. Google Play menyediakan forum bagi pengguna dan perusahaan untuk memberikan informasi tentang aplikasi tertentu secara langsung kepada pengguna.
  • Respons insiden: Bahkan dengan tindakan pencegahan ini, masalah keamanan mungkin terjadi setelah pengiriman, itulah sebabnya proyek Android telah menciptakan proses respons keamanan yang komprehensif. Anggota tim keamanan Android purna waktu memantau komunitas keamanan khusus Android dan komunitas keamanan umum untuk mendiskusikan potensi kerentanan dan meninjau bug keamanan yang dilaporkan pada database bug Android. Setelah ditemukannya masalah yang sah, tim Android memiliki proses respons yang memungkinkan mitigasi kerentanan secara cepat untuk memastikan potensi risiko terhadap semua pengguna Android diminimalkan. Respons yang didukung cloud ini dapat mencakup pembaruan platform Android (pembaruan AOSP), penghapusan aplikasi dari Google Play, dan penghapusan aplikasi dari perangkat di lapangan.
  • Pembaruan keamanan bulanan: Tim keamanan Android memberikan pembaruan bulanan ke perangkat Google Android dan semua mitra manufaktur perangkat kami.

Arsitektur keamanan platform

Android berupaya menjadi sistem operasi yang paling aman dan dapat digunakan untuk platform seluler dengan menggunakan kembali kontrol keamanan sistem operasi tradisional untuk:

  • Lindungi aplikasi dan data pengguna
  • Melindungi sumber daya 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
  • Komunikasi antarproses yang aman
  • Penandatanganan aplikasi
  • Izin yang ditentukan aplikasi dan diberikan pengguna
,

Android menggabungkan fitur keamanan terdepan di industri dan bekerja sama dengan pengembang dan pelaksana perangkat untuk menjaga platform dan ekosistem Android tetap aman. Model keamanan yang kuat sangat penting untuk memungkinkan ekosistem aplikasi dan perangkat yang kuat dibangun di atas dan di sekitar platform Android dan didukung oleh layanan cloud. Akibatnya, sepanjang siklus pengembangannya, Android tunduk pada program keamanan yang ketat.

Android dirancang untuk terbuka. Aplikasi Android menggunakan perangkat keras dan perangkat lunak canggih, serta data lokal dan data 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 dirancang dengan keamanan berlapis yang cukup fleksibel untuk mendukung platform terbuka sekaligus tetap melindungi semua pengguna platform. Untuk informasi tentang pelaporan masalah keamanan dan proses pembaruan, lihat Pembaruan dan Sumber Daya Keamanan .

Android dirancang untuk pengembang. Kontrol keamanan dirancang untuk mengurangi beban pengembang. Pengembang yang paham keamanan dapat dengan mudah bekerja dan mengandalkan kontrol keamanan yang fleksibel. Pengembang yang kurang memahami keamanan dilindungi oleh default yang aman.

Selain menyediakan platform yang stabil untuk dibangun, Android memberikan dukungan tambahan kepada pengembang dalam beberapa cara. Tim keamanan Android mencari potensi kerentanan dalam aplikasi dan menyarankan cara untuk memperbaiki masalah tersebut. Untuk perangkat dengan Google Play, Layanan Play memberikan pembaruan keamanan untuk pustaka perangkat lunak penting, seperti OpenSSL, yang digunakan untuk mengamankan komunikasi aplikasi. Keamanan Android merilis alat untuk menguji SSL ( nogotofail ) yang membantu pengembang menemukan potensi masalah keamanan pada platform apa pun yang mereka kembangkan.

Android juga memanfaatkan dukungan perangkat keras yang mendasarinya untuk keamanan. Misalnya, teknologi ARM TrustZone digunakan untuk menyediakan penyimpanan aman untuk kunci kriptografi serta pengesahan integritas boot. [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) digunakan untuk mengukur firmware yang dimuat sebelum mem-boot Android. Hal ini memungkinkan verifikasi jarak jauh bahwa firmware tidak terpengaruh oleh kerentanan kritis yang diketahui yang dapat dieksploitasi untuk merugikan pengembang dan pengguna.

Informasi lebih lanjut untuk pengembang aplikasi Android dapat ditemukan di developer.android.com .

Android dirancang untuk pengguna. Pengguna diberikan 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 rekayasa sosial untuk meyakinkan pengguna perangkat agar memasang malware, dan serangan terhadap aplikasi pihak ketiga di Android. Android dirancang untuk mengurangi kemungkinan serangan ini dan sangat membatasi dampak serangan jika berhasil. Keamanan Android terus mengalami kemajuan setelah perangkat berada di tangan pengguna. Android bekerja sama dengan mitra dan masyarakat untuk memberikan patch pada perangkat Android apa pun yang terus menerima pembaruan keamanan.

Informasi lebih lanjut 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 paling relevan untuk arsitek sistem dan analis keamanan. Panduan ini berfokus pada fitur keamanan platform inti Android dan tidak membahas masalah keamanan khusus untuk aplikasi tertentu, seperti yang terkait dengan browser atau aplikasi SMS.

Latar belakang

Android menyediakan platform sumber terbuka dan lingkungan aplikasi untuk perangkat seluler.

Bagian dan halaman di bawah menjelaskan fitur keamanan platform Android. Gambar 1 mengilustrasikan komponen keamanan dan pertimbangan berbagai tingkat tumpukan perangkat lunak Android. Setiap komponen mengasumsikan bahwa komponen di bawah ini diamankan dengan benar. Dengan pengecualian sejumlah kecil kode OS Android yang berjalan sebagai root, semua kode di atas kernel Linux dibatasi oleh Application Sandbox.

Gambar 1: tumpukan perangkat lunak Android

Gambar 1. Tumpukan perangkat lunak Android

Komponen utama platform Android adalah:

  • Perangkat keras perangkat: Android berjalan pada berbagai konfigurasi perangkat keras termasuk ponsel, tablet, jam tangan, mobil, smart TV, kotak permainan OTT, dan set-top-box. Android tidak bergantung pada prosesor, namun memanfaatkan beberapa kemampuan keamanan khusus perangkat keras seperti ARM eXecute-Never.
  • Sistem operasi Android: Sistem operasi inti dibangun di atas kernel Linux. Semua sumber daya perangkat, seperti fungsi kamera, data GPS, fungsi Bluetooth, fungsi telepon, dan koneksi jaringan diakses melalui sistem operasi.
  • Runtime Aplikasi Android: Aplikasi Android paling sering ditulis dalam bahasa pemrograman Java dan dijalankan di runtime Android (ART). Namun, banyak aplikasi, termasuk layanan dan aplikasi inti Android, merupakan aplikasi asli atau menyertakan pustaka asli. Aplikasi ART dan aplikasi asli berjalan dalam lingkungan keamanan yang sama, yang terdapat dalam Application Sandbox. Aplikasi mendapatkan bagian khusus dari sistem file tempat mereka dapat menulis data pribadi, termasuk database dan file mentah.

Aplikasi Android memperluas sistem operasi inti Android. Ada dua sumber utama untuk aplikasi:

  • Aplikasi prainstal: Android menyertakan serangkaian aplikasi prainstal termasuk telepon, email, kalender, browser web, dan kontak. Ini berfungsi sebagai aplikasi pengguna dan menyediakan kemampuan perangkat utama yang dapat diakses oleh aplikasi lain. Aplikasi prainstal mungkin merupakan bagian dari platform Android sumber terbuka, atau mungkin dikembangkan oleh produsen perangkat untuk perangkat tertentu.
  • Aplikasi yang dipasang 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 Sumber Terbuka Android (AOSP), layanan ini disertakan di banyak perangkat Android. Untuk informasi selengkapnya tentang beberapa layanan ini, lihat Tinjauan Tahun Keamanan Android 2018 .

Layanan keamanan utama Google adalah:

  • Google Play: Google Play adalah kumpulan layanan yang memungkinkan pengguna menemukan, memasang, dan membeli aplikasi dari perangkat Android atau web. Google Play memudahkan pengembang untuk menjangkau pengguna dan calon pelanggan Android. Google Play juga menyediakan tinjauan komunitas, verifikasi lisensi aplikasi, pemindaian keamanan aplikasi, dan layanan keamanan lainnya.
  • Pembaruan Android: Layanan pembaruan Android menghadirkan kemampuan baru dan pembaruan keamanan ke perangkat Android tertentu, termasuk pembaruan melalui web atau melalui udara (OTA).
  • Layanan aplikasi: Kerangka kerja yang memungkinkan aplikasi Android menggunakan kemampuan cloud seperti ( mencadangkan ) data dan pengaturan aplikasi serta perpesanan cloud-ke-perangkat ( C2DM ) untuk perpesanan push.
  • Verifikasi Aplikasi: Memperingatkan atau secara otomatis memblokir pemasangan aplikasi berbahaya, dan terus memindai aplikasi di perangkat, memperingatkan tentang atau menghapus aplikasi berbahaya .
  • SafetyNet: Sistem deteksi intrusi yang menjaga privasi untuk membantu pelacakan Google, memitigasi ancaman keamanan yang diketahui, dan mengidentifikasi ancaman keamanan baru.
  • Pengesahan SafetyNet: API pihak ketiga untuk menentukan apakah perangkat kompatibel dengan CTS. Pengesahan juga dapat mengidentifikasi aplikasi Android yang berkomunikasi dengan server aplikasi.
  • Pengelola Perangkat Android: Aplikasi web dan aplikasi Android untuk menemukan perangkat yang hilang atau dicuri.

Ikhtisar program keamanan

Komponen utama Program Keamanan Android meliputi:

  • Tinjauan desain: Proses keamanan Android dimulai pada awal siklus pengembangan dengan pembuatan model dan desain keamanan yang kaya dan dapat dikonfigurasi. Setiap fitur utama platform ditinjau oleh sumber daya teknik dan keamanan, dengan kontrol keamanan yang sesuai diintegrasikan ke dalam arsitektur sistem.
  • Pengujian penetrasi dan peninjauan kode: Selama pengembangan platform, komponen sumber terbuka dan buatan Android harus menjalani tinjauan keamanan yang ketat. Peninjauan ini dilakukan oleh Tim Keamanan Android, tim Teknik Keamanan Informasi Google, dan konsultan keamanan independen. Tujuan dari tinjauan ini adalah untuk mengidentifikasi kelemahan dan kemungkinan kerentanan jauh sebelum rilis besar, dan untuk mensimulasikan jenis analisis yang dilakukan oleh pakar keamanan eksternal pada saat rilis.
  • Tinjauan sumber terbuka dan komunitas: AOSP memungkinkan tinjauan keamanan luas oleh pihak mana pun yang berkepentingan. Android juga menggunakan teknologi sumber terbuka yang telah menjalani tinjauan keamanan eksternal yang signifikan, seperti kernel Linux. Google Play menyediakan forum bagi pengguna dan perusahaan untuk memberikan informasi tentang aplikasi tertentu secara langsung kepada pengguna.
  • Respons terhadap insiden: Bahkan dengan tindakan pencegahan ini, masalah keamanan mungkin terjadi setelah pengiriman, itulah sebabnya proyek Android telah menciptakan proses respons keamanan yang komprehensif. Anggota tim keamanan Android purna waktu memantau komunitas keamanan khusus Android dan komunitas keamanan umum untuk mendiskusikan potensi kerentanan dan meninjau bug keamanan yang dilaporkan pada database bug Android. Setelah ditemukannya masalah yang sah, tim Android memiliki proses respons yang memungkinkan mitigasi kerentanan secara cepat untuk memastikan potensi risiko terhadap semua pengguna Android diminimalkan. Respons yang didukung cloud ini dapat mencakup pembaruan platform Android (pembaruan AOSP), penghapusan aplikasi dari Google Play, dan penghapusan aplikasi dari perangkat di lapangan.
  • Pembaruan keamanan bulanan: Tim keamanan Android memberikan pembaruan bulanan ke perangkat Google Android dan semua mitra manufaktur perangkat kami.

Arsitektur keamanan platform

Android berupaya menjadi sistem operasi yang paling aman dan dapat digunakan untuk platform seluler dengan menggunakan kembali kontrol keamanan sistem operasi tradisional untuk:

  • Lindungi aplikasi dan data pengguna
  • Melindungi sumber daya 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
  • Komunikasi antarproses yang aman
  • Penandatanganan aplikasi
  • Izin yang ditentukan aplikasi dan diberikan pengguna