Výzkumníci zjistili, že mnoho aplikací pro Android v Obchodě Google Play má způsoby, jak obejít model oprávnění Androidu ke sběru uživatelských dat.
Navzdory uživatelskému vnímání je Android jako mobilní operační systém ve skutečnosti docela bezpečný. Obecně přijímáme premisu, že nejslabším článkem je uživatel; pokud budete sledovat, co instalujete a jaká oprávnění udělujete, měli byste být v bezpečí před neoprávněným přístupem a distribucí vašich dat. Pokud aplikaci pro Android odepřete přístup ke své poloze, tato aplikace by neměla mít žádný způsob, jak zjistit, kde jste nebo kde jste byli. Někteří vývojáři aplikací však podle výzkumníků z International Computer Science Institute (ICSI) přišli na způsoby, jak obejít model povolení Androidu.
Podle CNET, studie byla prezentována minulý měsíc v PrivacyCon poté, co byl loni v září zodpovědně prozrazen společnosti Google i FTC. Ačkoliv dokument zveřejněný na webových stránkách FTC neuvádí přesné aplikace, které tým označil ve své analýze (tyto podrobnosti budou uvedeny později v
Bezpečnostní konference Usenix příští měsíc), poskytuje podrobnosti o jejich metodě analýzy a o tom, jak aplikace obcházely model oprávnění systému Android. Za to, co stojí za to, Google říká, že zabezpečení a soukromí mění, které Google představil v Androidu Q uzavře tyto metody obcházení, takže tento dokument poskytuje cenný pohled na zdůvodnění společnosti Google pro některé změny platformy, které provedl v systému Android 10. Pojďme se ponořit.Jak > 1000 aplikací obešlo model oprávnění Androidu
Vědci rozlišují mezi dvěma různými technikami obcházení bezpečnosti: boční kanály a skryté kanály. Techniky postranního kanálu zahrnují získání přístupu ke konkrétním informacím způsobem, který není pokryt bezpečnostním mechanismem; například aplikace byly schopny sledovat polohu zařízení pomocí MAC adresy, dokud Android Pie nezavedl randomizaci MAC adres. Techniky skrytých kanálů zahrnují dvě služby spolupracující na odesílání dat z jedné služby, která má platný přístup k té, která jej nemá; například aplikace, které byl udělen přístup k poloze, může tato data sdílet s aplikací, které nebyl udělen přístup.
Tým ICSI analyzoval 88 113 nejoblíbenějších aplikací pro Android z obchodu Google Play v USA a objevil více než 1 000 aplikací a knihoven třetích stran, které využívat postranní kanály a/nebo skryté kanály k obcházení bezpečnostních opatření systému Android, aby měli přístup k údajům o poloze a trvalým identifikátorům uživatelů zařízení. Jejich úplná datová sada sestávala z 252 864 souborů APK, protože tým pravidelně hledal v Obchodě Play nové verze 88 113 aplikací, které plánoval analyzovat. Nejprve testovali chování každé aplikace na a Google Nexus 5X se systémem Android 6.0.1 Marshmallow, ale později znovu otestovali svá zjištění na a Google Pixel 2 používají Android Pie, aby prokázali, že jejich zjištění jsou stále platná k poslednímu vydání v době zveřejnění.
S tímto souborem dat tým vyvinul metodu využívající dynamickou a statickou analýzu ke zjištění obcházení modelu oprávnění Androidu. Jinými slovy, tým studoval chování aplikace auditováním běhového chování aplikace (dynamická analýza) nebo skenováním kódu na potenciálně škodlivé chování (statické analýzy.) Vývojáři škodlivých aplikací si jsou samozřejmě těchto technik vědomi a používají obfuskaci kódu a dynamické načítání kódu ke ztížení statické analýzy nebo TLS odposlech, aby zjistil, kdy aplikace běží ve virtualizovaném prostředí, takže tým ICSI použil ve svých testování. V důsledku toho tým zjistil, že aplikace, které neměly požadovaná oprávnění, odstraňují následující data:
- IMEI: Vzhledem k tomu, že IMEI je jedinečný, trvalý identifikátor, je užitečné pro online služby seškrábat, aby mohly sledovat jednotlivá zařízení. Tým zjistil, že Salmonády a Baidu Sady SDK používaly ke čtení IMEI skrytý kanál. Aplikace s legitimním přístupem k IMEI ukládaly skryté soubory na externí úložiště obsahující IMEI zařízení, takže ostatní aplikace bez legitimního přístupu mohly IMEI číst. Mezi identifikované aplikace využívající sadu Baidu SDK tímto způsobem patří aplikace zábavních parků Disney pro Hong Kong a Šanghaj, Samsung Health a Samsung Browser.
- Adresa MAC sítě: Adresa MAC sítě je také jedinečný identifikátor a obvykle je chráněna oprávněním ACCESS_NETWORK_STATE. Podle výzkumníků aplikace používaly nativní kód C++ k "vyvolání řady nestřežených systémových volání UNIX." Tým identifikoval 42 aplikací pomocí Unity SDK k otevření a síťová zásuvka a ioctl k získání MAC adresy, i když poznamenali, že 748 z 12 408 aplikací obsahovalo dotyčný kód a postrádalo ACCESS_NETWORK_STATE povolení.
- MAC adresa routeru: Oprávnění ACCESS_WIFI_STATE chrání BSSID, ale čtení mezipaměti ARP v /proc/net/arp umožňuje aplikaci získat tato data, aniž by potřebovala jakákoli oprávnění. Výzkumník identifikoval OpenX SDK používající tuto techniku bočního kanálu.
- Geolokace: Výzkumníci zjistili, že aplikace Shutterfly přistupovala k umístění tagů EXIF metadat fotografií. Jediné, co je potřeba, je oprávnění READ_EXTERNAL_STORAGE.
V systému Android Q nyní Google vyžaduje, aby aplikace měly oprávnění READ_PRIVILEGED_PHONE_STATE ke čtení IMEI. Zařízení se systémem Android Q nyní ve výchozím nastavení přenášejí náhodné adresy MAC. Konečně Android Q Scoped Storage změny zmírňují schopnost aplikací číst údaje o poloze z fotografií. Tyto obavy byly tedy vyřešeny v nejnovější verzi systému Android, ale jak všichni víme, bude trvat docela dlouho aby se rozšířila nejnovější aktualizace.
Závěr
Celkově tato studie poskytuje objasňující pohled na to, jak některé aplikace přistupují k datům, která by měla být chráněna oprávněními. Výzkum se zabýval pouze podmnožinou toho, co Google nazývá „nebezpečnými“ oprávněními, zejména přeskakováním oprávnění, jako je Bluetooth, kontakty a SMS. Pro úplné podrobnosti o této zprávě doporučuji přečíst papír předložený FTC.