Ako zobraziť povolenia aplikácie pre Android pred inštaláciou súboru APK

A smartphone showing a list of app permissions with a magnifying glass

Keď nainštalujete aplikáciu z Obchodu Google Play, Android zobrazí zjednodušený súhrn toho, k čomu má aplikácia prístup. Side načítajte súbor APK zo zdroja mimo služby Play a nemáte žiadnu takú bezpečnostnú sieť, pokiaľ si sami neprečítate manifest. "Naozaj potrebuje aplikácia pre tapety prístup k SMS a mikrofónu?" je presne tá otázka, na ktorú vám táto príručka pomôže odpovedať.

Nasleduje rovnaký pracovný postup, ktorý náš tím používa pri triedení neznámeho súboru APK: otvorte ho, prečítajte si záznamy uses-permission, dekódujte úrovne ochrany a porovnajte, čo aplikácia hovorí potrebuje, s tým, čo zvyčajne vyžaduje jej kategória. Náš online nástroj APK Info robí binárne dekódovanie XML za vás, takže celý proces trvá asi desať sekúnd.

Čas čítania: ~9 minút. Potrebné nástroje: prehliadač; voliteľne apksigner a aapt2 zo súpravy Android SDK, ak chcete vykonať rovnaké kontroly z terminálu. Čo budete môcť urobiť na konci: prečítajte si úplný zoznam povolení ľubovoľného súboru APK, nájdite štyri alebo päť žiadostí s „vysokým dopadom“, ktoré takmer vždy naznačujú problémy, a rozhodnite sa, či chcete nainštalovať pred inštaláciou, nie po nej.

Prečo sa obťažovať povoleniami na audit?

Škodliví vývojári berú populárne bezplatné aplikácie, upravujú ich a znova ich uvoľňujú na stránkach tretích strán. Aj keď aplikácia môže vyzerať a fungovať normálne, jej skrytý kód môže kopírovať váš zoznam kontaktov alebo nahrávať zvuk na pozadí. Keď si prezeráte povolenia predinštalácia, môžete si všimnúť tieto červené príznaky „podliezania povolení“.

Ako skontrolovať akýkoľvek súbor APK (online)

Náš Nástroj APK Info prečíta manifest vášho súboru úplne vo vašom prehliadači; súbor sa nikdy neodovzdá na server a nespustí sa žiadny kód. Tu je návod, ako ho použiť:

Proces:

  1. Prejdite na Informačná stránka APK.
  2. Vyberte svoj súbor .apk.
  3. Počkajte na dokončenie analýzy (zvyčajne 5 sekúnd).
  4. Prejdite nadol na Sekcia povolení.
  5. Hľadajte vysokorizikové príznaky ako: READ_SMS, PROCESS_OUTGOING_CALLS alebo ACCESS_FINE_LOCATION.

Zoznam červených vlajok povolení

Ak aplikácia Kalkulačka alebo Baterka požiada o READ_CONTACTS alebo RECORD_AUDIO, súbor okamžite odstráňte. Neexistuje žiadny legitímny dôvod, aby tieto aplikácie mali tieto údaje.

Pochopenie úrovní povolení pre Android

Nie všetky povolenia sú rovnaké. Android ich kategorizuje do troch úrovní:

Manuálna metóda (pomocou prehliadača ZIP)

Ak máte nejaké technické zručnosti, môžete sami kontrolovať povolenia:

  1. Premenujte app.apk na app.zip a otvorte ho.
  2. Nájdite AndroidManifest.xml. (Poznámka: Je v binárnom formáte a v textovom editore bude vyzerať ako nezmysel).
  3. Použite nástroj ako AXMLPrinter na konverziu na čitateľný text.
  4. Vyhľadajte značky začínajúce na <uses-permission>.

Odporúčanie: Je oveľa rýchlejšie používať náš online nástroj, ktorý to za vás okamžite dekóduje.

Auditujte svoje aplikácie

Zistite presne, čo vaše aplikácie vyžadujú. Žiadne tajomstvá, žiadne riziká.

Skontrolujte povolenia APK

Čo je skutočne uložené v súbore AndroidManifest.xml

Manifest je zdrojom pravdy pre každé povolenie, komponent a funkciu, ktorú aplikácia deklaruje. Vo vnútri súboru APK je súbor vo forme binárne XML, nie ako obyčajný text, ktorý vidíte v zdrojovom kóde, takže ho nemožno prečítať bežným textovým editorom. Náš nástroj APK Info dekóduje binárne XML a zobrazí relevantné značky. Najdôležitejšie sú:

Úrovne ochrany povolení: Cheat Sheet

Android priraďuje každému povoleniu „úroveň ochrany“. Vedieť, do ktorej úrovne žiadosť patrí, vám povie, ako vážne s ňou bude OS zaobchádzať.

