Android Q: Semua fitur keamanan dan privasi baru hadir di Android 10

Di Google I/O, kami mempelajari peningkatan yang dibawa Android Q. Fitur dan peningkatan keamanan dan privasi baru ada di seluruh OS Android baru.

Setiap versi baru OS Android menghadirkan peningkatan pada hampir setiap aspek mulai dari desain, fitur, API, dan banyak lagi. Di Google I/O awal bulan ini kami mempelajari semuanya peningkatan yang dilakukan Android Q akan dibawa, dan tentu saja, pengumuman privasi dan keamanan baru juga tidak ketinggalan dalam konferensi tersebut. Keamanan platform adalah salah satu aspek terpenting dari sebuah OS, terutama untuk OS yang kita bawa kemana-mana di saku kita. Jika Android tidak aman, kami tidak akan mempercayainya dengan jumlah fungsi yang hanya setengah dari yang kami miliki. Pembayaran NFC tidak mungkin dilakukan, berbagi file akan menjadi hal yang meragukan, dan menghubungkan ke perangkat lain akan menjadi hal yang benar-benar gila. Terlepas dari masalah fragmentasi versi yang sudah berlangsung lama, Google telah berupaya dengan sangat baik untuk meminimalkan masalah keamanan.

Android telah berkembang menjadi OS yang kaya fitur dan sangat aman. Namun tentu saja selalu ada ruang untuk perbaikan. Ada banyak faktor yang berkontribusi terhadap keamanan ini, dan beberapa di antaranya ditingkatkan dengan Android Q.


Enkripsi

Sebagai salah satu metode keamanan paling dasar, setiap perangkat harus mendukung enkripsi yang kuat. Banyak OEM saat ini mengirimkan perangkat mereka dengan perangkat keras enkripsi khusus. Meskipun bermanfaat, namun juga mahal. Oleh karena itu, perangkat keras khusus biasanya dibatasi untuk perangkat tingkat menengah hingga tinggi. Ini bukan untuk mengatakan bahwa perangkat kelas bawah tidak bisa mendukung enkripsi, namun tanpa enkripsi yang dipercepat perangkat keras, pengalaman pengguna secara keseluruhan akan menurun karena waktu baca/tulis yang lambat. Di situlah peran Adiantum.

gadis gadis

Pada bulan Februari, Google mengumumkan Adiantum sebagai alternatif algoritma enkripsi untuk ponsel kelas bawah yang tidak mendukung set instruksi AES reguler. Adiantum dirancang khusus untuk berjalan tanpa perangkat keras khusus. Ini berfungsi sebagai alternatif yang lebih ringan dibandingkan enkripsi AES reguler Android. Tolok ukur Google beri tahu kami bahwa ini sebenarnya 5x lebih cepat daripada AES, dengan kelemahannya adalah sedikit kompromi pada keamanan. Hal ini menjadikannya kandidat ideal untuk ponsel kelas bawah, seperti yang didukung oleh Android Go Edition. Adiantum juga ditujukan untuk produk seperti jam tangan pintar dan berbagai perangkat Internet of Things.

Hingga saat ini, Adiantum bersifat opsional; produsen dapat mengaktifkannya pada perangkat yang diluncurkan dengan Android Pie, tetapi itu bukan algoritma enkripsi default. Kini, Adiantum disertakan secara asli sebagai bagian dari Android Q. Artinya, semua perangkat yang diluncurkan dengan Q akan diminta untuk mengenkripsi data pengguna, tanpa pengecualian. Alhasil, perangkat yang diluncurkan dengan Android Q dijamin memiliki enkripsi penyimpanan, baik melalui Adiantum atau tidak.

Perpustakaan Keamanan Jetpack

Jetpack adalah sekumpulan pustaka dukungan Android, dan salah satu tambahan terbaru dalam versi alfa: Pustaka Keamanan Jetpack. Pustaka menyederhanakan proses pengamanan aplikasi Anda dengan menangani hal-hal seperti pengelolaan penyimpanan kunci yang didukung perangkat keras serta pembuatan dan validasi kunci.

TLS 1.3

