Forskare fann att många Android-appar i Google Play Butik hade sätt att kringgå Androids tillståndsmodell för att samla in användardata.
Trots användaruppfattning är Android faktiskt ganska säkert som ett mobilt operativsystem. Vi accepterar generellt antagandet att den svagaste länken är användaren; så länge du tittar på vad du installerar och vilka behörigheter du ger, bör du vara säker från obehörig åtkomst och distribution av dina data. Om du nekar en Android-app åtkomst till din plats, borde den appen inte ha något sätt att ta reda på var du är eller var du har varit. Vissa apputvecklare har dock kommit på sätt att komma runt Androids tillståndsmodell, enligt forskare från International Computer Science Institute (ICSI).
Enligt CNET, studien presenterades förra månaden kl PrivacyCon efter att ha avslöjats på ett ansvarsfullt sätt för både Google och FTC i september förra året. Även om tidning publicerad på FTC: s webbplats listar inte de exakta appar som teamet flaggade i sin analys (dessa detaljer kommer senare på
Usenix säkerhetskonferens nästa månad) ger den detaljer om deras analysmetod och hur apparna kringgick Androids tillståndsmodell. För vad det är värt säger Google att säkerheten och integriteten förändrar som Google har introducerat i Android Q kommer att stänga dessa bypass-metoder, så detta dokument ger värdefull insikt i Googles motiveringar för några av de plattformsändringar de har gjort i Android 10. Låt oss dyka in.Hur >1000 appar förbigick Androids tillståndsmodell
Forskarna skiljer mellan två olika tekniker för kringgående av säkerheten: sidokanaler och hemliga kanaler. Sidokanaltekniker innebär att få tillgång till viss information på ett sätt som inte täcks av säkerhetsmekanismen; appar brukade till exempel kunna spåra en enhets plats med hjälp av MAC-adressen tills Android Pie introducerade slumpmässig MAC-adress. Hemliga kanaltekniker involverar två tjänster som samarbetar för att skicka data från en tjänst som har giltig åtkomst till en som inte har det; till exempel kan en app som har beviljats platsåtkomst dela denna data med en app som inte har beviljats åtkomst.
ICSI-teamet analyserade 88 113 av de mest populära Android-apparna från den amerikanska Google Play Store och upptäckte över 1 000 appar och tredjepartsbibliotek som använda sidokanaler och/eller hemliga kanaler för att kringgå Androids säkerhetsåtgärder så att de kan komma åt platsdata och beständiga identifierare för användarnas enheter. Deras fullständiga datauppsättning bestod av 252 864 APK-filer sedan teamet med jämna mellanrum skrapade Play Butik efter nya versioner av de 88 113 appar som de planerade att analysera. De testade initialt varje apps beteende på en Google Nexus 5X körde Android 6.0.1 Marshmallow men testade senare sina resultat på en Google Pixel 2 kör Android Pie för att bevisa att deras resultat fortfarande var giltiga från och med den senaste utgåvan vid tidpunkten för avslöjandet.
Med denna datauppsättning utvecklade teamet en metod som använder dynamisk och statisk analys för att upptäcka kringgående av Androids tillståndsmodell. Med andra ord studerade teamet appbeteende genom att granska appens körtidsbeteende (dynamisk analys) eller skanna koden efter potentiellt skadligt beteende (statisk analys.) Skadliga apputvecklare är naturligtvis medvetna om dessa tekniker, och använder kodobfuskation och dynamisk kodladdning för att göra statisk analys svårare eller TLS avlyssning för att upptäcka när appen körs i en virtualiserad miljö, så ICSI-teamet använde en blandning av statisk och dynamisk analys (hybridanalys) i sin testning. Som ett resultat upptäckte teamet att följande data skrapades av appar som inte hade de nödvändiga behörigheterna:
- IMEI: Eftersom ett IMEI är en unik, beständig identifierare är det användbart för onlinetjänster att skrapa så att de kan spåra enskilda enheter. Teamet upptäckte att Salmonads och Baidu SDK: er använde en hemlig kanal för att läsa IMEI. Appar med legitim åtkomst till IMEI lagrade dolda filer på den externa lagringen som innehöll enhetens IMEI så att andra appar utan legitim åtkomst kunde läsa IMEI. Identifierade appar som använder Baidus SDK på detta sätt inkluderar Disneys nöjesparksappar för Hong Kong och Shanghai, Samsung Health och Samsung Browser.
- Nätverks MAC-adress: Nätverkets MAC-adress är också en unik identifierare, och vanligtvis skyddas den av behörigheten ACCESS_NETWORK_STATE. Enligt forskarna använde appar C++ inbyggd kod för att "anropa ett antal obevakade UNIX-systemanrop." Teamet identifierade 42 appar som använder Unity SDK för att öppna en nätverksuttag och en ioctl för att få MAC-adressen, även om de noterade att 748 av de 12 408 apparna innehöll koden i fråga men saknade ACCESS_NETWORK_STATE lov.
- Routers MAC-adress: ACCESS_WIFI_STATE-behörigheten skyddar BSSID, men genom att läsa ARP-cachen i /proc/net/arp kan en app erhålla den datan utan att behöva några behörigheter. Forskaren identifierade OpenX SDK som använder denna sidokanalteknik.
- Geolokalisering: Forskarna upptäckte att Shutterfly-appen fick åtkomst till platstaggarna för fotonas EXIF-metadata. Allt som krävs är READ_EXTERNAL_STORAGE-behörigheten.
I Android Q kräver Google nu att appar har READ_PRIVILEGED_PHONE_STATE-behörighet att läsa IMEI. Enheter som kör Android Q överför nu randomiserade MAC-adresser som standard. Slutligen, Android Q Räckvidd förvaring ändringar minskar möjligheten för appar att läsa platsdata från foton. Därför har dessa problem åtgärdats i den senaste Android-versionen, men som vi alla vet kommer det att göra det ta ganska lång tid för att den senaste uppdateringen ska spridas.
Slutsats
Sammantaget ger den här studien en upplysande titt på hur vissa appar kommer åt data som bör skyddas bakom behörigheter. Forskningen tittade bara på en delmängd av vad Google kallar "farliga" behörigheter, särskilt att hoppa över behörigheter som Bluetooth, kontakter och SMS. För alla detaljer om denna rapport rekommenderar jag att du läser papper som lämnats till FTC.