Mengamankan perangkat Android

Android menggabungkan fitur keamanan terkemuka di industri dan bekerja sama dengan developer dan pengimplementasi perangkat untuk menjaga keamanan platform dan ekosistem Android. Model keamanan yang andal sangat penting untuk memungkinkan ekosistem aplikasi dan perangkat yang kuat yang dibuat di dan di sekitar platform Android serta didukung oleh layanan cloud. Akibatnya, selama seluruh siklus proses pengembangannya, Android telah menjalani program keamanan yang ketat.

Android dirancang untuk bersifat terbuka. Aplikasi Android menggunakan hardware dan software canggih, serta data lokal dan yang ditayangkan, yang ditampilkan melalui platform untuk menghadirkan inovasi dan nilai kepada konsumen. Untuk mewujudkan nilai tersebut, platform menawarkan lingkungan aplikasi yang melindungi kerahasiaan, integritas, dan ketersediaan pengguna, data, aplikasi, perangkat, dan jaringan.

Untuk mengamankan platform terbuka, Anda 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 cara melaporkan 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 mahir dalam keamanan akan dilindungi oleh pengamanan default.

Selain menyediakan platform yang stabil untuk di-build, Android memberikan dukungan tambahan kepada developer dengan sejumlah cara. Tim keamanan Android mencari potensi kerentanan dalam aplikasi dan menyarankan cara untuk memperbaiki masalah tersebut. Untuk perangkat dengan Google Play, Layanan Play mengirimkan update keamanan untuk library software penting, seperti OpenSSL, yang digunakan untuk mengamankan komunikasi aplikasi. Keamanan Android merilis alat untuk menguji SSL (nogotofail) yang membantu developer menemukan potensi masalah keamanan di platform apa pun yang mereka kembangkan.

Android juga memanfaatkan dukungan hardware yang mendasarinya untuk keamanan. Misalnya, teknologi ARM TrustZone digunakan untuk menyediakan penyimpanan aman bagi kunci kriptografis serta pengesahan integritas booting. DICE digunakan untuk mengukur firmware yang dimuat sebelum mem-booting Android. Hal ini memungkinkan verifikasi jarak jauh bahwa firmware tidak terpengaruh oleh kerentanan kritis yang diketahui dan dapat dieksploitasi untuk membahayakan developer dan pengguna.

Informasi selengkapnya untuk developer aplikasi Android dapat ditemukan di developer.android.com.

Android dirancang untuk pengguna. Pengguna diberi visibilitas ke 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 terhadap aplikasi pihak ketiga di Android. Android dirancang untuk mengurangi kemungkinan serangan ini dan sangat membatasi dampak serangan jika berhasil. Keamanan Android terus berkembang setelah perangkat berada di tangan pengguna. Android bekerja sama dengan partner dan publik untuk menyediakan patch bagi perangkat Android apa pun 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 sasaran 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 unik 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 bawah diamankan dengan benar. Dengan pengecualian sejumlah kecil kode Android OS yang berjalan sebagai root, semua kode di atas kernel Linux dibatasi oleh Sandbox Aplikasi.

Gambar 1: Stack software Android

Gambar 1. Stack 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 ARM eXecute-Never.
  • Sistem operasi Android: Sistem operasi inti dibuat 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 paling sering ditulis dalam bahasa pemrograman Java dan berjalan di runtime Android (ART). Namun, banyak aplikasi, termasuk layanan dan aplikasi Android inti, adalah aplikasi native atau menyertakan library native. ART dan aplikasi native berjalan dalam lingkungan keamanan yang sama, yang terdapat dalam Sandbox Aplikasi. Aplikasi mendapatkan bagian khusus dari sistem file tempat aplikasi 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 bawaan 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 apa 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 informasi selengkapnya tentang beberapa layanan ini, lihat Rekap Tahun 2018 Keamanan Android.

Layanan keamanan Google utama 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 peninjauan komunitas, verifikasi lisensi aplikasi, pemindaian keamanan aplikasi, dan layanan keamanan lainnya.
  • Update Android: Layanan update Android memberikan kemampuan baru dan update keamanan 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 cloud-to-device (C2DM) untuk pesan push.
  • Verifikasi Aplikasi: Memberi peringatan atau otomatis memblokir penginstalan aplikasi berbahaya, dan terus memindai aplikasi di perangkat, memperingatkan 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.
  • 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: Aplikasi web dan aplikasi Android untuk menemukan perangkat yang hilang atau dicuri.

Ringkasan program keamanan

Komponen utama Android Security Program mencakup:

  • Peninjauan desain: Proses keamanan Android dimulai sejak awal siklus proses pengembangan dengan pembuatan model dan desain keamanan yang kaya dan dapat dikonfigurasi. Setiap fitur utama platform ditinjau oleh resource keamanan dan engineer, dengan kontrol keamanan yang sesuai yang terintegrasi ke dalam arsitektur sistem.
  • Pengujian penetrasi dan peninjauan kode: Selama pengembangan platform, komponen open source dan yang dibuat Android akan dikenai peninjauan keamanan yang ketat. Peninjauan ini dilakukan oleh Tim Android Security, tim Information Security Engineering 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 berminat. 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 khusus Android dan umum untuk membahas potensi kerentanan dan meninjau bug keamanan yang diajukan di database bug Android. Setelah menemukan masalah yang sah, tim Android memiliki proses respons yang memungkinkan mitigasi kerentanan yang cepat untuk memastikan bahwa potensi risiko bagi semua pengguna Android diminimalkan. Respons yang didukung cloud ini dapat mencakup mengupdate platform Android (update AOSP), menghapus aplikasi dari Google Play, dan menghapus aplikasi dari perangkat di lapangan.
  • Update keamanan bulanan: Tim keamanan Android menyediakan update bulanan ke perangkat Android Google dan semua partner pembuatan 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:

  • Melindungi data aplikasi dan pengguna
  • Melindungi resource sistem (termasuk jaringan)
  • Memberikan isolasi aplikasi dari sistem, aplikasi lain, dan dari pengguna

Untuk mencapai tujuan ini, Android menyediakan fitur keamanan utama berikut:

  • Keamanan yang andal 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