Ako zobraziť povolenia aplikácie pre Android pred inštaláciou súboru APK
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.
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:
- Prejdite na Informačná stránka APK.
- Vyberte svoj súbor .apk.
- Počkajte na dokončenie analýzy (zvyčajne 5 sekúnd).
- Prejdite nadol na Sekcia povolení.
- 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í:
- Normálne: Povolenia s nízkym rizikom, ktoré priamo neohrozujú súkromie (napr. SET_ALARM). Android ich udeľuje automaticky.
- Nebezpečné: Vysoko rizikové povolenia (kontakty, poloha, kamera). Tieto musí potvrdíte pri spustení aplikácie.
- Podpis/systém: Mimoriadne vysoké riziko. Sú dostupné iba pre aplikácie podpísané výrobcom zariadenia alebo samotným OS.
Manuálna metóda (pomocou prehliadača ZIP)
Ak máte nejaké technické zručnosti, môžete sami kontrolovať povolenia:
- Premenujte app.apk na app.zip a otvorte ho.
- Nájdite AndroidManifest.xml. (Poznámka: Je v binárnom formáte a v textovom editore bude vyzerať ako nezmysel).
- Použite nástroj ako AXMLPrinter na konverziu na čitateľný text.
- 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ú:
- <uses-permission android:name="..."/>: každé povolenie, o ktoré môže aplikácia požiadať. Zoznam plný je tu vrátane tých, ktoré aplikácia pri spustení nemusí nikdy použiť.
- <uses-permission-sdk-23 ... />: to isté, ale vyžaduje sa iba vtedy, keď je aplikácia spustená v systéme Android 6 alebo novšom. Staršie zariadenia sú v tichosti povolené bez výzvy.
- <uses-feature android:name="..." android:required="true|false"/>: hardvérové funkcie, ktoré aplikácia používa (kamera, GPS, NFC). Keď je označený požadované, Obchod Play skryje aplikáciu pred zariadeniami, ktoré túto funkciu nemajú.
- <application android:debuggable="true">: obrovská červená vlajka vo vydaní APK. Laditeľná aplikácia sprístupní svoju pamäť a stav procesu komukoľvek s prístupom ADB. Odmietnuť.
- <activity android:exported="true"> pri citlivých aktivitách: umožňuje iným aplikáciám spustiť túto obrazovku. V prípade aplikácie na ochranu osobných údajov to často signalizuje nedbalé kódovanie.
Ú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í:
- Povolenia na normálnej úrovni sú tiché. Získajú sa v čase inštalácie bez akejkoľvek interakcie používateľa. Súhrn Obchodu Play niektoré z nich ani nezobrazuje. Sú „skryté“ v zmysle „ľahko prehliadnuteľné“, nie v zmysle „nezverejnené“.
- Aplikácie Vlastné povolenia definované aplikáciou. môžu deklarovať svoje vlastné značky <permission> a vyžadovať ich na interných komponentoch. Existujú na komunikáciu medzi aplikáciami a samy osebe sa netýkajú ochrany osobných údajov, ale môžu sa zneužiť, ak populárna aplikácia deklaruje vlastné povolenie s nesprávnou úrovňou ochrany a iná aplikácia ho potom použije ako zadné vrátka.
Č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:
- Otvorte Nástroj APK Info vo svojom prehliadači.
- Presuňte súbor APK do oblasti nahrávania. Spracovanie prebieha lokálne; súbor neopustí vaše zariadenie.
- 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).
- 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é.
- 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.