Cara Melihat Izin Aplikasi Android Sebelum Memasang APK
Saat Anda memasang aplikasi dari Google Play Store, Android menampilkan ringkasan sederhana tentang apa yang dapat diakses oleh aplikasi tersebut. Sideload APK dari sumber non-Play dan Anda tidak memiliki jaring pengaman seperti itu, kecuali Anda sendiri yang membaca manifesnya. "Haruskah aplikasi wallpaper benar-benar memerlukan akses SMS dan mikrofon?" adalah jenis pertanyaan yang akan dibantu oleh panduan ini untuk Anda jawab.
Berikut ini adalah alur kerja yang sama yang digunakan tim kami saat melakukan triase pada APK yang tidak dikenal: buka, baca entri uses-permission, dekode tingkat perlindungan, dan bandingkan apa yang dibutuhkan oleh aplikasi mengatakan dengan apa yang biasanya dibutuhkan oleh kategorinya. alat Info APK online kami melakukan decoding biner-XML untuk Anda sehingga seluruh proses memakan waktu sekitar sepuluh detik.
Mengapa Mengganggu Izin Audit?
Pengembang jahat mengambil aplikasi gratis yang populer, mengubahnya, dan merilisnya kembali di situs pihak ketiga. Meskipun aplikasinya mungkin terlihat dan berfungsi normal, kode tersembunyinya mungkin menyalin daftar kontak Anda atau merekam audio latar belakang Anda. Dengan melihat izin pra-instalasi, Anda dapat melihat tanda bahaya "izin merayap".
Cara Mengaudit File APK Apa Pun (Online)
Alat Info APK kami membaca manifes file Anda sepenuhnya di browser Anda; file tersebut tidak pernah diunggah ke server, dan tidak ada kode yang dieksekusi. Berikut cara menggunakannya:
Proses:
- Pergi ke Halaman Info APK.
- Pilih file .apk Anda.
- Tunggu hingga analisis selesai (biasanya 5 detik).
- Gulir ke bawah ke Bagian Izin.
- Carilah tanda berisiko tinggi seperti: READ_SMS, PROCESS_OUTGOING_CALLS, atau ACCESS_FINE_LOCATION.
Izin Daftar Bendera Merah
Jika aplikasi Kalkulator atau Senter meminta READ_CONTACTS atau RECORD_AUDIO, segera hapus file tersebut. Tidak ada alasan yang sah bagi aplikasi ini untuk memiliki data tersebut.
Memahami Tingkat Izin Android
Tidak semua izin diciptakan sama. Android mengkategorikannya menjadi tiga tingkatan:
- Normal: Izin berisiko rendah yang tidak mengancam privasi secara langsung (misalnya, SET_ALARM). Android grants these automatically.
- Berbahaya: Izin berisiko tinggi (Kontak, Lokasi, Kamera). harus ini dikonfirmasi oleh Anda saat aplikasi berjalan.
- Tanda Tangan/Sistem: Extremely high-risk. Ini hanya tersedia untuk aplikasi yang ditandatangani oleh produsen perangkat atau OS itu sendiri.
Cara Manual (Menggunakan ZIP Viewer)
Jika Anda memiliki keahlian teknis, Anda dapat mengaudit sendiri izinnya:
- Ganti nama app.apk menjadi app.zip dan buka.
- Temukan AndroidManifest.xml. (Catatan: Ini dalam format biner dan akan terlihat seperti omong kosong di editor teks).
- Gunakan alat seperti Printer AXML untuk mengubahnya menjadi teks yang dapat dibaca.
- Cari tag yang dimulai dengan <uses-permission>.
Rekomendasi: Jauh lebih cepat menggunakan alat daring kami yang menerjemahkan kode ini untuk Anda secara instan.
Audit Aplikasi Anda Sekarang
Ketahui secara pasti izin apa saja yang diminta oleh aplikasi Anda. Tidak ada rahasia, tidak ada risiko.
Periksa Izin APKApa yang Sebenarnya Tersimpan di AndroidManifest.xml
Manifes adalah sumber kebenaran untuk setiap izin, komponen, dan fitur yang dideklarasikan oleh aplikasi. Di dalam APK, file dalam bentuk XML biner, bukan teks biasa seperti yang Anda lihat di kode sumber, sehingga tidak dapat dibaca dengan editor teks biasa. Alat Info APK kami menerjemahkan XML biner dan menampilkan tag yang relevan. Yang paling penting adalah:
- <uses-permission android:name="..."/>: setiap izin yang mungkin diminta aplikasi. Daftar penuh ada di sini, termasuk daftar yang mungkin tidak pernah digunakan aplikasi saat runtime.
- <uses-permission-sdk-23 ... />: sama, tetapi hanya diminta ketika aplikasi berjalan di Android 6 atau lebih baru. Perangkat lama diizinkan secara diam-diam tanpa disuruh.
- <uses-feature android:name="..." android:required="true|false"/>: fitur perangkat keras yang digunakan aplikasi (kamera, GPS, NFC). Saat ditandai diperlukan, Play Store menyembunyikan aplikasi dari perangkat yang tidak memiliki fitur tersebut.
- <application android:debuggable="true">: bendera merah raksasa di APK rilis. Aplikasi yang dapat di-debug memperlihatkan memori dan status prosesnya kepada siapa pun yang memiliki akses ADB. Menolak.
- <activity android:exported="true"> pada aktivitas sensitif: memungkinkan aplikasi lain meluncurkan layar itu. Untuk aplikasi privasi, hal ini sering kali menandakan pengkodean yang ceroboh.
Tingkat Perlindungan Izin: Lembar Curang
Android menetapkan "tingkat perlindungan" pada setiap izin. Mengetahui di level mana suatu permintaan berada menunjukkan seberapa serius OS akan memperlakukannya.
| Tingkat perlindungan | Pengalaman pengguna | Contoh |
|---|---|---|
| normal | Diberikan secara diam-diam pada waktu instalasi. No prompt. | INTERNET, GETARAN, ACCESS_NETWORK_STATE, WAKE_LOCK |
| berbahaya | Perintah runtime saat pertama kali fitur tersebut digunakan. Dapat dibatalkan di Pengaturan. | KAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION |
| tanda tangan | Hanya diberikan kepada aplikasi yang ditandatangani dengan sertifikat yang sama dengan aplikasi atau OS yang memberikannya. | BIND_VPN_SERVICE, INSTALL_PACKAGES (khusus sistem) |
| tanda tangan | hak istimewa | Hanya tersedia untuk aplikasi pra-instal di direktori priv-app image sistem. | MANAGE_USERS, READ_LOGS (kelola pengguna & log) |
| aplikasi / peran | Memerlukan alur Pengaturan terpisah untuk mengaktifkannya. | SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (izin khusus sistem) |
Apa Sebenarnya Arti Izin "Tersembunyi".
Kesalahpahaman yang umum adalah bahwa beberapa izin bersifat rahasia. Sebenarnya tidak demikian: setiap izin yang mungkin digunakan suatu aplikasi harus dinyatakan dalam AndroidManifest.xml, dan OS menolak memberikan izin apa pun yang tidak tercantum di sana. Yang biasanya dimaksud orang dengan "tersembunyi" adalah salah satu dari dua hal:
- Izin tingkat normal tidak bersuara. Mereka diberikan pada waktu instalasi tanpa interaksi pengguna apa pun. Ringkasan Play Store bahkan tidak menampilkan beberapa di antaranya. Mereka "tersembunyi" dalam arti "mudah untuk diabaikan", bukan dalam arti "tidak diungkapkan".
- Aplikasi Izin khusus yang ditentukan aplikasi. dapat mendeklarasikan tag <permission>-nya sendiri dan mewajibkannya pada komponen internal. Ini ada untuk komunikasi antar-aplikasi dan bukan merupakan masalah privasi, namun dapat disalahgunakan jika aplikasi populer mendeklarasikan izin khusus dengan tingkat perlindungan yang salah dan aplikasi lain kemudian menggunakannya sebagai pintu belakang.
Apa pun yang terjadi, jawabannya tetap sama: baca manifesnya, jangan percaya pada deskripsi Play Store saja.
Contoh yang Berhasil: Mengaudit APK Asli
Misalkan Anda memiliki example.apk di folder Unduhan Anda. Berikut alur kerja tepatnya:
- Buka Alat Info APK di browser Anda.
- Letakkan APK di area unggah. Pemrosesan dilakukan secara lokal; file tersebut tidak meninggalkan perangkat Anda.
- Baca bagian Izin. Setiap entri menunjukkan nama konstanta (android.permission.READ_CONTACTS dan deskripsi bahasa sederhana tentang apa yang diperbolehkan).
- Bandingkan daftarnya dengan kategori aplikasi. Secara kasar, harapkan:
- KAMERA Aplikasi kamera:, RECORD_AUDIO (untuk video), PENYIMPANAN/MEDIA tulis
- Aplikasi perpesanan: INTERNET, READ_CONTACTS, SEND_SMS (hanya jika berbasis SMS), RECORD_AUDIO (untuk voice note), CAMERA (untuk mengirim foto)
- Pertandingan: INTERNET, terkadang RECORD_AUDIO (untuk obrolan suara dalam game), izin terkait penagihan; jarang hal lain
- Aplikasi utilitas (kalkulator, senter, cuaca): INTERNET (untuk iklan), ACCESS_NETWORK_STATE, mungkin LOCATION (hanya cuaca). Anything beyond that is suspicious.
- Jika ada sesuatu dalam daftar yang tidak sesuai dengan kategori tersebut, jangan instal. Tidak ada alasan mengapa kalkulator memerlukan akses SMS.
Logika yang sama berlaku apakah file tersebut adalah APK, XAPK (tempat kita membaca APK dasar bagian dalam), atau bundel APKS (tempat kita membaca manifes setiap pemisahan).
Melakukannya dari Command Line
Jika Anda lebih memilih rute terminal, Android SDK mengirimkan aapt2, yang membuang manifes dari APK apa pun dalam XML biasa:
aapt2 dump badging example.apk | grep "uses-permission"
Atau gunakan apksigner untuk memverifikasi sertifikat penandatanganan secara bersamaan:
apksigner verify --print-certs example.apk
Alat browser melakukan hal yang sama untuk pengguna yang memilih untuk tidak menginstal SDK hanya untuk memeriksa satu file.
Pertanyaan yang Sering Diajukan (FAQ)
Bisakah saya menolak izin setelah menginstal APK?
Ya. Di Android 6.0 dan lebih tinggi, Anda dapat membuka Pengaturan > Aplikasi > [Nama Aplikasi] > Izin untuk mengaktifkan atau menonaktifkan izin berbahaya tertentu.
Apakah file XAPK memiliki izin berbeda?
XAPK berisi satu atau lebih APK. Setiap APK di dalamnya memiliki manifesnya sendiri. Alat kami akan menganalisis APK Utama dalam bundel untuk menunjukkan kepada Anda izin yang relevan.
Mengapa setiap aplikasi meminta "Akses Jaringan"?
Hampir semua aplikasi memerlukan akses internet untuk analisis, pelaporan bug, atau iklan. Meskipun umum terjadi, ini juga merupakan cara data yang dicuri dikirim ke server peretas.
Memeriksa Izin Manifes Sebelum Anda Mengetuk Instal
Anda tidak dapat menilai apa yang tidak dapat Anda lihat. Menghabiskan sepuluh detik ke melihat izin APK sebelum Anda melakukan sideload adalah perbedaan antara mengetahui apa yang dapat dijangkau suatu aplikasi dan sekadar berharap aplikasi tersebut berperilaku. Baca daftarnya terlebih dahulu, lalu instal kedua.