Lokálna statická analýza balíkov Android v prehliadači
Nástroj Prehliadač APK Info slúži ako špecializovaná utilita na statickú analýzu, ktorá umožňuje používateľom overiť technické parametre a metadáta súboru balíka aplikácie pre Android (APK) ešte pred jeho samotnou inštaláciou. Celý proces analýzy prebieha lokálne priamo vo webovom prehliadači používateľa. Nástroj extrahuje kľúčové informácie o balíku, porovnáva ich s oficiálnymi údajmi od vývojárov a pomáha identifikovať potenciálne riziká bez toho, aby bolo potrebné aplikáciu spustiť alebo nainštalovať na fyzické zariadenie.
Spracovanie súborov, výpočet kryptografických hašov a parsovanie vnútorných štruktúr prebieha prostredníctvom lokálneho skriptu Worker v prehliadači. Žiadne dáta ani súbory sa neodosielajú na externé servery, čo zaručuje plné zachovanie súkromia.
Vstupné parametre a limity analýzy
Nástroj je navrhnutý na spracovanie jedného samostatného inštalačného súboru:
- Podporovaný formát: Výhradne súbory s príponou
.apk. - Veľkostný limit: Maximálne 500 MB na jeden súbor. Ak súbor prekročí túto hranicu, systém analýzu preruší a zobrazí chybové hlásenie:
"Tento súbor má viac ako 500 MB – je väčší, než dokáže karta prehliadača bezpečne skontrolovať.". - Množstevný limit: Naraz je možné spracovať iba jeden súbor. V prípade, že používateľ presunie do rozhrania viacero súborov súčasne, nástroj analyzuje iba prvý z nich a zobrazí upozornenie:
"Vždy len jeden súbor – kontroluje sa prvý z nich.".
Štruktúra výstupného reportu
Po dokončení analýzy nástroj vygeneruje prehľadný štruktúrovaný report rozdelený do niekoľkých sekcií:
Požiadavky (Požiadavky)
Táto sekcia definuje kompatibilitu aplikácie s operačným systémom Android:
- Minimálny Android: Zobrazuje sa vo formáte
Android ‹version› (API ‹level›)alebo ako samostatnéAPI ‹level›. Určuje najnižšiu verziu systému, na ktorej je možné aplikáciu spustiť. - Cieľový Android: Zobrazuje sa ako
Android ‹version› (API ‹level›)aleboAPI ‹level›. Definuje úroveň API, pre ktorú bola aplikácia optimalizovaná a na ktorej uplatňuje svoje bezpečnostné pravidlá. - max. SDK
‹n›: Zobrazuje sa v prípade, ak balík explicitne obmedzuje maximálnu podporovanú verziu systému Android.
Oprávnenia (Oprávnenia)
Zoznam všetkých oprávnení, ktoré aplikácia deklaruje v súbore manifestu. Oprávnenia sú automaticky zoradené tak, že položky označené systémom Android ako rizikové pre súkromie používateľa sú prioritne umiestnené na začiatku zoznamu a označené červeným odznakom Nebezpečné.
Komponenty (Komponenty)
Prehľad aplikačných komponentov rozdelený do štyroch kategórií:
- Aktivity: Zoznam obrazoviek aplikácie. Ak je komponent prístupný pre iné aplikácie v systéme, je pri ňom zobrazený príznak
exportované. - Služby: Komponenty vykonávajúce úlohy na pozadí, voliteľne s príznakom
exportované. - Príjemcovia: Prijímače systémových vysielaní, voliteľne s príznakom
exportované. - Poskytovatelia: Komponenty na zdieľanie dát, kde sa zobrazuje autorita poskytovateľa, príznak
exportovanéalebo hodnotaŽiadne.
Pre každú z týchto štyroch kategórií platí limit zobrazenia maximálne 100 položiek. Ak reálny počet komponentov v danej kategórii tento limit prekročí, nástroj zvyšné položky skryje a pripojí označenie +‹count› ďalších.
Natívny kód (Natívny kód)
Zobrazuje podporované architektúry procesorov (Application Binary Interfaces - ABI) a celkový počet pridružených natívnych knižníc obsiahnutých v balíku.
Zdroje (Zdroje)
Technické štatistiky o obsahu balíka:
- Hustoty obrazovky: Podporované rozlíšenia displejov, pre ktoré aplikácia obsahuje grafické prvky.
- Súbory zdrojov: Počet nekompilovaných zdrojových súborov.
- Súbory aktivít (assets): Počet externých assetov.
- Súbory kódu (.dex): Počet skompilovaných súborov s bytecodeom Dalvik/ART.
- Súbory v balíku: Celkový počet súborov nachádzajúcich sa vo vnútri archívu APK.
Podpisy (Podpisy)
Nástroj extrahuje metadáta z podpisových blokov v1 (PKCS#7) a novších schém APK Signing Block (v2, v3 a v3.1). Pre každý nájdený certifikát zobrazuje:
- Označenie
Podpisovateľ ‹n› SubjektVydalSériové čísloPlatné odaPlatné doAlgoritmus podpisuaAlgoritmus kľúča- Odtlačky certifikátu vo formátoch MD5, SHA-1 a SHA-256.
Ak balík neobsahuje žiadne platné podpisové štruktúry, zobrazí sa upozornenie: "Nenašiel sa žiadny známy blok podpisu – balík môže byť nepodpísaný alebo prebalený.". Nástroj iba extrahuje a zobrazuje tieto metadáta; nevykonáva kryptografické overovanie integrity, nekontroluje dôveryhodnosť certifikačnej autority ani neoveruje skutočnú identitu vydavateľa v reálnom svete.
Hashe súboru (Hashe súboru)
Zobrazuje globálne kryptografické odtlačky samotného súboru APK vo formátoch MD5, SHA-1 a SHA-256, ktoré slúžia na jednoznačnú identifikáciu súboru a overenie jeho integrity voči externým databázam.
Spracovanie chýb a výnimočné stavy
Nástroj reaguje na neštandardné stavy a nepodporované formáty špecifickými chybovými hláseniami:
| Scenár / Chyba | Zobrazené hlásenie v rozhraní |
|---|---|
| Rozdelené balíky (XAPK, APKM) | "Toto je rozdelený balík XAPK – kontajner viacerých súborov APK. Rozbaľte základný APK a skontrolujte radšej tento súbor." |
| Android App Bundle (.aab) | "Toto je Android App Bundle (.aab) – publikačný formát, nie inštalovateľný APK. Skontrolujte radšej zostavený APK." |
| Súbory bez manifestu / iné formáty | "Toto nevyzerá ako APK: vo vnútri sa nenašiel žiadny čitateľný súbor AndroidManifest.xml." |
| Poškodený alebo neúplný súbor | "Balík sa zdá byť poškodený alebo skrátený, preto sa jeho obsah nepodarilo prečítať." |
| Chyba pri čítaní z disku | "Súbor sa nepodarilo prečítať. Vyberte ho znova." |
| Iné nešpecifikované zlyhanie | "Kontrola zlyhala. Skúste iný súbor." |
Používateľské rozhranie a stavové správy
Počas interakcie s nástrojom v oblasti Sem presuňte APK alebo kliknite pre výber (s podnadpisom Jeden súbor.apk, do 500 MB) sa v závislosti od fázy spracovania zobrazujú nasledujúce stavové indikátory:
- Pred nahratím:
Pripravené. Pretiahnite APK sem na kontrolu. - Čítanie súboru:
Číta sa ‹name›… - Generovanie odtlačkov:
Počítajú sa haše súboru – ‹percent›% - Parsovanie štruktúry:
Analyzuje sa balík… - Dokončenie:
Správa je pripravená.
Používateľ môže vygenerovaný report uložiť kliknutím na tlačidlo Stiahnuť správu (zobrazí sa stav Správa bola stiahnutá.) alebo vymazať aktuálne výsledky tlačidlom Vymazať (zobrazí sa stav Vyčistené.).
Často kladené otázky (FAQ)
Čo sa môžem dozvedieť o APK bez jeho inštalácie?
Docela dosť: názov balíka a verziu aplikácie, vyžadované verzie systému Android, všetky požadované oprávnenia, obrazovky a komponenty na pozadí, typy procesorov, pre ktoré obsahuje natívny kód, a certifikáty, ktorými bol podpísaný.
Dokáže tento nástroj zistiť, či je APK malware?
Nie – a buďte skeptickí voči každému nástroju, ktorý sľubuje verdikt na základe rýchlej kontroly. Tu získate fakty: oprávnenia, komponenty, podpisovateľov a haše. Porovnajte ich s tým, čo zverejňuje vývojár, and neočakávané oprávnenia alebo iný podpisovateľ než pri oficiálnom vydaní sú dôvodom na opatrnosť.
Ktoré súbory sú podporované?
Samostatné súbory APK do 500 MB. Rozdelené balíky (XAPK, APKM) a Android App Bundle (.aab) sú kontajnery alebo publikačné formáty, nie jeden inštalovateľný balík, takže sa odmietnu s jasnou správou namiesto mätúceho hlásenia.
Čo mi hovoria podrobnosti o podpise?
Každá aplikácia pre Android je podpísaná a certifikát identifikuje, kto ju vydal. Uvidíte, aké schémy podpisu balík obsahuje (v1, v2, v3), ako aj subjekt každého podpisovateľa, dobu platnosti a odtlačky MD5, SHA-1 a SHA-256. Dva súbory APK so zhodnými odtlačkami pochádzajú od rovnakého vydavateľa – to, či tomuto vydavateľovi dôverujete, je na vašom posúdení.
Čo znamená odznak „Nebezpečné“ pri oprávnení?
Ide o vlastnú klasifikáciu systému Android: nebezpečné oprávnenia môžu získať prístup k súkromným údajom – polohe, kontaktom, fotoaparátu, mikrofónu, úložisku –, preto sa systém pred ich udelením opýta používateľa. Odznak nie je obvinením; ak mapová aplikácia žiada o polohu, je to normálne. Označuje len tie oprávnenia, ktoré stojí za to prečítať si dvakrát.