Af Kenneth Geisshirt, Alt om Data
Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.
Android er et af verdens mest udbredte styresystemer. I dag er der omkring to milliarder aktive telefoner eller tablets, som kører Android. Når så mange mennesker hver dag bruger et styresystem, er det ikke uvæsentligt, hvor sikkert det er. Android har et ry for at være mere usikkert end andre styresystemer. I denne artikel vil vi se nærmere på, hvilke sikkerhedsfunktioner Android har og vil få i den nærmeste fremtid.
Android er Linux
Lad os begynde med at se på, hvordan Android i virkeligheden er bygget. Android benytter Linux som kerne og har en del basale værktøjer til fælles med Linux-distributioner som Ubuntu Linux. Det er dog værd at indskyde, at Android benytter en Linux-kerne med en række modifikationer. Modifikationerne er primært skabt for at give en bedre ydeevne eller brugeroplevelse.
Linux låner mange koncepter fra gamle UNIX, og det mest basale i UNIX er adskillelsen af brugere. Alle filer og foldere ejes af en bruger, og brugeren kan give andre adgang til filerne. Eftersom alt er filer (og er det ikke en fil, bygger UNIX en abstraktion, så det ligner en fil), er programmer også filer. Den UNIX’ske sikkerhedsmodel betyder, at der kan være programmer på en computer, som kun brugeren selv kan køre.
På en Android-telefon oprettes der en bruger for hver app.
Det er en del af installationsprocessen. Det sikrer, at en app ikke kan tilgå andres apps’ filer. Generelt har det virket godt i UNIX, men amerikanske NSA (National Security Agency) har været af den mening, at Linux burde have en højere sikkerhed. For snart 20 år siden begyndte NSA at designe SELinux (Security Enhanced Linux), som en mere fintmasket sikkerhedsmodel end klassiske UNIX.
Langt de fleste Linux-distributioner i dag bruger SELinux i et eller andet omfang. Android bruger SELinux til bl.a. at styre, om en app må bruge kameraet, få adgang til netværk og meget andet. Med SELinux er hver app isoleret i deres egen lille sandkasse, og det er meget svært at bryde ud af den. Vælger du at roote din telefon, giver du mulighed for, at apps kan bryde ud.
Sidst men ikke mindst benytter Linux sig af et kontrolsystem på meget lavt niveau. Systemet går under navnet SECCOMP (Secure Computing Mode). Når SECCOMP er slået til, kan en app ikke tilgå bestemte ressourcer (for eksempel åbne en ny fil). Gør den det alligevel, vil Linux-kernen øjeblikkelig lukke appen ned.
Sjældne opdateringer
Android er et open source-projekt, og alle kan i princippet benytte det i deres egne produkter. Google leverer jævnligt opdateringer, og i de senere år er der udkommet sikkerhedsopdateringer med faste mellemrum. Problemet er dog, at fabrikanterne og teleselskaberne ikke har været særlig ivrige med at få de opdateringer ud til alle telefoner og tablets. Personligt har jeg været nødt til at skrive work-arounds til tablets, hvor fejlen var rettet for syv år tidligere!
Udfordringen er, at det er svært for fabrikanter og teleselskaber at opdatere. Grunden er, at Androids arkitektur har bevirket, at det hardware-nære (som især fabrikanterne udvikler og vedligeholder) og Android-miljøet (som Google vedligeholder) er blandet for meget sammen.
Under årets Google I/O introducerede Google projektet Treble. Meningen med Treble er at give en bedre adskillelse mellem, hvad Google har ansvar for, og hvad fabrikanterne/teleselskaberne har ansvar for. På den måde kan hver især lettere rulle opdateringer ud til kunderne.
Desværre kommer Treble ikke til tidligere versioner af Android. Det betyder, at du skal have en telefon med Android O (frigives sandsynligvis senere på året). Endvidere vides det ikke helt, hvordan fabrikanterne og teleselskaber vil forvalte deres nye muligheder. Forhåbentlig vil vi se nogle telefonmærker og -modeller, hvor opdateringer vil ske. Det vil give os forbrugere en reel mulighed for at vælge en telefon, som kan opdateres.
Gamle versioner
Vi har allerede set, at det er sjældent, at der kommer opdateringer til Android. Eller rettere, Google opdaterer hele tiden Android, men opdateringerne finder sjældent vej til forbrugerne. Det er et problem, da Android-telefoner bruges i meget lang tid. Lagkagediagrammet nedenfor viser aktive Android-telefoner/tablets, og hvilken version af Android de kører.
API 19 er KitKat (4.4), og disse versioner modtager kun de mest kritiske sikkerhedsopdateringer fra Google. Alle tidligere API-versioner (dvs. tallene 21-24) er ikke understøttet længere. Diagrammet her på siden viser, at under 75 % af alle aktive Android-telefoner vedligeholdes af Google. Og samtidig benytter 10 % af Android-telefoner en version, som på ingen måde modtager sikkerhedsopdateringer.
Set i det lys er der grund til bekymring. De 10 % brugere med meget gamle telefoner er lette ofre for at blive fanget i et kendt sikkerhedshul. Kender du nogen, som har en meget gammel telefon, bør du forklare vedkommende, at det er en god idé at skifte. API 21 og frem er stadig understøttet af Google. Diagrammet er baseret på data fra begyndelsen af juli 2017.
Play Store
Det er ingen hemmelighed, at Android har haft problemer med apps, som udnytter svagheder i sikkerheden. Folk/organisationer med mindre ædle bagtanker har kunne skrive en app, som ligner en kendt app. Ved at lokke brugerne til at installere appen, kunne disse skumle personager få adgang til data, som de på ingen måde bør have adgang til. Det har ofte været kreditkortdata eller login-informationer.
Under Google I/O 2017 annoncerede Google en ny funktionalitet, som skal forbedre sikkerheden. Funktionaliteten går under navnet Google Play Protect. Ideen er, at Google dagligt scanner alle apps i Play Store. Finder de en app, som har sikkerhedsproblemer, vil den blive fjernet. Endvidere scannes enhver app på telefonen, når den installeres og med jævne mellemrum, mens den er installeret. Hvad der scannes for er ikke helt gennem-skueligt. Google siger selv, at de scanner omkring 50 milliarder apps om dagen. Det tal må være fra de lokale scanninger.
Du kan vælge at installere apps udenom Google Play Store. Android er et åbent system, og du har friheden til at vælge. Men du skal grundigt overveje, om en app på en tilfældig hjemmeside er sikker. Desværre har ikke alle Android-brugere adgang til Play Store, for eksempel er alle Googles tjenester blokeret i Kina. Play Protect er ikke fuldt udrullet, og det fremgår ikke tydeligt, om alle Android-telefoner vil scanne lokalt.
![](https://www.computerworld.dk/uploads/aod/2017/11/sikkerhedszonen-1024x635.jpg)
Telefonen som browser
Det er ikke ualmindeligt, at apps henter data fra internettet. I virkeligheden er mange apps faktisk specialiserede webbrowsere. For eksempel bruger jeg Feedly til at læse nyheder med. Feedly viser mig websiden i stedet for at åbne den i en browser. Eftersom en app-udvikler ikke har lyst eller tid til at tænke sikkerhed helt ned i mindste detalje, er det en fordel at bruge WebView-komponenten til at vise webindhold.
WebView udvikles af Google, og der er nu stor fokus på at mindske risikoen ved at tilgå helt tilfældige sider på internettet. Tjekker du din Android-telefon, vil du se, at selvom WebView er en komponent, installeres den som en app. Det gør, at Google kan opdatere komponenten uden at skulle vente på, at leverandørerne vælger at opdatere. Generelt bliver WebView opdateret med 6 ugers mellemrum!
Bruger du Chrome, kender du uden tvivl safe browsing. Her bliver du advaret om, at en hjemmeside kan indeholde malware og andet skidt. Denne teknologi flytter nu over i WebView, så du får samme advarsel. I Play Store finder du i dag WebView – den eneste software-komponent som opdateres som en app.
![](https://www.computerworld.dk/uploads/aod/2017/11/sikkerhesazonen-1024x782.jpg)
eneste software-komponent som opdateres som en app.
Er Android sikkert?
Der findes intet it-system, som er fuldstændig sikkert. En Android-telefon indeholder meget kompleks software, som kan vekselvirke på mange forskellige måder. Sandsynligheden for, at udviklerne bag Android ikke har tænkt alle kombinationer igennem, er stor, og det kan måske udnyttes.
Men når det er sagt, så har Android-udviklerne forsøgt at begrænse mulighederne for svagheder. Ingen app kan få adgang til andres apps’ data. Rooter du din telefon, svækker du sikkerheden, eftersom disse isolerede sandkasser af apps pludselig ikke findes længere. Google forsøger med Play Protect og andre tiltag at øge sikkerheden, men det kræver, at leverandørerne følger op på det. Næste gang, du køber en telefon, bør du se nærmere på, hvilke leverandører og modeller som modtager løbende opdateringer.
[irp]
Jo, Android er langt hen ad vejen et sikkert system. Du har selv et ansvar for ikke at svække sikkerheden. Er der venner og bekendte med Android-telefoner i din omgangskreds, bør du overveje, om du ikke kan hjælpe dem med at få en mere sikker telefon. Måske er alle de nyeste sikkerhedsfunktioner i Android værd at overveje – måske er det tid til at skifte til en nye model!
Links
Googles officielle side om Android-sikkerhed: https://www.android.com/security-center/
Opdateret liste med sikkerhedsfejl og -rettelser: https://source.android.com/security/bulletin/
Oversigt over hvilken version som er i brug: https://developer.android.com/about/dashboards/index.html
Oversigt over Android-historikken: https://en.wikipedia.org/wiki/Android_version_history
Gennemgang af Treble: https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html
Historien om en gammel fejl i Android - og en work-around: https://news.realm.io/news/when-memmove-fails
Security Enhanced Linux: https://en.wikipedia.org/wiki/Seccomp">https://en.wikipedia.org/wiki/Security-Enhanced_Linux SECCOMP: https://en.wikipedia.org/wiki/Seccomp