Analisis bocoran versi Android Q menunjukkan lebih banyak peningkatan privasi yang hadir di Android: memblokir pembacaan clipboard di latar belakang, perlindungan media yang lebih baik, dan banyak lagi.
Setiap versi baru Android hadir dengan fitur-fitur baru, yang berarti Android memerlukan izin baru untuk mengakses fitur-fitur ini. Saya menemukan banyak izin baru dalam kerangka Android Q (tidak semuanya akan saya bahas di artikel ini karena banyak di antaranya yang tidak menarik). Beberapa izin yang saya temukan tidak memiliki deskripsi apa pun, namun namanya cukup jelas. Mari selami dan diskusikan peningkatan privasi baru di balik layar di Android Q, serta beberapa fitur menarik lainnya yang saya temukan.
Terima kasih khusus kepada Perangkat Lunak PNF yang telah memberikan kami lisensi untuk menggunakannya Dekompiler JEB. JEB Decompiler adalah alat rekayasa balik tingkat profesional untuk aplikasi Android.
Memblokir Akses Papan Klip Latar Belakang
Apakah Anda tahu bahwa setiap aplikasi di Android dapat membaca clipboard Anda
, dan Anda tidak perlu memberi mereka izin runtime untuk melakukannya? Banyak orang mungkin menyalin informasi sensitif seperti nama pengguna, kata sandi, alamat, dll. sepanjang waktu, sehingga aplikasi apa pun akan mudah mengikis data ini di latar belakang. Itu sebabnya banyak aplikasi pengelola kata sandi menyukainya KeePass memiliki keyboard sendiri yang dapat Anda gunakan untuk melewati pengelola clipboard Android. Aplikasi pengelola kata sandi sering kali menghapus papan klip untuk Anda setelah Anda menyalin dan menempelkan apa pun. Alasan mengapa aplikasi Android perlu membaca clipboard adalah karena aplikasi tersebut tidak dapat menerima teks apa pun dari clipboard tanpanya, artinya Anda tidak dapat menempelkan teks apa pun yang telah Anda salin. Untungnya, Android Q ingin mengubahnya.Izin baru telah ditambahkan yang disebut “READ_CLIPBOARD_IN_BACKGROUND
” sepertinya itu akan melakukan apa yang dikatakannya: membatasi aplikasi apa yang dapat membaca clipboard di latar belakang. Tingkat perlindungan izin ini adalah “tanda tangan”, artinya hanya aplikasi yang ditandatangani oleh OEM yang dapat diberikan izin ini.
<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>
Dukungan untuk Menurunkan Versi Aplikasi?
Pernahkah Anda menginstal pembaruan suatu aplikasi di Google Play dan langsung menyesalinya? Terkadang pengembang akan meluncurkan pembaruan yang merusak sesuatu yang tidak mereka antisipasi, namun setelah pembaruan diterapkan dan diinstal, sudah terlambat untuk melakukan apa pun. Pengembang harus segera mengeluarkan perbaikan terbaru dan pengguna harus berhenti menggunakan aplikasi hingga pembaruan dirilis atau menghapus instalan aplikasi dan melakukan sideload versi yang lebih lama. Tidak ada cara untuk menurunkan versi aplikasi kecuali Anda memiliki perangkat yang di-rooting dengan aplikasi sejenisnya Cadangan Titanium, karena pengelola paket Android memblokir Anda agar tidak menginstal aplikasi versi lama. Ada alasan bagus untuk melakukan hal ini karena memasang aplikasi versi lama dapat menyebabkan kerusakan jika data aplikasi tidak dihapus, atau pengguna dapat terkena bahaya jika versi lama rentan terhadap keamanan kekurangan.
Meskipun kami tidak tahu pasti apakah Google akan mengizinkan pengguna untuk mengembalikan aplikasi ke versi yang lebih lama, kami menemukan beberapa izin dan perintah di Android Q yang menunjukkan hal itu mungkin dilakukan. Pertama, yang baru “PACKAGE_ROLLBACK_AGENT
" Dan "MANAGE_ROLLBACKS
” Izin menunjukkan bahwa aplikasi pasar yang sudah diinstal sebelumnya dapat bertindak sebagai agen untuk mengelola pengembalian versi aplikasi. Izin pertama adalah “tanda tangan” sedangkan izin kedua adalah “penginstal” di atas “tanda tangan”, jadi ini berarti hanya aplikasi yang ditandatangani oleh platform yang memiliki kemampuan untuk menginstal aplikasi (biasanya hanya manajer paket, Google Play Store, atau toko aplikasi pihak pertama lainnya, bergantung pada perangkatnya) yang dapat menggunakan izin ini. Dua maksud siaran baru yang dilindungi telah ditambahkan: “PACKAGE_ENABLE_ROLLBACK
" Dan "PACKAGE_ROLLBACK EXECUTED
.” Siaran ini tidak dapat dikirim oleh aplikasi pihak ketiga, dan kemungkinan besar dimaksudkan agar aplikasi yang terpengaruh mengetahui kapan aplikasi tersebut diturunkan versinya (banyak seperti bagaimana aplikasi diberi tahu ketika sudah diperbarui, memberi mereka kesempatan untuk menampilkan beberapa pesan pada permulaan berikutnya.) Terakhir, tanda baru telah ditambahkan ke yang “pm install
” perintah cangkang. Bendera yang disebut “--enable-rollback
,” mungkin memungkinkan Anda mengembalikan aplikasi ke versi sebelumnya. Tapi aku tidak bisa menjalankannya.
<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>
Mengamankan File di Penyimpanan Eksternal
Penyimpanan data di Android melibatkan “penyimpanan internal” (/data tidak termasuk /data/media) dan “penyimpanan eksternal” (/data/media dan semua kartu SD atau drive USB yang terpasang). APK dan data paling sensitifnya disimpan di penyimpanan internal, sementara media apa pun yang dibagikan seperti dokumen, gambar, video, dll. disimpan di penyimpanan eksternal. Secara default, aplikasi hanya dapat membaca dan menulis file ke satu direktori di penyimpanan eksternal: /data/media/[pengguna]/Android/data/[nama_paket]. (Untuk mempelajari lebih lanjut tentang perilaku ini, saya sarankan Anda membaca artikel tentang sdcardfs di Android Oreo.) Setelah pengguna memberikan izin apa pun pada aplikasi di bawah grup izin penyimpanan eksternal (READ_EXTERNAL_STORAGE
atau WRITE_EXTERNAL_STORAGE
), aplikasi kemudian dapat membaca atau menulis file apa pun di penyimpanan eksternal. Ini bermasalah karena Anda memberi aplikasi kemampuan untuk berpotensi mengambil banyak data tentang Anda ketika Anda hanya ingin membiarkannya membaca atau menulis file tertentu. Untuk memperbaikinya, Google tampaknya memperkenalkan beberapa izin terkait penyimpanan eksternal baru di Android Q. Izin akan membuka fitur-fitur berikut:
- Kemampuan untuk membaca lokasi dari media Anda. (Kemungkinan memblokir akses ke metadata gambar secara default.)
- Kemampuan untuk mengakses file musik.
- Kemampuan untuk mengakses foto.
- Kemampuan untuk mengakses video.
Untuk aplikasi yang sudah memiliki READ_EXTERNAL_STORAGE
atau WRITE_EXTERNAL_STORAGE
izin sebelum pembaruan Android Q, mereka akan mendapatkan yang baru membaca izin tetapi bukan yang baru menulis izin. Misalnya, aplikasi yang sudah diberikan izin READ_EXTERNAL_STORAGE
oleh pengguna akan secara otomatis diberikan READ_MEDIA_IMAGES
izin tapi bukan WRITE_MEDIA_IMAGES
izin.
String yang relevan dari framework-res Android Q
<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>
"android.permission.READ_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>
Baca selengkapnya
Kembalinya Akses Lokasi Latar Belakang
Android Oreo dan Android 9 Pie mengambil langkah maju yang besar dalam mengamankan privasi pengguna, namun beberapa pengguna merasa Google mengambil tindakan terlalu jauh. Salah satu area yang dapat dianggap sebagai regresi fitur adalah akses lokasi latar belakang. Akses lokasi di Android Oreo dan yang lebih baru sangat dibatasi jika tidak langsung dimatikan untuk aplikasi yang berjalan di latar belakang aplikasi harus berada di latar depan atau menjalankan layanan latar depan jika ingin terus melakukan polling pada perangkat lokasi. Ini memblokir aplikasi untuk memata-matai lokasi Anda di latar belakang, tetapi juga memblokir pengguna untuk memetakan lokasi mereka sendiri menggunakan aplikasi di latar belakang. Ini adalah masalah yang kami bahas di artikel terpisah, dan sepertinya Google menambahkan izin baru di Android Q untuk mengatasi kekhawatiran para pengembang dan pengguna ini.
Di Android Q, izin baru telah ditambahkan untuk memungkinkan aplikasi memiliki akses latar belakang ke lokasi perangkat. Deskripsi izin kepada pengguna memperingatkan bahwa “aplikasi akan selalu memiliki akses ke lokasi, bahkan saat Anda tidak menggunakan aplikasi tersebut.” Izin ini mungkin diberikan izin “tambahan untuk perkiraan atau lokasi tepat” sehingga aplikasi “dapat mengakses lokasi saat berjalan di latar belakang.” Sebaliknya, izin lokasi kasar hanya bisa mendapatkan lokasi Anda berdasarkan sumber jaringan seperti menara seluler atau jaringan Wi-Fi, tetapi hanya ketika aplikasi ada di latar depan.
String yang relevan dari framework-res Android Q
<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>
Baca selengkapnya
Pengenalan Aktivitas Fisik
Izin baru telah ditambahkan ke Android Q yang memungkinkan aplikasi “mengenali aktivitas fisik Anda.” Secara teknis, ini bukanlah hal baru sudah menjadi bagian dari Layanan Google Play, namun hal ini dapat berarti bahwa Google akan memisahkan izin dari Layanan Play. Dengan betapa integralnya Layanan Google Play dalam menyediakan fitur-fitur inti Android, ada baiknya melihat sebagian dari kekuatannya diberikan kembali ke AOSP.
<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>
Untuk berita Android Q lainnya, lihat kami menandai dengan berita terbaru diurutkan berdasarkan tanggal. Kami baru-baru ini menerbitkan artikel dengan banyak bukti yang menunjukkan bahwa Google sedang mengerjakannya mendukung perangkat keras otentikasi wajah seperti ID Wajah di Android Q. Kami juga memiliki praktik awal dari bocoran Android Q build (dan bahkan ada videonya) yang harus Anda lihat di sini. Kami akan memposting lebih banyak temuan kami dari versi awal Android Q yang kami peroleh, jadi pantau terus.