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

Pembaruan dan Sumber Daya Keamanan

Tim keamanan Android bertanggung jawab untuk mengelola kerentanan keamanan yang ditemukan di platform Android dan banyak aplikasi Android inti yang dipaketkan dengan perangkat Android.

Tim keamanan Android menemukan kerentanan keamanan melalui penelitian internal dan juga menanggapi bug yang dilaporkan oleh pihak ketiga. Sumber bug eksternal mencakup masalah yang dilaporkan melalui template Masalah Keamanan Android , penelitian akademis yang diterbitkan dan dipublikasi sebelumnya, pengelola proyek sumber terbuka hulu, pemberitahuan dari mitra produsen perangkat kami, dan masalah yang diungkapkan secara publik yang diposting di blog atau media sosial.

Melaporkan masalah keamanan

Setiap pengembang, pengguna Android, atau peneliti keamanan dapat memberi tahu tim keamanan Android tentang potensi masalah keamanan melalui formulir pelaporan kerentanan keamanan .

Bug yang ditandai sebagai masalah keamanan tidak terlihat secara eksternal, tetapi pada akhirnya dapat terlihat setelah masalah dievaluasi atau diselesaikan. Jika Anda berencana mengirimkan tes patch atau Compatibility Test Suite (CTS) untuk menyelesaikan masalah keamanan, harap lampirkan ke laporan bug dan tunggu tanggapan sebelum mengupload kode ke AOSP.

Bug triaging

Tugas pertama dalam menangani kerentanan keamanan adalah mengidentifikasi tingkat keparahan bug dan komponen Android mana yang terpengaruh. Tingkat keparahan menentukan bagaimana masalah diprioritaskan, dan komponen menentukan siapa yang memperbaiki bug, siapa yang diberi tahu, dan bagaimana perbaikan diterapkan ke pengguna.

Jenis proses

Tabel ini mencakup definisi jenis proses. Jenis proses dapat ditentukan oleh jenis aplikasi atau proses atau area di mana ia berjalan. Tabel ini diurutkan dari yang paling sedikit hingga yang paling berhak.

Jenis proses Jenis definisi
Proses terbatas Proses yang berjalan dalam domain SELinux yang sangat terbatas.
ATAU
Proses yang jauh lebih terbatas daripada aplikasi normal.
Proses tidak berhak Aplikasi atau proses yang berjalan di domain SELinux dengan atribut untrusted_app_all , atau sama-sama dibatasi.
Proses istimewa Aplikasi atau proses dengan kemampuan yang akan dilarang oleh domain SELinux untrusted_app .
ATAU
Aplikasi atau proses dengan hak istimewa penting yang tidak dapat diperoleh oleh aplikasi pihak ketiga.
ATAU
Komponen perangkat keras bawaan pada perangkat yang bukan bagian dari basis komputasi tepercaya (TCB).
Basis komputasi tepercaya (TCB) Fungsionalitas yang merupakan bagian dari kernel, berjalan dalam konteks CPU yang sama dengan kernel (seperti driver perangkat), memiliki akses langsung ke memori kernel (seperti komponen perangkat keras pada perangkat), memiliki kemampuan untuk memuat skrip ke dalam komponen kernel ( misalnya, eBPF), Baseband Processor, atau salah satu dari beberapa layanan pengguna yang dianggap setara kernel: init , ueventd , dan vold .
Bootloader Komponen yang mengonfigurasi perangkat saat boot dan kemudian meneruskan kontrol ke OS Android.
Lingkungan Eksekusi Tepercaya (TEE) Komponen yang dirancang untuk dilindungi bahkan dari kernel yang tidak bersahabat (misalnya, TrustZone dan Hypervisor).
Elemen aman (SE) Komponen opsional yang dirancang untuk dilindungi dari semua komponen lain pada perangkat dan dari serangan fisik, seperti yang didefinisikan dalam Pengantar Elemen Aman .

Kerasnya

Tingkat keparahan bug umumnya mencerminkan potensi kerusakan yang dapat terjadi jika bug berhasil dieksploitasi. Gunakan kriteria berikut untuk menentukan tingkat keparahan.

Peringkat Konsekuensi eksploitasi yang berhasil
Kritis
  • Akses tidak sah ke data yang diamankan oleh SE
  • Eksekusi kode arbitrer di TEE atau SE
  • Eksekusi kode arbitrer jarak jauh dalam proses istimewa, bootloader, atau TCB
  • Penolakan layanan permanen jarak jauh (perangkat tidak dapat beroperasi: sepenuhnya permanen atau memerlukan pemantulan ulang seluruh sistem operasi atau reset pabrik)
  • Bypass jarak jauh persyaratan interaksi pengguna pada penginstalan paket atau perilaku yang setara
  • Bypass jarak jauh dari persyaratan interaksi pengguna untuk setiap pengembang, keamanan, atau pengaturan privasi
  • Bypass boot aman jarak jauh
  • Bypass mekanisme keselamatan yang dirancang untuk mencegah komponen perangkat keras kritis dari kerusakan (misalnya, perlindungan termal)
