Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
此页面由 Cloud Translation API 翻译。
Switch to English

Keamanan sistem dan kernel

Di tingkat sistem operasi, platform Android menyediakan keamanan kernel Linux, serta fasilitas komunikasi antar-proses (IPC) yang aman untuk memungkinkan komunikasi yang aman antar aplikasi yang berjalan dalam berbagai proses. Fitur keamanan di tingkat OS ini memastikan bahwa kode asli sekalipun dibatasi oleh Application Sandbox. Baik kode tersebut merupakan hasil dari perilaku aplikasi yang disertakan atau eksploitasi kerentanan aplikasi, sistem dirancang untuk mencegah aplikasi penipu merusak aplikasi lain, sistem Android, atau perangkat itu sendiri. Lihat Konfigurasi Kernel untuk mengetahui langkah-langkah yang dapat Anda lakukan untuk memperkuat kernel pada perangkat Anda. Lihat Dokumen Definisi Kompatibilitas Android (CDD) untuk pengaturan yang diperlukan.

Keamanan Linux

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

Sebagai basis untuk lingkungan komputasi seluler, 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 multipengguna, tujuan keamanan mendasar dari kernel Linux adalah untuk mengisolasi sumber daya pengguna satu sama lain. Filosofi keamanan Linux adalah melindungi sumber daya pengguna satu sama lain. Jadi, Linux:

  • Mencegah pengguna A 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)

Kotak Pasir Aplikasi

Keamanan aplikasi Android diberlakukan oleh kotak pasir aplikasi, yang mengisolasi aplikasi dari satu sama lain dan melindungi aplikasi dan sistem dari aplikasi berbahaya. Untuk lebih jelasnya, lihat Application Sandbox .

Partisi Sistem dan Safe Mode

Partisi sistem berisi kernel Android serta pustaka sistem operasi, runtime aplikasi, kerangka aplikasi, dan aplikasi. Partisi ini disetel ke 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 jika pengembang secara eksplisit membagikan file dengan aplikasi lain, file yang dibuat oleh satu aplikasi tidak dapat dibaca atau diubah oleh aplikasi lain.

Linux yang Ditingkatkan Keamanan

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

Boot terverifikasi

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

Android 7.0 dan yang lebih baru mendukung booting terverifikasi yang diberlakukan secara ketat, yang berarti perangkat yang disusupi tidak dapat melakukan booting.

Lihat Boot terverifikasi untuk lebih jelasnya.

Kriptografi

Android menyediakan satu set API kriptografi untuk digunakan oleh aplikasi. Ini termasuk implementasi primitif kriptografi standar dan 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 mengizinkan 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 untuk 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 penting bagi pengembang yang bekerja dengan platform Android. Di banyak perangkat Android, pengguna memiliki kemampuan untuk membuka kunci bootloader untuk memungkinkan penginstalan 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, orang yang memiliki kontrol fisik atas perangkat dan kabel USB dapat menginstal sistem operasi baru yang memberikan hak akses root kepada pengguna. Untuk melindungi data pengguna yang ada dari gangguan, mekanisme buka kunci bootloader mengharuskan bootloader menghapus semua data pengguna yang ada sebagai bagian dari langkah buka kunci. Akses root yang diperoleh dengan mengeksploitasi bug kernel atau celah 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 disimpan di luar perangkat, seperti di server atau kata sandi pengguna. Pendekatan ini dapat memberikan perlindungan sementara saat kunci tidak ada, tetapi pada titik tertentu kunci harus diberikan ke aplikasi dan kemudian 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 menerapkan solusi perangkat keras yang membatasi akses ke jenis konten tertentu seperti DRM untuk pemutaran video, atau penyimpanan tepercaya terkait NFC untuk dompet Google.

Dalam kasus perangkat yang hilang atau dicuri, enkripsi sistem file lengkap pada perangkat Android menggunakan kata sandi perangkat untuk melindungi kunci enkripsi, jadi 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 di kernel.

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

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

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 untuk mencegah penggunaan perangkat yang tidak sah, sandi ini melindungi kunci kriptografik untuk enkripsi sistem file lengkap.

Penggunaan kata sandi dan / atau aturan kerumitan 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 di tingkat sistem. Misalnya, aplikasi Email Android bawaan menggunakan API untuk meningkatkan dukungan Exchange. Melalui aplikasi Email, administrator Exchange dapat memberlakukan kebijakan sandi - termasuk 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 Pengelolaan Perangkat pihak ketiga. Detail tentang API disediakan di Administrasi Perangkat .