Forskere har påvist flere svagheder i Apples styresystemer, iOS og OS X, der ellers har et generelt ry for at være sikrere end flere konkurrerende produkter. Sårbarhederne gør det muligt for kriminelle bag ondsindede apps at opnå adgang til data i iPhone og MacBook, herunder lagrede passwords, som apps i sagens natur helst ikke burde kunne få adgang til.
Det er forskere ved den amerikanske delstat Indianas Universitet, ved Pekings Universitet og ved Georgia Institute of Technology, der har identificeret svaghederne. Forskerne har ikke alene demonstreret svaghederne, det er også lykkedes at få ondsindede apps, , der kan udnytte svaghederne, publiceret i Apples app-stores. Og altså derved omgå Apples screeningsproces. Det fortæller den amerikanske finanspublikation Forbes.
Ph.d-student Luyi Xing er hovedforfatter på forskningsarbejdet, der kan ses her.
Forskerne har gjort Apple opmærksom på deres fund i oktober 2014, men sårbarhederne skulle stadig være aktuelle. Og ifølge solutions architect og partner i app-virksomheden iDeal Development Esben Bjerregaard, som har set nærmere på sagen, er det da heller ikke muligt udelukkende at løse problemerne blot ved at patche operativsystemerne.
»Det er tydeligt, at der er nogle alvorlige huller i Apples sikkerhedsmodel. Problemet er, at det ikke er helt simple ting at fikse, da der ikke er tale om bugs i softwaren, men arkitekturproblemer. Der er simpelthen noget software, der ikke er designet rigtigt. Det betyder også, at alle apps, der anvender systemet her, skal skrives om. Det er ikke nok at ændre i Apples frameworks,« skriver Esben Bjerregaard i en mail til Version2.
Sårbarhederne skulle dog stadig være aktuelle, da de relaterer sig til den grundlæggende måde, hvorpå apps tilgår data i styresystemerne. Forskerne har specifikt set på Apples styresystemer i forhold til det, forskerne kalder cross-app resource access attacks (XARA).
Angrebsteknikken udnytter svagheder i den isoleringsmekanisme, der er på plads i moderne styresystemer, og som skal holde apps - altså programmer - adskilt, så malware får sværere ved at kompromittere systemet og stjæle data.
Svaghederne i iOS og OS X skyldes grundlæggende, at der mangler autentifikation i app til app-kommunikationen og i app til OS-kommunikationen, bemærker forskerne.
Keychain
I forhold til de konkrete svagheder har forskerne identificeret flere. En af dem relaterer sig til Apples Keychain i Mac OS X, hvor applikationer lagrer kritiske informationer - herunder passwords - til autentifikation, fortæller Forbes.
Hver app har adgang til sin egen lille del af keychain, kaldet et item. Forskerne har opdaget, at det er muligt for ondsindet software at lave et item, der ligner et andet - legitim app - item. Og på den måde tilgå de informationer, som de legitime apps lagrer i items.
»Forestil dig, at du går i banken og beder om at få en privat bankboks, og du siger, at du vil have bankboks nummer 1234. Banken tjekker, at boksen er tom, og udleverer derefter en nøgle til bankboksen. Du siger samtidig til banken, at alle godt må kigge i din nye bankboks. Herefter kommer en anden kunde, som også beder om at få bankboks 1234. Banken udlever endnu en nøgle til bankboksen. Den nye kunde siger, at nu må ingen kigge i boksen længere. Det respekterer banken, men da du allerede har fået udleveret en nøgle, opgraderes denne nøgle så den stadig virker. Du kan nu se alt, hvad kunde#2 putter i boksen,« skriver Esben Bjerregaard og fortsætter:
»Tricket kan kun lade sig gøre, så længe hijackeren får adgang, inden den reelle bruger når at oprette adgangen.«
Forskerne har demonstreret, hvordan Keychain-sårbarheden kan udnyttes til at få fat i autentifikationsoplysninger til Googles Chrome og Apples iCloud på Mac OS X. Google er - som følge af sårbarheden - stoppet med at integrere op mod Apples keychain, oplyser det britiske teknologimedie The Register.
Ifølge Forbes skulle Apple - siden forskerne kontaktede virksomheden i oktober 2014 om sårbarhederne - nu have ændret noget, så det ikke længere er muligt at udnytte svagheden specifikt i forhold til iCloud.
Og det er faktisk muligt, på app-niveau, at imødegå den specifikke sårbarhed i forhold til Keychain, forklarer Esben Bjerregaard - dog uden at tage stilling til, hvorvidt det lige er dette, Apple har gjort i forhold til iCloud:
»Apple burde bede udviklerne om at tjekke, om andre har adgang (det kan faktisk tjekkes), men det er ikke noget, man normalt gør, og det er ikke noget, Apple opfordrer til. Det betyder dybest set, at alle keychain-hemmeligheder på OS X kan læses af alle, såfremt man kender navnet på boksen og sørger for at få adgang, inden der puttes noget i den. Det lyder jo ikke særlig sundt.«
URL scheme
På iOS kan den specifikke keychain-sårbarhed ikke udnyttes. Det kan til gengæld en anden teknik, som forskerne har fundet frem til, der relaterer sig til det, der kaldes URL scheme.
Det er ifølge Esben Bjerregaard en primitiv teknik, der går ud på, at en app oplyser til iOS, at appen kan håndtere URL'er eksempelvis i formatet minapp://appData
Når apps snakker sammen, anvendes ofte en temmelig primitiv strategi kaldet et URL scheme. Her er teknikken, at man kan fortælle iOS, at ens app kan håndtere URL'er i formatet, f.eks:
minapp://appData
Hver gang en app har brug for at kontakte 'minapp', kan denne kaldes ved at kalde URL'en minapp://appData?x=123&y=234
Herefter vil iOS starte 'minapp' og sende variablerne x og y - henholdsvis med værdierne 123 og 234.
»Det er smart og simpelt. Hvis jeg f.eks. vil logge på Facebook, beder jeg iOS om at kalde Facebook-appen med noget a la Facebook://signon?appId=minapp,« skriver Esben Bjerregaard.
Men forskerne har opdaget, at det er muligt for en ondsindet app at registrere det samme URL scheme, som en legitim app anvender. Så når den legitime app bliver forsøgt kaldt via URL scheme, vil data blive sendt til den ondsindede app.
På OS X er det det scheme, der først bliver registreret, som får forrang, når kald bliver gennemført. På iOS er det det URL scheme, der senest er blevet registreret, som data bliver sendt til. Så problemet er altså umiddelbart større på iOS end på Mac OS X, som Forbes bemærker i forbindelse med et citat fra forskernes rapport:
»Alle tredjeparts-apps, som kører på iPhone og iPad, er fuldstændig ubeskyttede i forhold til denne trussel.«
Ifølge Esben Bjerregaard er det ikke noget problem at hijacke eksempelvis det URL scheme, som Facebook anvender, da formatet er kendt. Ellers ville det jo heller ikke kunne kaldes via andre apps, og pointen med et URL scheme ville falde til jorden, som Esben Bjerregaard bemærker.
Bundle ID
Forbes omtaler endnu en sårbarhed, som forskerne har fundet frem til, specifikt i forhold til sandbox-modellen i Mac OS. For at beskytte programmer mod malware får alle godkendte Mac-apps et unikt id kaldet et Bundle ID (BID). Det definerer, hvad de enkelte apps kan tilgå uden for deres egen container, samt hvilke data appen blotlægger.
Apps får tildelt et BID, når de bliver godkendt til App Store, og der bliver tjekket for dubletter. Under-pogrammer, der kører inden i en app, bliver dog ikke tilstrækkeligt valideret. Det vil sige, at underprogrammet, kan bruge en legitim apps BID til at få adgang til den legitime apps container og dermed data. Forskerne har blandt andet brugt dette angreb til - som proof-of-concept - at stjæle data fra den populære note-app EverNote.
I rapporten bemærker forskerne:
»Resultatet er, at en ondsindet app får fuld adgang til andre apps -containere, hvilket fuldstændigt kompromitterer sandbox-indespærringen.«
Apples egne programmer anvender reserverede BIDs og kan derfor ikke kompromitteres via dette angreb.
Hjælp fra Facebook
Forskerne har fundet frem til endnu en svaghed specifikt i Mac OS X. Den involverer WebSocket, der bliver brugt til at vise web-indhold i apps. På grund af manglende autentifikation er det lykkedes forskerne at hijacke en port og opnå adgang til en legitim apps web-indhold via en ondsindet app. Det har forskerne konkret brugt til at få adgang til oplysninger lagret via den populære passwordhusker 1Password.
Historien om sårbarhederne i Apples OS’er, der udsprang af forskernes rapport, der udkom i sidste uge, ruller videre i denne uge.
Forbes fortæller i en historie bragt i går, tirsdag, at mens Apple endnu ikke har et bud på, hvornår sårbarhederne bliver løst, er Facebook klar med en hjælpende hånd.
Nærmere bestemt drejer det sig om den sociale medie-virksomheds værktøj osquery.
Det er et open source-framework, der kan bruges til at overvåge sikkerheden i operativsystemer. Facebook har opdateret frameworket til detektere forsøg på at udnytte de svagheder, som forskerne har identificeret.
Forbes citerer Mike Arpaia, softwareingeniør hos Facebooks sikkerhedsteam i den forbindelse:
»På dette tidspunkt kender vi ikke til defensive sikkerhedsprodukter, andet end osquery, der kan detektere udnyttelsen af alle sårbarheder, som Xing-rapporten ridser op,« siger Arpaia med henvisning til hovedforfatteren, Luyi Xing.
Arpaia fortsætter:
»Vi frigav osquery sidste år, fordi vi ønsker, at internettet skal være et mere sikkert sted. Ved at vedligeholde en osquery-installation i din organisation, så vil du være bedre i stand til at detektere angreb på klientsiden mod OS X-brugere.«
Både The Register og Forbes har forsøgt at få kommentarer fra Apple, dog uden held.