Tinggi
  • Bypass boot aman lokal
  • Bypass lengkap dari fitur keamanan inti (seperti SELinux, FDE, atau seccomp)
  • Eksekusi kode arbitrer jarak jauh dalam proses tanpa hak istimewa
  • Eksekusi kode arbitrer lokal dalam proses dengan hak istimewa, bootloader, atau TCB
  • Akses tidak sah ke data yang diamankan oleh TEE
  • Serangan terhadap SE yang mengakibatkan penurunan versi ke implementasi yang kurang aman
  • Bypass lokal persyaratan interaksi pengguna pada penginstalan paket atau perilaku yang setara
  • Akses jarak jauh ke data yang dilindungi (data yang dibatasi untuk proses yang memiliki hak istimewa)
  • Penolakan layanan permanen lokal (perangkat tidak dapat beroperasi: permanen atau memerlukan pemantulan ulang seluruh sistem operasi atau pengaturan ulang pabrik)
  • Bypass jarak jauh persyaratan interaksi pengguna (akses ke fungsionalitas atau data yang biasanya memerlukan inisiasi pengguna atau izin pengguna)
  • Mengirimkan informasi sensitif melalui protokol jaringan yang tidak aman (misalnya, HTTP dan Bluetooth yang tidak terenkripsi) saat pemohon mengharapkan transmisi yang aman (perhatikan bahwa ini tidak berlaku untuk enkripsi Wi-Fi, seperti WEP)
  • Bypass umum untuk pertahanan mendalam atau memanfaatkan teknologi mitigasi di bootloader, TEE, atau SE
  • Pengabaian umum untuk perlindungan sistem operasi yang mengisolasi data aplikasi atau profil pengguna satu sama lain
  • Pemintas lokal dari persyaratan interaksi pengguna untuk pengembang, keamanan, atau pengaturan privasi apa pun
  • Kerentanan kriptografi dalam keamanan lapisan transportasi standar (TLS) yang memungkinkan serangan di jalur
  • Bypass layar kunci
  • Lewati perlindungan perangkat / perlindungan reset pabrik / pembatasan operator
  • Pencegahan terarah dari akses ke layanan darurat
  • Lewati persyaratan interaksi pengguna yang diamankan oleh TEE
Moderat
  • Eksekusi kode arbitrer jarak jauh dalam proses terbatas
  • Penolakan layanan perangkat sementara jarak jauh (hang atau reboot jarak jauh)
  • Eksekusi kode arbitrer lokal dalam proses tanpa hak istimewa
  • Jalan pintas umum untuk pertahanan mendalam atau memanfaatkan teknologi mitigasi dalam proses istimewa atau TCB
  • Lewati batasan pada proses yang dibatasi
  • Akses jarak jauh ke data yang tidak dilindungi (data biasanya dapat diakses oleh aplikasi yang diinstal secara lokal)
  • Akses lokal ke data yang dilindungi (data yang dibatasi untuk proses yang memiliki hak istimewa)
  • Pemintas lokal dari persyaratan interaksi pengguna (akses ke fungsionalitas atau data yang biasanya memerlukan inisiasi pengguna atau izin pengguna)
  • Kerentanan kriptografi dalam primitif kripto standar yang memungkinkan bocornya teks biasa (bukan primitif yang digunakan di TLS)
  • Melewati enkripsi atau otentikasi Wi-Fi
Rendah
  • Eksekusi kode arbitrer lokal dalam proses terbatas
  • Kerentanan kriptografi dalam penggunaan non-standar
  • Sebuah jalan pintas umum untuk pertahanan tingkat pengguna secara mendalam atau memanfaatkan teknologi mitigasi dalam proses yang tidak memiliki hak istimewa
Dampak Keamanan yang Dapat Diabaikan (NSI)
  • Kerentanan yang dampaknya telah dikurangi oleh satu atau beberapa pengubah peringkat atau perubahan arsitektur khusus versi sedemikian rupa sehingga tingkat keparahan efektifnya di bawah Rendah, meskipun masalah kode yang mendasarinya mungkin tetap ada
  • Kerentanan apa pun yang membutuhkan sistem file cacat, jika sistem file itu selalu diadopsi / dienkripsi sebelum digunakan.

Pengubah peringkat