Namun, penyimpanan bukan satu-satunya area enkripsi yang ditingkatkan. Berkomunikasi dengan perangkat lain telah jauh lebih baik, dengan diperkenalkannya Dukungan TLS 1.3 secara default. TLS 1.3 adalah standar kriptografi jaringan terbaru, yang diselesaikan oleh IETF pada bulan Agustus 2018. TLS 1.3 memberikan lebih banyak privasi untuk pertukaran data dengan mengenkripsi lebih banyak jabat tangan negosiasi. Selain itu, ini lebih cepat dari TLS 1.2 karena seluruh perjalanan bolak-balik dikurangi dari jabat tangan pembuatan koneksi. Ditambah dengan algoritma modern yang lebih efisien, hal ini menghasilkan peningkatan kecepatan hingga 40%.

TLS 1.3 di Google Chrome. Sumber: Google.

TLS kini dapat diperbarui langsung dari Google Play karena merupakan bagian dari komponen "Conscrypt". Anda dapat membaca lebih lanjut tentang itu dan Project Mainline Di Sini.

Mengingat kami memercayai begitu banyak transaksi sensitif di perangkat kami setiap hari, TLS yang ditingkatkan menjadi lebih penting dari sebelumnya. Menyimpan boarding pass - dan bahkan SIM digital di masa depan - di Android berarti semua perangkat harus mengenkripsi data pengguna sebaik mungkin. Adiantum dan enkripsi paksa akan membuka jalan bagi data paling sensitif sekalipun untuk disimpan di perangkat termurah sekalipun. Namun enkripsi bukan satu-satunya cara Google meningkatkan keamanan Android pada rilis Q.


Perubahan Izin dan Privasi di Android Q

Penyimpanan Tercakup

Scoped Storage adalah perlindungan baru yang diterapkan untuk membatasi aplikasi membaca/menulis file di penyimpanan eksternal yang tidak terdapat dalam direktori khusus aplikasi yang di-sandbox. Sasaran Google ada tiga: atribusi yang lebih baik terhadap aplikasi mana yang memiliki kontrol atas file mana, perlindungan data aplikasi, dan perlindungan data pengguna.

Google menggandakan API MediaStore untuk berbagi konten audio, video, dan gambar. Secara default, semua aplikasi dapat menyisipkan, mengubah, atau menghapus filenya sendiri ke MediaStore. Gambar, MediaStore. Video, dan MediaStore. Koleksi audio tanpa memerlukan izin apa pun. Android Q juga menambahkan yang baru Toko Media. Unduhan koleksi untuk menyimpan konten yang diunduh pengguna, yang dapat dikontribusikan oleh semua aplikasi yang menggunakan API MediaStore. Meskipun file yang disimpan dalam direktori khusus aplikasi sandbox akan dihapus setelah penghapusan instalasi, semua file yang berkontribusi pada koleksi MediaStore tetap ada setelah penghapusan instalasi.

Untuk mengakses file apa pun yang dibuat oleh aplikasi lain—baik file tersebut berada di salah satu koleksi MediaStore atau di luar koleksi tersebut—aplikasi harus menggunakan Storage Access Framework. Selain itu, metadata gambar EXIF ​​akan disunting kecuali aplikasi Anda memiliki izin ACCESS_MEDIA_LOCATION baru yang diberikan. Di Android Q, aplikasi juga bisa mengontrol perangkat penyimpanan mana yang akan digunakan media dengan menanyakan nama volumenya menggunakan getExternalVolume().

Google awalnya memberlakukan pembatasan Scoped Storage pada semua aplikasi di Android Q terlepas dari level API targetnya, namun setelah mendapat masukan, perusahaan tersebut menerapkannya memberi pengembang lebih banyak waktu untuk melakukan penyesuaian. Detail selengkapnya tentang perubahan Scoped Storage dapat ditemukan di halaman ini, dan Anda dapat mengetahui lebih lanjut tentang rekomendasi Google mengenai praktik terbaik untuk penyimpanan bersama oleh menonton Google I/O ini bicara.

Peringatan untuk aplikasi yang menargetkan API level <23

Namun pembatasan izin tidak berakhir di situ. Memasang aplikasi yang menargetkan API level lebih rendah dari 23 (Android Lollipop atau lebih lama) akan menyebabkan OS menampilkan peringatan kepada pengguna jika aplikasi tersebut meminta izin sensitif saat pemasangan. Sebelum instalasi, pengguna akan memiliki kesempatan untuk menentukan secara manual izin mana yang ingin mereka berikan pada aplikasi sebelum melanjutkan. Oleh karena itu, Android Q tidak lagi mengizinkan aplikasi untuk mengakali izin waktu proses.

