Google berkomitmen untuk memajukan ekuitas ras untuk komunitas kulit hitam. Lihat bagaimana.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Keamanan sistem dan kernel

Pada tingkat sistem operasi, platform Android menyediakan keamanan kernel Linux, serta fasilitas komunikasi antar proses yang aman (IPC) untuk memungkinkan komunikasi yang aman antara aplikasi yang berjalan dalam proses yang berbeda. Fitur keamanan ini di tingkat OS memastikan bahwa bahkan kode asli dibatasi oleh Aplikasi Sandbox. Apakah kode itu adalah hasil dari perilaku aplikasi yang disertakan atau eksploitasi kerentanan aplikasi, sistem dirancang untuk mencegah aplikasi jahat dari merusak aplikasi lain, sistem Android, atau perangkat itu sendiri. Lihat Konfigurasi Kernel untuk langkah-langkah yang dapat Anda lakukan untuk memperkuat kernel pada perangkat Anda. Lihat Dokumen Definisi Kompatibilitas Android (CDD) untuk pengaturan yang diperlukan.

Keamanan Linux

Landasan platform Android adalah kernel Linux. Kernel Linux telah digunakan secara luas selama bertahun-tahun, dan digunakan di jutaan lingkungan yang sensitif terhadap keamanan. Melalui sejarah terus-menerus diteliti, diserang, dan diperbaiki oleh ribuan pengembang, Linux telah menjadi kernel yang stabil dan aman dipercaya oleh banyak perusahaan dan profesional keamanan.

Sebagai dasar untuk lingkungan komputasi mobile, kernel Linux menyediakan Android dengan beberapa fitur keamanan utama, termasuk:

  • Model izin berbasis pengguna
  • Proses isolasi
  • Mekanisme yang dapat diperluas untuk IPC aman
  • Kemampuan untuk menghapus bagian kernel yang tidak perlu dan berpotensi tidak aman

Sebagai sistem operasi multi-pengguna, tujuan keamanan mendasar dari kernel Linux adalah untuk mengisolasi sumber daya pengguna satu sama lain. Filosofi keamanan Linux adalah untuk melindungi sumber daya pengguna dari satu sama lain. Jadi, Linux:

  • Mencegah pengguna A dari membaca file pengguna B.
  • Memastikan bahwa pengguna A tidak menghabiskan memori pengguna B
  • Memastikan bahwa pengguna A tidak menghabiskan sumber daya CPU pengguna B
  • Memastikan bahwa pengguna A tidak menghabiskan perangkat pengguna B (misalnya, telepon, GPS, dan Bluetooth)

Aplikasi Sandbox

Keamanan aplikasi Android diberlakukan oleh sandbox aplikasi, yang mengisolasi aplikasi dari satu sama lain dan melindungi aplikasi dan sistem dari aplikasi jahat. Untuk detail lebih lanjut, lihat Aplikasi Sandbox .

Partisi Sistem dan Mode Aman

Partisi sistem berisi kernel Android serta pustaka sistem operasi, runtime aplikasi, kerangka kerja aplikasi, dan aplikasi. Partisi ini diatur menjadi hanya-baca. Saat pengguna mem-boot perangkat ke Safe Mode, aplikasi pihak ketiga dapat diluncurkan secara manual oleh pemilik perangkat tetapi tidak diluncurkan secara default.

Izin Sistem File

Dalam lingkungan gaya UNIX, izin sistem file memastikan bahwa satu pengguna tidak dapat mengubah atau membaca file pengguna lain. Dalam kasus Android, setiap aplikasi berjalan sebagai penggunanya sendiri. Kecuali pengembang secara eksplisit berbagi file dengan aplikasi lain, file yang dibuat oleh satu aplikasi tidak dapat dibaca atau diubah oleh aplikasi lain.

Linux yang Ditingkatkan Keamanan

Android menggunakan Linux yang Ditingkatkan Keamanan (SELinux) untuk menerapkan kebijakan kontrol akses dan menetapkan kontrol akses wajib (mac) pada proses. Lihat Linux yang Ditingkatkan Keamanan di Android untuk detailnya.

Boot yang terverifikasi

Android 6.0 dan yang lebih baru mendukung boot yang diverifikasi dan verper-mapper-verity. Boot yang terverifikasi menjamin integritas perangkat lunak perangkat mulai dari akar kepercayaan perangkat keras hingga partisi sistem. Selama boot, setiap tahap secara kriptografis memverifikasi integritas dan keaslian dari tahap berikutnya sebelum menjalankannya.

Android 7.0 dan yang lebih baru mendukung boot yang diverifikasi secara ketat, yang berarti perangkat yang dikompromikan tidak dapat mem-boot.

Lihat Booting terverifikasi untuk detail lebih lanjut.

Kriptografi

Android menyediakan satu set API kriptografi untuk digunakan oleh aplikasi. Ini termasuk implementasi standar dan primitif kriptografi yang umum digunakan seperti AES, RSA, DSA, dan SHA. Selain itu, API disediakan untuk protokol tingkat yang lebih tinggi seperti SSL dan HTTPS.