Meskipun tingkat keparahan kerentanan keamanan sering kali mudah diidentifikasi, peringkat dapat berubah berdasarkan keadaan.

Alasan Efek
Membutuhkan berjalan sebagai proses yang memiliki hak istimewa untuk menjalankan serangan -1 Keparahan
Detail spesifik kerentanan membatasi dampak masalah -1 Keparahan
Bypass otentikasi biometrik yang memerlukan informasi biometrik langsung dari pemilik perangkat -1 Keparahan
Konfigurasi kompiler atau platform mengurangi kerentanan dalam kode sumber Tingkat Keparahan Sedang jika kerentanan yang mendasarinya Sedang atau lebih tinggi
Membutuhkan akses fisik ke internal perangkat dan masih memungkinkan jika ponsel mati atau belum dibuka kuncinya sejak dihidupkan -1 Keparahan
Memerlukan akses fisik ke internal perangkat saat ponsel aktif dan sebelumnya telah dibuka kuncinya -2 Keparahan
Serangan lokal yang mengharuskan bootloader dibuka kuncinya Tidak lebih tinggi dari Rendah
Serangan lokal yang memerlukan Mode Pengembang atau pengaturan mode pengembang persisten apa pun untuk saat ini diaktifkan di perangkat (dan bukan bug dalam Mode Pengembang itu sendiri). Tidak lebih tinggi dari Rendah
Jika tidak ada domain SELinux yang dapat melakukan operasi di bawah SEPolicy yang disediakan Google Dampak Keamanan Dapat Diabaikan

Lokal versus Proksimal versus Jarak Jauh

Vektor serangan jarak jauh menunjukkan bahwa bug dapat dieksploitasi tanpa memasang aplikasi atau tanpa akses fisik ke perangkat. Ini termasuk bug yang dapat dipicu dengan menjelajahi halaman web, membaca email, menerima pesan SMS, atau menghubungkan ke jaringan yang tidak bersahabat. Untuk tujuan peringkat tingkat keparahan kami, tim keamanan Android juga menganggap vektor serangan "proksimal" sebagai jarak jauh. Ini termasuk bug yang hanya dapat dieksploitasi oleh penyerang yang secara fisik berada di dekat perangkat target, misalnya, bug yang memerlukan pengiriman paket Wi-Fi atau Bluetooth yang rusak. Tim keamanan Android menganggap serangan berbasis NFC sebagai proksimal dan oleh karena itu jauh.

Serangan lokal mengharuskan korban untuk menjalankan aplikasi, baik dengan menginstal dan menjalankan aplikasi atau dengan menyetujui untuk menjalankan Aplikasi Instan . Untuk tujuan peringkat tingkat keparahan, tim keamanan Android juga menganggap vektor serangan fisik bersifat lokal. Ini termasuk bug yang hanya dapat dieksploitasi oleh penyerang yang memiliki akses fisik ke perangkat, misalnya bug di layar kunci atau yang memerlukan mencolokkan kabel USB. Perhatikan bahwa serangan yang memerlukan koneksi USB memiliki tingkat keparahan yang sama terlepas dari apakah perangkat perlu dibuka kuncinya atau tidak; Biasanya perangkat tidak terkunci saat dicolokkan ke USB.

Keamanan Wi-Fi

Android mengasumsikan bahwa semua jaringan tidak bersahabat dan dapat menyuntikkan serangan atau memata-matai lalu lintas. Sementara keamanan lapisan tautan (misalnya, enkripsi Wi-Fi) mengamankan komunikasi antara perangkat dan Titik Akses Wi-Fi yang terhubung dengannya, itu tidak melakukan apa pun untuk mengamankan tautan yang tersisa dalam rantai antara perangkat dan server yang berkomunikasi dengannya. .

Sebaliknya, HTTPS biasanya melindungi seluruh komunikasi ujung ke ujung, mengenkripsi data pada sumbernya, kemudian mendekripsi dan memverifikasinya hanya setelah mencapai tujuan akhirnya. Karena itu, kerentanan yang membahayakan keamanan Wi-Fi dinilai tidak separah kerentanan di HTTPS / TLS: Enkripsi Wi-Fi saja tidak cukup untuk sebagian besar komunikasi di internet.

Otentikasi biometrik

Otentikasi biometrik adalah ruang yang menantang, dan bahkan sistem terbaik pun dapat tertipu oleh kecocokan yang hampir sama. Peringkat tingkat keparahan ini membedakan antara dua kelas serangan dan dimaksudkan untuk mencerminkan risiko sebenarnya bagi pengguna akhir.

