Hundredvis af apps i Apples iOS App Store har været inficeret med skadelig programkode.
Nogle af dem er velkendte og populære apps, som der normalt ikke er grund til at mistænke.
De inficerede apps slap gennem Apples sikkerhedstjek, der ellers har ry for at være ganske effektivt.
Hændelsen kan lære os flere ting. For eksempel, at Apple-udstyr ikke per definition er sikkert. Og at angribere ved at udnytte utraditionelle veje kan udrette omfattende skade.
Hvordan kom den skadelige kode overhovedet ind i appsene?
Forklaringen ligger i udviklingsværktøjet.
Apple anbefaler, at softwareudviklere anvender værktøjet Xcode, når de udvikler apps til iOS og OS X.
Filerne med Xcode-miljøet fylder omkring tre gigabyte.
Ikke noget problem for en dansk udvikler med en god internetforbindelse.
Men for en udvikler i Kina eller andre steder i verden kan det handle om timer eller dage, der skal afsættes til at hente filerne fra Apples websted.
Læs også: Apples App Store ramt af malware: Apple fjerner malware-inficerede apps
Kinesere søger lokale filer
Derfor søger udviklere i Kina gerne efter kopier på servere, der er tættere på dem.
En søgning på Google fører til en hel række af websteder, der tilbyder kopier af Xcode.
De har været tilgængelige siden midten af marts. Og de indeholder en ubehagelig overraskelse.
Blandt filerne er nemlig nogle objektfiler, der indeholder skadelig kode.
Objektkode kan ikke afvikles direkte. Men den kan linkes sammen med andre moduler til egentlige programmer.
Foruden de ekstra objektfiler var der også ændret i konfigurationen af Xcode. Værktøjet blev indstillet til som standard at linke de skadelige objektfiler med i alle apps, det blev brugt til at udvikle.
Bagdør i udviklingsværktøjet
De ukendte bagmænd har altså udført et angreb af den type, vi kan kalde compiler-bagdøren. Den type angreb har været kendt i teorien siden i hvert fald 1974.
Et eksempel fra Windows-verdenen er virussen Induc, der inficerer programmeringsbiblioteker til udviklingsmiljøet Delphi. Den dukkede op i 2009.
Det smarte ved en compiler-bagdør set fra angriberens side er, at han udnytter den tillid, brugerne har til deres softwareleverandører.
Brugerne regner ikke med at blive ramt af skadelig software, når de henter eller opdaterer apps, som de kender og har tillid til.
Angriberen slipper derfor for besværet med at distribuere sine skadelige programmer. Det ordner udviklerne for ham uden at vide det.
Ifølge nogle estimater er over 4.000 apps inficeret med XcodeGhost, som det skadelige program kaldes.
Ukendt hul
Apple har med rette ry for at have god sikkerhed i iOS-økosystemet.
Det skyldes primært, at brugerne kun kan hente apps fra iOS App Store, og at alle apps bliver udsat for et sikkerhedstjek, før de bliver godkendt.
Hvordan er det så gået til, at apps inficeret med XcodeGhost slap igennem kontrollen? Det ved vi ikke.
Jeg gætter på, at Apple fokuserer på at analysere de dele af appen, som udvikleren har skrevet.
Der er ingen grund til at analysere indholdet af Xcode, som Apple jo selv har lavet. Eller: Sådan burde det være.
Rapporterer til server
Heldigvis ser det ikke ud til, at de mange apps har forvoldt alvorlig skade.
De har øjensynlig indrapporteret oplysninger om appen og den enhed, den kører på. De er landet på nogle servere, som bagmændene havde kontrol over.
XcodeGhost har også mulighed for at se og ændre indholdet af udklipsholderen.
I teorien kan det bruges i angreb på brugere, der anvender et password manager-program: Når et password kopieres fra password manageren med henblik på at indsætte det i et andet program, kan XcodeGhost opsnappe det.
XcodeGhost som bagdør
Måske mere alvorligt er det, at XcodeGhost kommunikerer med sine servere via ukrypteret HTTP.
Dermed er det muligt at udføre man-in-the-middle-angreb på enheder, der er inficeret med XcodeGhost: Andre kan give sig ud for at være den server, der kan give kommandoer til programmet.
Lukket for antivirus
XcodeGhost er en påmindelse om, at bagdøre i compilere er en særlig lumsk og effektiv angrebsform.
Og så viser affæren, at skønt Apple har god sikkerhed, er den ikke ufejlbarlig.
Derfor ville jeg gerne anbefale iOS-brugere at installere et antivirusprogram. Men det kan jeg ikke.
Apple tillader dem nemlig ikke længere i App Store. De fjernede alle antivirusprodukter i marts - sjovt nok samtidig med, at XcodeGhost begyndt at sprede sig.
Apple: Den beslutning bør I omgøre.
DKCERT (www.cert.dk) er et dansk Computer Security Incident Response Team, der håndterer sikkerhedshændelser på forskningsnettet. I samarbejde med tilsvarende organisationer over hele verden indsamler DKCERT information om internetsikkerhed. DKCERT er en organisation i DeIC, DTU.
Henrik Larsen opdaterer en gang om måneden Computerworlds læsere med de seneste tendenser inden for informationssikkerhed.