Android 4.0 memperkenalkan kelas KeyChain untuk memungkinkan aplikasi menggunakan penyimpanan kredensial sistem untuk kunci pribadi dan rantai sertifikat.

Rooting Perangkat

Secara default, di Android hanya kernel dan sebagian kecil aplikasi inti yang dijalankan dengan izin root. Android tidak mencegah pengguna atau aplikasi dengan izin root dari memodifikasi sistem operasi, kernel, atau aplikasi lainnya. Secara umum, root memiliki akses penuh ke semua aplikasi dan semua data aplikasi. Pengguna yang mengubah izin pada perangkat Android untuk memberikan akses root ke aplikasi meningkatkan eksposur keamanan ke aplikasi berbahaya dan potensi kekurangan aplikasi.

Kemampuan untuk memodifikasi perangkat Android yang mereka miliki adalah penting bagi pengembang yang bekerja dengan platform Android. Pada banyak perangkat Android, pengguna memiliki kemampuan untuk membuka kunci bootloader untuk memungkinkan pemasangan sistem operasi alternatif. Sistem operasi alternatif ini memungkinkan pemilik untuk mendapatkan akses root untuk keperluan debugging aplikasi dan komponen sistem atau untuk mengakses fitur yang tidak disajikan ke aplikasi oleh Android API.

Pada beberapa perangkat, seseorang dengan kontrol fisik perangkat dan kabel USB dapat menginstal sistem operasi baru yang memberikan hak akses root kepada pengguna. Untuk melindungi data pengguna yang ada dari kompromi, mekanisme membuka bootloader mengharuskan bootloader menghapus semua data pengguna yang ada sebagai bagian dari langkah membuka kunci. Akses root yang diperoleh dengan mengeksploitasi bug kernel atau lubang keamanan dapat melewati perlindungan ini.

Mengenkripsi data dengan kunci yang disimpan di perangkat tidak melindungi data aplikasi dari pengguna root. Aplikasi dapat menambahkan lapisan perlindungan data menggunakan enkripsi dengan kunci yang tersimpan di luar perangkat, seperti pada server atau kata sandi pengguna. Pendekatan ini dapat memberikan perlindungan sementara saat kunci tidak ada, tetapi pada beberapa titik kunci tersebut harus disediakan untuk aplikasi dan kemudian menjadi dapat diakses oleh pengguna root.

Pendekatan yang lebih kuat untuk melindungi data dari pengguna root adalah melalui penggunaan solusi perangkat keras. OEM dapat memilih untuk mengimplementasikan solusi perangkat keras yang membatasi akses ke jenis konten tertentu seperti DRM untuk pemutaran video, atau penyimpanan tepercaya terkait NFC untuk Google wallet.

Dalam kasus perangkat yang hilang atau dicuri, enkripsi sistem file lengkap pada perangkat Android menggunakan kata sandi perangkat untuk melindungi kunci enkripsi, sehingga memodifikasi bootloader atau sistem operasi tidak cukup untuk mengakses data pengguna tanpa kata sandi perangkat pengguna.

Fitur Keamanan Pengguna

Enkripsi Sistem File

Android 3.0 dan yang lebih baru menyediakan enkripsi sistem file lengkap, sehingga semua data pengguna dapat dienkripsi dalam kernel.

Android 5.0 dan yang lebih baru mendukung enkripsi disk penuh . Enkripsi cakram penuh menggunakan kunci tunggal — dilindungi dengan kata sandi perangkat pengguna — untuk melindungi seluruh partisi data pengguna perangkat. Saat boot, pengguna harus memberikan kredensial mereka sebelum ada bagian dari disk yang dapat diakses.

Android 7.0 dan yang lebih baru mendukung enkripsi berbasis file . Enkripsi berbasis file memungkinkan file yang berbeda dienkripsi dengan kunci yang berbeda yang dapat dibuka secara mandiri.

Rincian lebih lanjut tentang implementasi enkripsi sistem file tersedia di bagian Enkripsi .

Perlindungan Kata Sandi

Android dapat dikonfigurasi untuk memverifikasi kata sandi yang diberikan pengguna sebelum memberikan akses ke perangkat. Selain mencegah penggunaan perangkat yang tidak sah, kata sandi ini melindungi kunci kriptografi untuk enkripsi sistem file lengkap.

Penggunaan kata sandi dan / atau aturan kompleksitas kata sandi dapat diminta oleh administrator perangkat.

Administrasi Perangkat

Android 2.2 dan yang lebih baru menyediakan API Administrasi Perangkat Android, yang menyediakan fitur administrasi perangkat pada level sistem. Misalnya, aplikasi Email Android bawaan menggunakan API untuk meningkatkan dukungan Exchange. Melalui aplikasi Email, administrator Exchange dapat memberlakukan kebijakan kata sandi - termasuk kata sandi alfanumerik atau PIN numerik - di seluruh perangkat. Administrator juga dapat menghapus dari jarak jauh (yaitu, mengembalikan default pabrik pada) handset yang hilang atau dicuri.

Selain digunakan dalam aplikasi yang disertakan dengan sistem Android, API ini tersedia untuk penyedia solusi Manajemen Perangkat pihak ketiga. Detail tentang API disediakan di Administrasi Perangkat .