Onderzoekers ontdekten dat veel Android-apps in de Google Play Store manieren hadden om het toestemmingsmodel van Android te omzeilen om gebruikersgegevens te verzamelen.
Ondanks de perceptie van gebruikers is Android eigenlijk behoorlijk veilig als mobiel besturingssysteem. Over het algemeen aanvaarden we het uitgangspunt dat de zwakste schakel de gebruiker is; Zolang u let op wat u installeert en welke machtigingen u verleent, moet u beschermd zijn tegen ongeoorloofde toegang en verspreiding van uw gegevens. Als u een Android-app de toegang tot uw locatie ontzegt, zou die app op geen enkele manier moeten kunnen achterhalen waar u bent of waar u bent geweest. Sommige app-ontwikkelaars hebben echter manieren bedacht om het toestemmingsmodel van Android te omzeilen, aldus onderzoekers van het International Computer Science Institute (ICSI).
Volgens CNET, werd de studie vorige maand bij gepresenteerd PrivacyCon nadat het afgelopen september op verantwoorde wijze aan zowel Google als de FTC was bekendgemaakt. Hoewel de
Hoe >1000 apps het toestemmingsmodel van Android omzeilden
De onderzoekers maken onderscheid tussen twee verschillende technieken om de veiligheid te omzeilen: zijkanalen en geheime kanalen. Bij zijkanaaltechnieken gaat het om het verkrijgen van toegang tot bepaalde informatie op een manier die niet wordt gedekt door het beveiligingsmechanisme; Apps konden bijvoorbeeld de locatie van een apparaat volgen met behulp van het MAC-adres totdat Android Pie de randomisatie van MAC-adressen introduceerde. Bij geheime kanaaltechnieken zijn twee diensten betrokken die samenwerken om gegevens te verzenden van de ene dienst die geldige toegang heeft naar de andere die dat niet doet; Een app waaraan locatietoegang is verleend, kan die gegevens bijvoorbeeld delen met een app waaraan geen toegang is verleend.
Het ICSI-team analyseerde 88.113 van de populairste Android-apps uit de Amerikaanse Google Play Store en ontdekte meer dan 1.000 apps en bibliotheken van derden die zijkanalen en/of geheime kanalen gebruiken om de beveiligingsmaatregelen van Android te omzeilen, zodat ze toegang krijgen tot de locatiegegevens en persistente identificatiegegevens van gebruikers apparaten. Hun volledige dataset bestond uit 252.864 APK's sinds het team periodiek de Play Store doorzocht op zoek naar nieuwe versies van de 88.113 apps die ze wilden analyseren. Ze testten aanvankelijk het gedrag van elke app op een Google Nexus5X met Android 6.0.1 Marshmallow, maar testten later hun bevindingen opnieuw op een Google Pixel2 met Android Pie om te bewijzen dat hun bevindingen nog steeds geldig waren vanaf de laatste release op het moment van de onthulling.
Met deze dataset ontwikkelde het team een methode die gebruikmaakt van dynamische en statische analyse om omzeiling van het toestemmingsmodel van Android te detecteren. Met andere woorden: het team bestudeerde app-gedrag door het runtime-gedrag van de app te controleren (dynamische analyse) of door de code te scannen op mogelijk kwaadaardig gedrag (statisch Uiteraard zijn kwaadwillende app-ontwikkelaars op de hoogte van deze technieken, waarbij ze gebruik maken van codeverduistering en dynamisch laden van code om statische analyse moeilijker te maken of TLS onderschepping om te detecteren wanneer de app in een gevirtualiseerde omgeving draait, dus gebruikte het ICSI-team een mix van statische en dynamische analyse (hybride analyse) in hun testen. Als gevolg hiervan ontdekte het team dat de volgende gegevens werden geschraapt door apps die niet over de vereiste machtigingen beschikten:
- IMEI: Omdat een IMEI een unieke, persistente identificatie is, is het handig voor onlinediensten om individuele apparaten te volgen. Het team ontdekte dat de Zalmachtigen En Baidu SDK's gebruikten een geheim kanaal om de IMEI te lezen. Apps met legitieme toegang tot de IMEI sloegen verborgen bestanden op op de externe opslag die de IMEI van het apparaat bevatte, zodat andere apps zonder legitieme toegang de IMEI konden lezen. Geïdentificeerde apps die op deze manier de SDK van Baidu gebruiken, zijn onder meer Disney's themapark-apps voor Hong Kong en Shanghai, Samsung Health en Samsung Browser.
- Netwerk MAC-adres: Het netwerk-MAC-adres is ook een unieke identificatie en wordt normaal gesproken beschermd door de machtiging ACCESS_NETWORK_STATE. Volgens de onderzoekers gebruikten apps de native C++-code om "een aantal onbewaakte UNIX-systeemaanroepen op te roepen". Het team identificeerde 42 apps met behulp van de Unity SDK om een netwerksocket en een ioctl om het MAC-adres te verkrijgen, hoewel ze opmerkten dat 748 van de 12.408 apps de betreffende code bevatten terwijl de ACCESS_NETWORK_STATE ontbrak toestemming.
- MAC-adres van router: De toestemming ACCESS_WIFI_STATE beschermt de BSSID, maar door de ARP-cache in /proc/net/arp te lezen, kan een app die gegevens verkrijgen zonder dat daarvoor toestemming nodig is. De onderzoeker identificeerde de OpenX SDK gebruikt deze zijkanaaltechniek.
- Geolocatie: De onderzoekers ontdekten dat de Shutterfly-app toegang had tot de locatietags van de EXIF-metadata van foto's. Het enige dat nodig is, is de toestemming READ_EXTERNAL_STORAGE.
In Android Q vereist Google nu dat apps de READ_PRIVILEGED_PHONE_STATE toestemming hebben om de IMEI te lezen. Apparaten met Android Q zenden nu standaard willekeurige MAC-adressen uit. Eindelijk Android Q's Omvangrijke opslag veranderingen verminderen de mogelijkheid voor apps om de locatiegegevens van foto's te lezen. Deze zorgen zijn dus aangepakt in de nieuwste Android-release, maar zoals we allemaal weten zal dat ook gebeuren duurt nogal een tijdje zodat de nieuwste update wordt doorgevoerd.
Conclusie
Over het geheel genomen biedt dit onderzoek een verhelderend inzicht in de manier waarop sommige apps toegang krijgen tot gegevens die achter machtigingen moeten worden beschermd. In het onderzoek werd alleen gekeken naar een subset van wat Google ‘gevaarlijke’ machtigingen noemt, met name het overslaan van machtigingen zoals Bluetooth, contacten en sms. Voor de volledige details van dit rapport raad ik u aan de papier ingediend bij de FTC.