Forskere fandt ud af, at mange Android-apps i Google Play Butik havde måder at omgå Androids tilladelsesmodel til at høste brugerdata på.
På trods af brugernes opfattelse er Android faktisk ret sikkert som et mobilt OS. Vi accepterer generelt den forudsætning, at det svageste led er brugeren; så længe du ser, hvad du installerer, og hvilke tilladelser du giver, bør du være sikret mod uautoriseret adgang og distribution af dine data. Hvis du nægter en Android-app adgang til din placering, så burde den app ikke have nogen måde at finde ud af, hvor du er, eller hvor du har været. Nogle app-udviklere har dog fundet ud af måder at komme uden om Androids tilladelsesmodel, ifølge forskere fra International Computer Science Institute (ICSI).
Ifølge CNET, blev undersøgelsen præsenteret i sidste måned kl PrivacyCon efter at være blevet ansvarligt videregivet til både Google og FTC i september sidste år. Selvom papir offentliggjort på FTC's hjemmeside viser ikke de nøjagtige apps, som teamet har markeret i deres analyse (disse detaljer vil komme senere på
Usenix sikkerhedskonference næste måned), giver den detaljer om deres analysemetode og hvordan apps omgåede Androids tilladelsesmodel. For hvad det er værd, siger Google, at sikkerheden og privatlivets fred ændrer Google har introduceret i Android Q vil lukke disse bypass-metoder, så dette papir giver værdifuld indsigt i Googles begrundelser for nogle af de platformændringer, de har foretaget i Android 10. Lad os dykke ind.Hvordan >1000 apps omgik Androids tilladelsesmodel
Forskerne skelner mellem to forskellige sikkerhedsomgåelsesteknikker: sidekanaler og skjulte kanaler. Sidekanalteknikker involverer at få adgang til bestemte oplysninger på en måde, der ikke er dækket af sikkerhedsmekanismen; for eksempel plejede apps at kunne spore en enheds placering ved hjælp af MAC-adressen, indtil Android Pie introducerede MAC-adresserandomisering. Covert channel-teknikker involverer to tjenester, der samarbejder om at sende data fra en tjeneste, der har gyldig adgang til en, der ikke har; for eksempel kan en app, der har fået lokationsadgang, dele disse data med en app, der ikke har fået adgang.
ICSI-teamet analyserede 88.113 af de mest populære Android-apps fra den amerikanske Google Play Butik og opdagede over 1.000 apps og tredjepartsbiblioteker, der ansætte sidekanaler og/eller hemmelige kanaler til at omgå Androids sikkerhedsforanstaltninger, så de kan få adgang til lokationsdata og vedvarende identifikatorer for brugeres enheder. Deres fulde datasæt bestod af 252.864 APK'er, siden holdet med jævne mellemrum skrabet Play Butik for nye versioner af de 88.113 apps, de planlagde at analysere. De testede oprindeligt hver apps adfærd på en Google Nexus 5X kører Android 6.0.1 Marshmallow, men testede senere deres resultater på en Google Pixel 2 kører Android Pie for at bevise, at deres resultater stadig var gyldige fra den seneste udgivelse på tidspunktet for offentliggørelsen.
Med dette datasæt udviklede teamet en metode ved hjælp af dynamisk og statisk analyse til at opdage omgåelse af Androids tilladelsesmodel. Med andre ord studerede teamet app-adfærd ved at revidere appens runtime-adfærd (dynamisk analyse) eller scanne koden for potentielt ondsindet adfærd (statisk analyse.) Ondsindede app-udviklere er naturligvis opmærksomme på disse teknikker, ved at bruge kodesløring og dynamisk kodeindlæsning for at gøre statisk analyse sværere eller TLS aflytning for at registrere, når appen kører i et virtualiseret miljø, så ICSI-teamet brugte en blanding af statisk og dynamisk analyse (hybridanalyse) i deres afprøvning. Som et resultat opdagede holdet, at følgende data blev skrabet af apps, der ikke havde de nødvendige tilladelser:
- IMEI: Da en IMEI er en unik, vedvarende identifikator, er det nyttigt for onlinetjenester at skrabe, så de kan spore individuelle enheder. Holdet opdagede, at Salmonads og Baidu SDK'er brugte en skjult kanal til at læse IMEI. Apps med legitim adgang til IMEI'et lagrede skjulte filer på det eksterne lager, der indeholdt enhedens IMEI, så andre apps uden legitim adgang kunne læse IMEI'et. Identificerede apps, der bruger Baidus SDK på denne måde, omfatter Disneys forlystelsespark-apps til Hong Kong og Shanghai, Samsung Health og Samsung Browser.
- Netværks MAC-adresse: Netværkets MAC-adresse er også en unik identifikator, og den er normalt beskyttet af tilladelsen ACCESS_NETWORK_STATE. Ifølge forskerne brugte apps indbygget C++-kode til at "kalde et antal ubevogtede UNIX-systemopkald." Holdet identificerede 42 apps, der brugte Unity SDK til at åbne en netværksstik og en ioctl for at få MAC-adressen, selvom de bemærkede, at 748 ud af de 12.408 apps indeholdt den pågældende kode, mens de manglede ACCESS_NETWORK_STATE tilladelse.
- Router MAC-adresse: ACCESS_WIFI_STATE-tilladelsen beskytter BSSID'et, men læsning af ARP-cachen i /proc/net/arp giver en app mulighed for at få disse data uden at have brug for nogen tilladelser. Forskeren identificerede OpenX SDK som bruger denne sidekanalteknik.
- Geoplacering: Forskerne opdagede, at Shutterfly-appen fik adgang til lokationsmærkerne på billedernes EXIF-metadata. Det eneste, der kræves, er READ_EXTERNAL_STORAGE-tilladelsen.
I Android Q kræver Google nu, at apps har READ_PRIVILEGED_PHONE_STATE-tilladelsen til at læse IMEI. Enheder, der kører Android Q, sender nu randomiserede MAC-adresser som standard. Endelig Android Q'er Omfanget opbevaring ændringer formindsker apps mulighed for at læse placeringsdata fra fotos. Disse bekymringer er således blevet behandlet i den seneste Android-udgivelse, men som vi alle ved, vil det ske tage ret lang tid for at udbrede den seneste opdatering.
Konklusion
Samlet set giver denne undersøgelse et oplysende kig på, hvordan nogle apps får adgang til data, der bør beskyttes bag tilladelser. Undersøgelsen så kun på en delmængde af, hvad Google kalder "farlige" tilladelser, især spring over tilladelser som Bluetooth, kontakter og SMS. For de fulde detaljer om denne rapport, anbefaler jeg at læse papir indsendt til FTC.