Seperti CopperheadOS, stok Android Q sekarang memungkinkan pengguna menonaktifkan semua izin berbahaya yang diminta sebelum menjalankan aplikasi untuk pertama kalinya. Ini hanya berlaku untuk aplikasi yang menargetkan API level 22 atau lebih rendah, yaitu sebelum izin runtime diperkenalkan (di Android Marshmallow.)

SYSTEM_ALERT_DEPRECATION akhirnya mendukung Bubbles API

Gelembung API beraksi. Sumber: Google.

Izin overlay (SYSTEM_ALERT_WINDOW) tidak dapat lagi diberikan untuk aplikasi yang berjalan pada Android Q (Go Edition). Untuk perangkat non-Go Edition, Google mendorong pengembang menuju Bubbles API baru. Bubbles API adalah fitur yang diperkenalkan pada Android Q Beta 2 yang memungkinkan fungsionalitas seperti kepala obrolan Facebook Messenger. Notifikasi dari aplikasi muncul dalam bentuk gelembung kecil di tepi layar, yang membesar saat diketuk oleh pengguna. Di dalam gelembung, aplikasi dapat menampilkan Aktivitas.

Perubahan ini diperlukan karena mengizinkan aplikasi untuk secara bebas menggambar overlay di atas aplikasi lain jelas menimbulkan risiko keamanan. Yang terkenal"Jubah dan Belati" eksploitasi menggunakan kelemahan ini secara ekstensif. Fungsionalitas API overlay telah dibatasi sejak Android Oreo, namun kini Android Q edisi Go telah sepenuhnya menghapus akses ke API tersebut dengan rilis di masa mendatang untuk sepenuhnya menghentikannya.

Pembatasan Peluncuran Aktivitas Latar Belakang

Aplikasi di latar belakang tidak dapat lagi meluncurkan Aktivitas secara otomatis saat ponsel tidak terkunci, terlepas dari level API targetnya. Ada daftar lengkap kondisi di mana aplikasi sekarang dapat meluncurkan aktivitas, yang dapat Anda baca Di Sini. Aplikasi latar belakang yang tidak memenuhi ketentuan ini dan ingin segera meluncurkan suatu aktivitas kini harus memberi tahu pengguna melalui notifikasi. Jika notifikasi dibuat dengan maksud layar penuh yang tertunda, maka maksud tersebut akan segera diluncurkan jika layar mati—berguna untuk alarm atau panggilan masuk.

Pembatasan Akses Papan Klip Latar Belakang

Akses papan klip latar belakang adalah tidak mungkin lagi. Aplikasi apa pun yang tidak berada di latar depan atau disetel sebagai metode masukan default tidak akan dapat membaca clipboard Anda dengan cara apa pun. Ini sangat memukul aplikasi seperti pengelola papan klip. Google mengatakan bahwa perubahan ini hanya memengaruhi aplikasi yang secara eksklusif menargetkan Android Q, namun pengujian kami menunjukkan bahwa pembatasan tersebut tidak membeda-bedakan; aplikasi apa pun yang kami coba tidak dapat melihat papan klip.

Perubahan ini tentu saja masuk akal. Kita sering menyalin informasi sensitif ke clipboard—seperti kata sandi dan detail kartu kredit—namun sayang sekali melihat pengelola clipboard sia-sia.

Akses lokasi hanya saat aplikasi sedang digunakan

Opsi izin lokasi baru

Pengaturan baru yang diaktifkan pengguna hanya memungkinkan aplikasi menjangkau lokasi Anda saat aplikasi sedang digunakan. Android Q beta terbaru juga menambahkan pemberitahuan yang mengingatkan Anda jika Anda telah memberikan aplikasi akses permanen ke lokasi tersebut.

Peran

Peran

API "Peran" baru telah ditambahkan. Peran pada dasarnya adalah grup dengan akses izin yang telah ditentukan sebelumnya. Misalnya, aplikasi dengan peran galeri mungkin memiliki akses ke folder media Anda, sementara aplikasi dengan peran telepon mungkin dapat menangani panggilan. Aplikasi yang diberikan peran tertentu oleh pengguna juga harus memiliki komponen yang diperlukan. Aplikasi dengan peran galeri, misalnya, harus memiliki filter maksud tindakan android.maksud.tindakan.UTAMA dan filter maksud kategori android.intent.kategori. APP_GALERI untuk muncul sebagai aplikasi galeri di pengaturan.

