Sikkerhedsforskerne Talal Haj Bakry og Tommy Mysk har demonstreret, at en app hentet uden for Mac App Store kan få sit hovedprogram udskiftet efter første åbning og derefter starte uden en ny Gatekeeper-advarsel. Det er alvorligt, fordi den ændrede app kan fremstå under et kendt navn og ikon. Men det er ikke et angreb fra ingenting: skadevaren skal allerede kunne køre som den aktuelle bruger, og adgang til Nøglering, Skrivebord og Dokumenter kræver fortsat brugerens godkendelse.
Sådan fungerer det demonstrerede angreb
En macOS-app er i praksis en mappe med blandt andet programfil, ikoner, biblioteker og metadata. Ifølge Mysks tekniske gennemgang beskytter macOS normalt indholdet, når en app er installeret og åbnet. Forskerne fandt imidlertid, at de kunne arkivere app-pakken, fjerne originalen og gendanne pakken samme sted. Derefter kunne de udskifte appens hovedprogram med deres egen ad hoc-signerede kode.
Den ændrede app startede uden en ny Gatekeeper-advarsel. Hvis programfilen derimod blev udskiftet før appens første åbning, afviste macOS den som beskadiget. Fundet handler derfor om tillid, som allerede er etableret ved den første kontrol.
Forskerne brugte Signal som eksempel, men understreger, at det ikke er en fejl i Signal. De reproducerede samme grundlæggende adfærd med flere brugerinstallerede apps fra nettet. Deres test omfattede macOS Tahoe 26.0 til 26.5.2 og de første fire betaer af macOS 27; tidligere versioner kan ifølge dem være berørt, men blev ikke testet.
Hvad angriberen allerede skal kunne
Det vigtigste for risikovurderingen er forudsætningen: En angriber skal allerede have fået en skadelig app eller et script til at køre med den aktuelle brugers rettigheder. Det er hverken et zero-click-angreb eller en metode, der alene kan inficere en Mac via et besøg på en hjemmeside.
Det gør ikke fundet ligegyldigt. Kodekørsel som en almindelig bruger er et realistisk første trin i mange angreb, og metoden kan derefter bruges til at gemme den skadelige kode bag en app, brugeren allerede stoler på. Men fundet bør ikke beskrives som fri adgang til enhver Mac eller som et komplet brud på alle macOS-beskyttelser.
Den falske app arver ikke alle rettigheder
Mysks erstatningsprogram arvede ikke den oprindelige apps udviklersignatur, entitlements eller allerede godkendte TCC-rettigheder. Det kunne derfor ikke lydløst læse beskyttede mapper eller Nøglering. macOS viste nye, ægte systemdialoger, før sådan adgang kunne gives.
Problemet er, at dialogerne viste den kendte apps navn og ikon. I demonstrationen kunne en ændret Signal-app derfor bede om adgang på en måde, der så ud til at komme fra Signal. Angrebet omgår altså ikke selve tilladelsesdialogen; det forsøger at udnytte brugerens tillid til afsenderen. Det er en vigtig forskel, men også grunden til, at forskerne mener, at adfærden er sikkerhedsrelevant.
Apple og forskerne er uenige om grænsen
Apple beskriver Gatekeeper som teknologien, der kontrollerer, at software fra nettet kommer fra en identificeret udvikler, er notariseret og ikke er ændret. Apples vejledning til Mac-brugere siger samtidig, at den centrale kontrol sker, før downloadet software åbnes første gang.
Ifølge Mysks offentliggjorte tidslinje blev rapporten sendt til Apple 4. juni med proof-of-concept-kode den 11. juni og lukket 14. juli. Apple vurderede, at Gatekeeper og TCC ikke var omgået: Angriberen havde allerede kodekørsel, den bruger-ejede app-pakke blev erstattet, og nye følsomme rettigheder krævede fortsat godkendelse. Apple anså derfor det sidste trin som social engineering og ikke som et sikkerhedshul, der krævede en rettelse.
Forskerne accepterer, at TCC og kode-signering ikke bliver direkte omgået, men mener, at macOS burde genvalidere appen, når programfilen er ændret, eller vise den faktiske kode-signatur i tilladelsesdialogen. Det ville gøre det tydeligt, at anmodningen ikke kommer fra den oprindelige udvikler.
Perspektiverne spænder fra alvorligt hul til begrænset risiko
Privacy Guides fremhæver, at udskiftningen ikke kræver administratorrettigheder, og at de ægte systemdialoger kan gøre den falske app overbevisende. The Register lægger tilsvarende vægt på konflikten mellem den fortsatte app-identitet og den ændrede programfil.
Macworld anlægger den modsatte vurdering og kalder et praktisk angreb vanskeligt, fordi angriberen først skal have adgang til at køre kode eller overbevise brugeren om flere handlinger. Den vurdering er vigtig som modvægt, men den må ikke forveksles med, at fysisk adgang er et teknisk krav: Mysks proof of concept kræver kodekørsel som brugeren, ikke nødvendigvis fysisk adgang til maskinen.
Der er heller ikke offentliggjort et CVE-nummer eller dokumentation for aktiv udnyttelse i virkelige angreb. Vi kan derfor med sikkerhed sige, at adfærden er demonstreret under de beskrevne betingelser – ikke at Mac-brugere allerede bliver ramt i stor skala.
Det bør du gøre som Mac-bruger
- Installer helst apps fra Mac App Store eller direkte fra en udvikler, du kender.
- Hold macOS og apps opdateret, men vær opmærksom på, at Apple endnu ikke har lovet en specifik rettelse til dette fund.
- Godkend ikke pludselige anmodninger om Nøglering, Skrivebord, Dokumenter, kamera eller mikrofon alene fordi dialogen viser et kendt appnavn.
- Hvis en kendt app uventet beder om nye følsomme rettigheder, så afvis, afslut appen og hent en frisk kopi fra den officielle udvikler.
- Undgå scripts, piratkopieret software og downloads fra tilfældige spejlsider. De kan levere den første kodekørsel, som dette angreb kræver.
Apples notarization og Gatekeeper er fortsat værdifulde sikkerhedslag, men de er ikke en garanti for, at en app forbliver uændret for altid. Den præcise og forsvarlige konklusion er derfor: Fundet viser en reel tillids- og identitetsbrist efter første åbning, mens de øvrige macOS-lag stadig begrænser, hvad en angriber kan gøre uden nye tilladelser.