Kelas serangan pertama memungkinkan melewati otentikasi biometrik dengan cara yang dapat digeneralisasikan, tanpa data biometrik berkualitas tinggi dari pemiliknya. Jika, misalnya, penyerang dapat menempatkan sepotong permen karet pada sensor sidik jari, dan memberikan akses ke perangkat berdasarkan residu yang tertinggal pada sensor, itu adalah serangan sederhana yang dapat dilakukan pada perangkat yang rentan. Itu tidak membutuhkan pengetahuan apa pun dari pemilik perangkat. Mengingat bahwa itu dapat digeneralisasikan dan berpotensi memengaruhi sejumlah besar pengguna, serangan ini menerima peringkat tingkat keparahan penuh (misalnya, Tinggi, untuk bypass Layar Kunci).

Kelas serangan lainnya umumnya melibatkan instrumen serangan presentasi (spoof) berdasarkan pemilik perangkat. Terkadang informasi biometrik ini relatif mudah didapat (misalnya, jika gambar profil seseorang di media sosial cukup untuk mengelabui autentikasi biometrik, maka bypass biometrik akan menerima peringkat tingkat keparahan penuh). Tetapi jika penyerang perlu mendapatkan data biometrik langsung dari pemilik perangkat (misalnya, pemindaian inframerah pada wajah mereka), itu adalah penghalang yang cukup signifikan sehingga membatasi jumlah orang yang terpengaruh oleh serangan tersebut, jadi ada pengubah -1 .

Komponen yang terpengaruh

Tim pengembangan yang bertanggung jawab untuk memperbaiki bug bergantung pada komponen tempat bug tersebut berada. Ini bisa berupa komponen inti dari platform Android, driver kernel yang disediakan oleh produsen peralatan asli (OEM), atau salah satu aplikasi yang dimuat sebelumnya di perangkat Pixel .

Bug dalam kode AOSP diperbaiki oleh tim teknik Android. Bug dengan tingkat keparahan rendah, bug di komponen tertentu, atau bug yang sudah diketahui publik dapat diperbaiki langsung di cabang master AOSP yang tersedia untuk umum; jika tidak, mereka diperbaiki di repositori internal kami terlebih dahulu.

Komponen tersebut juga menjadi faktor bagaimana pengguna mendapatkan pembaruan. Bug dalam kerangka kerja atau kernel memerlukan pembaruan firmware over-the-air (OTA) yang perlu didorong oleh setiap OEM. Bug dalam aplikasi atau perpustakaan yang diterbitkan di Google Play (misalnya, Gmail, Layanan Google Play, atau WebView) dapat dikirim ke pengguna Android sebagai pembaruan dari Google Play.

Memberi tahu mitra

Jika kerentanan keamanan di AOSP diperbaiki di Android Security Bulletin, kami akan memberi tahu partner Android tentang detail masalah dan memberikan patch. Daftar versi yang didukung backport berubah dengan setiap rilis Android baru. Hubungi produsen perangkat Anda untuk daftar perangkat yang didukung.

Merilis kode ke AOSP

Jika bug keamanan ada dalam komponen AOSP, perbaikan dikirim ke AOSP setelah OTA dirilis ke pengguna. Perbaikan untuk masalah dengan tingkat keparahan rendah dapat dikirimkan langsung ke cabang master AOSP sebelum perbaikan tersedia untuk perangkat melalui OTA.

Menerima pembaruan Android

Pembaruan pada sistem Android umumnya dikirimkan ke perangkat melalui paket pembaruan OTA. Pembaruan ini mungkin berasal dari OEM yang memproduksi perangkat atau operator yang menyediakan layanan ke perangkat. Pembaruan perangkat Google Pixel berasal dari tim Google Pixel setelah melalui prosedur pengujian penerimaan teknis operator (TA). Google juga menerbitkan gambar pabrik Pixel yang dapat dimuat samping ke perangkat.

Memperbarui layanan Google

Selain menyediakan tambalan untuk bug keamanan, tim keamanan Android meninjau bug keamanan untuk menentukan apakah ada cara lain untuk melindungi pengguna. Misalnya, Google Play memindai semua aplikasi dan menghapus aplikasi apa pun yang mencoba mengeksploitasi bug keamanan. Untuk aplikasi yang dipasang dari luar Google Play, perangkat dengan Layanan Google Play juga dapat menggunakan fitur Verifikasi Aplikasi untuk memperingatkan pengguna tentang aplikasi yang mungkin berbahaya.

Sumber daya lainnya

Informasi untuk pengembang aplikasi Android: https://developer.android.com

Informasi keamanan ada di seluruh Android Open Source dan situs Pengembang. Tempat yang bagus untuk memulai:

Laporan

Terkadang tim Keamanan Android menerbitkan laporan atau whitepaper. Lihat Laporan Keamanan untuk lebih jelasnya.