Sensor Mati Ubin Pengaturan Cepat

Ubin Pengaturan Cepat Sensor

Ada ubin pengaturan cepat "Sensor mati" baru yang mematikan pembacaan semua sensor (akselerometer, giroskop, dll.) di perangkat Anda untuk privasi sesungguhnya. Ubin Pengaturan Cepat ini disembunyikan secara default tetapi dapat diaktifkan dengan membuka "ubin pengembang pengaturan cepat" di opsi Pengembang.

Pembatasan pada /proc/net

Aplikasi tidak bisa lagi akses proc/net, membuat layanan seperti netstat tidak lagi dapat dijalankan. Hal ini melindungi pengguna dari aplikasi jahat yang memantau situs web dan layanan apa yang mereka sambungkan. Aplikasi yang memerlukan akses berkelanjutan, seperti VPN, perlu menggunakan Manajer NetworkStats Dan Manajer Konektivitas kelas.

Alamat MAC Acak

Alamat MAC Anda adalah pengidentifikasi unik yang digunakan jaringan untuk mengingat perangkat mana. Di Android Q, setiap kali Anda terhubung ke jaringan baru, perangkat Anda akan menggunakan alamat MAC baru yang diacak. Sebagai akibat, jaringan tidak dapat melacak lokasi Anda dengan mencocokkan jaringan WiFi yang Anda sambungkan dengan alamat MAC ponsel Anda. Alamat MAC pabrik perangkat yang sebenarnya masih dapat diperoleh oleh aplikasi melalui dapatkanWifiMacAddress() memerintah.


Pengerasan Platform di Android Q

Satu bug di Android tidak berarti bahwa penyerang sekarang memiliki akses penuh ke OS atau mereka dapat menerobos sistem keamanan apa pun. Hal ini sebagian disebabkan oleh sejumlah perlindungan seperti isolasi proses, pengurangan permukaan serangan, dekomposisi arsitektur, dan mitigasi eksploitasi. Perlindungan ini membuat kerentanan menjadi lebih sulit atau bahkan mustahil untuk dieksploitasi. Akibatnya, penyerang biasanya memerlukan banyak kerentanan sebelum mereka dapat mencapai tujuannya. Di masa lalu, kita telah melihat serangan seperti DRAMMER yang bekerja dengan menyatukan beberapa eksploitasi.

Android Q mengambil perlindungan seperti ini dan menerapkannya ke area yang lebih sensitif seperti media dan komponen Bluetooth serta kernel juga. Hal ini membawa beberapa perbaikan nyata.

  • Kotak pasir terbatas untuk codec perangkat lunak.
  • Peningkatan penggunaan produksi pembersih untuk memitigasi seluruh kelas kerentanan dalam komponen yang memproses konten yang tidak tepercaya.
  • Shadow Call Stack, yang memberikan Control Flow Integrity (CFI) ke belakang dan melengkapi perlindungan ke depan yang disediakan oleh CFI LLVM.
  • Melindungi Pengacakan Tata Letak Ruang Alamat (ASLR) dari kebocoran menggunakan eXecute-Only Memory (XOM).
  • Pengenalan pengalokasi Scudo yang diperkeras yang membuat sejumlah kerentanan terkait tumpukan lebih sulit untuk dieksploitasi.

Ini adalah banyak jargon perangkat lunak. Intinya adalah pertama, codec perangkat lunak sekarang dijalankan di kotak pasir yang memiliki hak istimewa lebih sedikit, artinya kecil kemungkinan perangkat lunak berbahaya dapat menjalankan perintah yang dapat membahayakan perangkat Anda, seperti dalam kasus ini dari Demam Panggung jauh di tahun 2015.

Kotak pasir terbatas untuk codec perangkat lunak. Sumber: Google.

Kedua, Android sekarang memeriksa akses array di luar batas di lebih banyak tempat, serta overflow. Mencegah overflow dan menginstruksikan proses agar gagal dengan aman secara signifikan mengurangi persentase kerentanan ruang pengguna. Artinya adalah jika program jahat mencoba menyebabkan sesuatu mogok dengan sengaja mendapatkan akses ke data yang tidak ada, Android sekarang akan mengenali ini dan keluar dari program, sebagai gantinya jatuh.

