Beveiligingsonderzoekers van de Universiteit van Calgary, Universidad Carlos III Madrid en U.C. Berkeley hebben op het USENIX Security Symposium uit de doeken gedaan dat duizenden apps informatie verzamelen terwijl zij dat niet zouden moeten kunnen omdat zij daar geen machtigingen voor hebben.

Leentjebuur spelen

Het blijkt dat veel apps eerst proberen op een legitieme manier aan de informatie te komen. Lukt dat niet (omdat zij bijvoorbeeld niet gemachtigd zijn om bij deze informatie te komen), dan doen zij dat via een omweg.

Een veelgebruikte methode is bijvoorbeeld het uitlezen van data door een app die daar machtigingen voor heeft. Deze data, IMEI-nummer bijvoorbeeld, wordt weggeschreven in een bestand op de SD-kaart. Apps die geen toestemming hebben de IMEI-uit te lezen, zoeken naar het bestand op de SD-kaart en lezen zo de informatie uit. Dit geldt ook voor andere identifiers.

Apps die proberen het MAC adres van je toestel te achterhalen maar daar geen toestemming voor hebben lezen de ARP cache uit (te vinden in /proc/net/arp), onderscheppen de ioctl-call van de achterliggende SDK of vragen het bestand igd.xml op. Ook apps die op de een of andere manier je locatie proberen te achterhalen kunnen dit met een omweg doen door de EXIF-metadata uit foto’s uit te lezen.

SDK’s

Veel van deze kwetsbaarheden zitten in de SDK’s die zijn gebruikt om deze apps te ontwikkelen. Denk daarbij aan Baidu’s Maps SDK, Unity en de OpenX SDK. In het geval van de OpenX SDK waren de ontwikkelaars zelfs op de hoogte dat er op deze manier gevoelige data kan worden gedeeld.

Google is inmiddels op de hoogte en is druk bezig met het patchen. Helaas komen de meeste fixes alleen voor Android 10 (Q) waardoor een groot deel van Android-gebruikers nog jaren last zal hebben van deze bugs. De beveiligingsonderzoekers leggen hier uitgebreid uit hoe de kwetsbaarheden werken.