Úroveň ochrany Používateľská skúsenosť Príklady
normálne Poskytnuté ticho v čase inštalácie. Žiadna výzva. INTERNET, VIBRATE, ACCESS_NETWORK_STATE, WAKE_LOCK
nebezpečné Runtime výzva pri prvom použití funkcie. Odvolateľné v Nastaveniach. CAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION
podpis Udeľuje sa iba aplikáciám podpísaným rovnakým certifikátom ako udeľujúca aplikácia alebo operačný systém. BIND_VPN_SERVICE, INSTALL_PACKAGES (iba systém)
podpis|privilegovaný Dostupné iba pre predinštalované aplikácie v adresári priv-app obrazu systému. MANAGE_USERS, READ_LOGS (systémové povolenia)
appop / rola Na aktiváciu je potrebný samostatný postup nastavení. SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE (špeciálny prístup)

Čo vlastne znamenajú „skryté“ povolenia

Bežnou mylnou predstavou je, že niektoré povolenia sú tajné. Nie sú: každé povolenie, ktoré môže aplikácia použiť, musí byť deklarované v AndroidManifest.xml a OS odmieta udeliť akékoľvek povolenie, ktoré tam nie je uvedené. To, čo ľudia zvyčajne myslia pod pojmom „skryté“, je jedna z dvoch vecí:

Či tak alebo onak, odpoveď je rovnaká: prečítajte si manifest, neverte samotnému popisu v Obchode Play.

Spracovaný príklad: Audit skutočného súboru APK

Predpokladajme, že máte example.apk v priečinku Downloads. Tu je presný pracovný postup:

  1. Otvorte Nástroj APK Info vo svojom prehliadači.
  2. Presuňte súbor APK do oblasti nahrávania. Spracovanie prebieha lokálne; súbor neopustí vaše zariadenie.
  3. Prečítajte si časť Povolenia. Každá položka zobrazuje názov konštanty (android.permission.READ_CONTACTS a jednoduchý popis toho, čo umožňuje).
  4. Porovnajte zoznam s kategóriou aplikácie. Zhruba očakávajte:
    • Aplikácie fotoaparátu: CAMERA, RECORD_AUDIO (pre video), STORAGE/MEDIA zápis
    • Aplikácie na odosielanie správ: INTERNET, READ_CONTACTS, SEND_SMS (iba v prípade SMS), RECORD_AUDIO (pre hlasové poznámky), CAMERA (na odosielanie fotografií)
    • Hry: INTERNET, niekedy RECORD_AUDIO (pre hlasový chat v hre), povolenia súvisiace s fakturáciou; málokedy niečo iné
    • Obslužné aplikácie (kalkulačka, baterka, počasie): INTERNET (pre reklamy), ACCESS_NETWORK_STATE, prípadne LOCATION (iba počasie). Čokoľvek okrem toho je podozrivé.
  5. Ak čokoľvek v zozname nezodpovedá kategórii, neinštalujte. Neexistuje žiadny dobrý dôvod, prečo kalkulačka potrebuje prístup cez SMS.

Rovnaká logika platí bez ohľadu na to, či ide o súbor APK, XAPK (kde čítame vnútorný základný súbor APK) alebo balík APKS (kde čítame manifest každého rozdelenia).

Urobte to z príkazového riadku

Ak uprednostňujete terminálovú cestu, súprava Android SDK dodáva aapt2, ktorá vypíše manifest z ľubovoľného súboru APK vo formáte obyčajného XML:

aapt2 dump badging example.apk | grep "uses-permission"

Alebo použite apksigner na súčasne overenie podpisového certifikátu:

apksigner verify --print-certs example.apk

Nástroj prehliadača robí to isté pre používateľov, ktorí by radšej nenainštalovali súpravu SDK, len aby preverili jeden súbor.

Často kladené otázky (FAQ)

Môžem odmietnuť povolenie po inštalácii súboru APK?

áno. V systéme Android 6.0 a novšom môžete prejsť na Nastavenia > Aplikácie > [Názov aplikácie] > Povolenia a zapnúť alebo vypnúť jednotlivé nebezpečné povolenia.

Majú súbory XAPK rôzne povolenia?

XAPK obsahuje jeden alebo viacero súborov APK. Každý súbor APK vo vnútri má svoj vlastný manifest. Náš nástroj analyzuje Hlavný súbor APK v rámci balíka, aby vám ukázal príslušné povolenia.

Prečo každá aplikácia požaduje „Prístup k sieti“?

Takmer všetky aplikácie potrebujú prístup na internet na analýzu, hlásenie chýb alebo reklamy. Aj keď je to bežné, je to aj spôsob, akým sa ukradnuté údaje odosielajú na server hackera.

Pred klepnutím na Inštalovať skontrolujte povolenia Manifest

Nemôžete súdiť to, čo nevidíte. Stráviť desať sekúnd zobraziť povolenia súboru APK pred bočným zaťažením je rozdiel medzi tým, že viete, čo aplikácia môže dosiahnuť, a jednoducho dúfate, že sa bude správať. Najprv si prečítajte zoznam a potom nainštalujte.

Navrhol a zdokumentoval Mst Shaefale Vedúci vývojár a architekt balíkov Android • Overené na Android 12–15

Mst Shaefale spravuje nástroj na zlučovanie XAPK/APKS na strane klienta, analyzátor binárnych manifestov a nástroje na podpisovanie APK v1+v2 na xapktoapk.com. Všimli ste si zastaraný príkaz alebo zmenu operačného systému? Pošlite redakčnú poznámku.