Ketiga, Shadow Call Stack melindungi alamat pengirim dengan menyimpannya dalam tumpukan bayangan terpisah, sehingga tidak dapat diakses oleh program biasa. Alamat pengirim biasanya merupakan penunjuk ke suatu fungsi, jadi melindungi alamat ini penting untuk memastikan bahwa penyerang tidak dapat mengakses fungsi yang seharusnya tidak dapat mereka akses.

Keempat, ASLR adalah metode perlindungan yang mengacak di mana program disimpan dalam memori, sehingga membuatnya aman lebih sulit untuk mengetahui di mana program disimpan dalam memori berdasarkan lokasi program lain program. Memori khusus eXecute memperkuat ini dengan membuat kode tidak dapat dibaca.

Terakhir, Scudo adalah pengalokasi heap dinamis yang secara proaktif mengelola memori sedemikian rupa sehingga membuat kerentanan berbasis heap jauh lebih sulit untuk dieksploitasi. Anda dapat membaca lebih lanjut tentang hal itu Di Sini.


Autentikasi

Pembaruan pada BiometricPrompt di Android Q

Google memperkenalkan BiometricPrompt API baru lebih dari setahun yang lalu, pada Pratinjau Pengembang Android P 2. Ini dimaksudkan sebagai perintah Android umum untuk metode membuka kunci biometrik. Idenya adalah perangkat yang mendukung lebih dari sekedar pemindaian sidik jari, misalnya. pemindaian iris pada lini Samsung Galaxy S, akan dapat menggunakan metode ini ketika aplikasi meminta verifikasi.

Android Q menambahkan dukungan kuat untuk verifikasi wajah dan sidik jari, serta memperluas API untuk mendukung autentikasi implisit. Otentikasi eksplisit mengharuskan pengguna mengautentikasi dengan cara tertentu sebelum melanjutkan, sedangkan autentikasi implisit tidak memerlukan interaksi pengguna lagi.

Aliran implisit dan eksplisit BiometricPrompt API. Sumber: Google.

Selain itu, aplikasi sekarang dapat memeriksa apakah perangkat mendukung otentikasi biometrik melalui cara sederhana panggilan fungsi, sehingga mereka tidak membuang waktu untuk menjalankan BiometricPrompt pada perangkat yang tidak memerlukannya mendukungnya. Penggunaan ideal untuk hal ini adalah jika aplikasi ingin memberikan pengaturan "Aktifkan masuk biometrik" berdasarkan apakah perangkat mendukung autentikasi biometrik atau tidak.

Elemen dasar untuk dukungan ID Elektronik

Awal tahun ini, kami menemukan bukti bahwa Google memang demikian bekerja pada dukungan untuk ID elektronik di Android. Di I/O, Google memberi tahu kami perkembangan fitur tersebut. Google mengatakan mereka bekerja sama dengan ISO untuk menstandardisasi penerapan SIM seluler, dengan paspor elektronik yang sedang dikerjakan. Bagi pengembang, Google akan menyediakan perpustakaan Jetpack sehingga aplikasi identitas dapat mulai dibuat.


Proyek Arus Utama di Android Q

Project Mainline adalah upaya besar Google untuk mengurangi fragmentasi modul dan aplikasi sistem tertentu. Google akan mengontrol pembaruan sekitar 12 komponen sistem melalui Play Store. Kami telah membicarakan Project Mainline secara mendalam di artikel sebelumnya jika Anda tertarik untuk membaca lebih lanjut.


Kesimpulan

Keamanan selalu menjadi bagian inti dari pengembangan Android. Google telah melakukan pekerjaan yang mengesankan dalam menjaga Android tetap up-to-date dengan fitur keamanan terkini, serta membuat beberapa inovasi tersendiri. Mereka melanjutkan proses pengembangan ini dengan Android Q, mengemasnya dengan fitur keamanan lengkap yang dibuat untuk memastikan data Anda lebih aman dari sebelumnya.


Sumber 1: Apa yang Baru di Keamanan Android Q [Google]

Sumber 2: Keamanan di Android: Berikutnya [Google]

Sumber 3: Antrean Peningkatan Pengerasan [Google]

Dengan masukan dari Mishaal Rahman dan Adam Conway.