En zero-day är en säkerhetsbrist som utnyttjas innan leverantören har en rättelse för den, så kallad eftersom försvararna har haft noll dagar på sig att reagera. Det är den mest oroande kategorin av hot eftersom det vanliga rådet, ”håll din programvara uppdaterad”, inte gäller ännu: det finns inget att uppdatera till. Den här artikeln tittar på hur de här bristerna faktiskt har sett ut på Apples plattformar, med stöd i Apples egna säkerhetsutgåvor, Google Project Zero och Citizen Lab, och sedan på det enda som ett okänt angrepp ändå måste göra efter att det lyckats.
En sak behöver sägas redan från början, eftersom marknadsföringen kring det här ämnet ofta är vilseledande: ingen brandvägg stoppar ett angrepp av det här slaget. Inte FireAI, inte någon annan. En brandvägg kan inte se en missbildad bild som tolkas inuti iMessage eller en kärnbugg som utlöses från en webbsida. Vad en brandvägg kan göra är att bevaka vad som händer härnäst, och det visar sig spela större roll än det först verkar.
Vad dokumentationen faktiskt visar
Apple dokumenterar varje säkerhetsrättelse på sin sida Apples säkerhetsutgåvor, och när en brist redan användes mot verkliga människor säger Apple det med en standardfras: ”Apple känner till en rapport om att det här problemet kan ha utnyttjats aktivt.” Att läsa den sidan över några år ger en mer jordnära bild än någon rubrik. Google Project Zero för ett kompletterande offentligt register, sin 0-day-lista ”In the Wild”, som listar angrepp som upptäckts i verkliga attacker innan en patch fanns. Project Zero är noga med att påpeka att listan bara innehåller fall som upptäcktes, vilket per definition är angriparens misslyckanden, så den kan inte användas för att räkna hur mycket utnyttjande som faktiskt sker eller för att jämföra plattformar.
Tre dokumenterade fall visar problemets form.
FORCEDENTRY, 2021
I mars 2021 analyserade Citizen Lab vid University of Toronto telefonen hos en saudisk aktivist och återfann ett angrepp som de gav namnet FORCEDENTRY. Det var en zero-click-attack: en särskilt utformad fil, levererad via iMessage, som inte krävde något tryck från offret och som installerade NSO Groups spionprogram Pegasus. Citizen Lab fann bevis för att det hade använts sedan åtminstone februari 2021. Apple rättade bristen, CVE-2021-30860 i bildtolkaren i CoreGraphics, den 13 september 2021 i iOS 14.8, macOS Big Sur 11.6 och en säkerhetsuppdatering för Catalina; Apples egna versionsanteckningar för Big Sur 11.6 bekräftar att bristen ”kan ha utnyttjats aktivt”.
Google Project Zero publicerade senare en teknisk analys som förklarar varför den här sortens sak är så svår att fånga. Buggen fanns i JBIG2-koden för bildkomprimering som används inuti PDF-filer. NSO:s angrepp använde formatets egna logiska operatorer för att, av mer än 70 000 bildsegmentkommandon, bygga en liten fungerande dator inuti bildavkodaren, och körde resten av attacken på den. Inget i det ser ut som ett program utifrån. Det är en bild, öppnad av en legitim, signerad systemprocess.
Vattenhålet i Hongkong, 2021
I slutet av augusti 2021 hittade Googles Threat Analysis Group en vattenhålskampanj riktad mot besökare på webbplatserna för ett medieföretag och en demokratirörelse i Hongkong. Mot Mac kedjade den en WebKit-brist som redan rättats i januari med en bugg för privilegieeskalering i kärnan, CVE-2021-30869, som fortfarande var opatchad på macOS Catalina; Apple rättade den 23 september 2021. Lasten, en bakdörr som Google kallade MACMA, kunde fingeravtrycka maskinen, fånga skärmen, spela in ljud, logga tangenttryckningar, ladda upp och ner filer och köra terminalkommandon.
Det här exemplet är lärorikt eftersom angreppet och lasten är två skilda saker. Angreppet var osynligt: en webbsida. Lasten var ett vanligt inplanterat program som, för att vara till någon nytta för sina operatörer, måste upprätta en kommando- och kontrollkanal och flytta data bort från datorn. Googles rapport beskriver exakt den infrastrukturen.
BLASTPASS, 2023
I september 2023 rapporterade Citizen Lab BLASTPASS, ännu en zero-click-kedja via iMessage som levererade Pegasus, den här gången genom PassKit-bilagor med ondsinta bilder. Apple tilldelade CVE-2023-41064 och CVE-2023-41061 och levererade rättelser för iPhone, iPad, Mac och Apple Watch. Anmärkningsvärt är att både Apples säkerhetsingenjörer och Citizen Lab sade att de trodde att låst läge (Lockdown Mode) blockerade just den här kedjan, vilket är det starkaste offentliga beviset för att det som fungerar mot den här klassen av hot är att minska angreppsytan, snarare än att upptäcka attacken.
Varför det är så svårt att upptäcka själva angreppet
Sätt de tre fallen sida vid sida och mönstret är tydligt. Angreppet anländer som data (en bild, en PDF, en webbsida) snarare än som en app. Det behandlas av legitim, Apple-signerad kod. Det finns ingen fil för XProtect att matcha, ingen osignerad binär för Gatekeeper att avvisa, och ofta ingen ny process för ett endpointsäkerhetsverktyg att flagga, eftersom den fientliga koden körs inuti en process som redan var betrodd. Upptäckten, när den sker, är oftast forensisk: Citizen Lab hittade FORCEDENTRY genom att undersöka spår på en enhet i efterhand, inte genom att en skanner fångade det i realtid.
Det är därför Apples råd till personer som tror att de kan vara måltavlor inte är ”installera en detektor” utan låst läge, som på macOS Ventura och senare blockerar de flesta typer av meddelandebilagor, stänger av komplexa webbtekniker, avvisar okända FaceTime-uppringare och hindrar konfigurationsprofiler från att installeras. Det fungerar genom att ta bort de kodvägar ett angrepp behöver, till en kostnad i bekvämlighet som Apple är tydligt med.
Varför nätverkssteget är annorlunda
Ett angrepp är början på en attack, inte dess syfte. Pegasus finns för att skicka meddelanden, foton och mikrofonljud till sin operatör. MACMA:s skärmbilder och tangenttryckningar var värdelösa på offrets disk. I varje dokumenterat fall förverkligades värdet genom trafik som lämnade maskinen, och i MITRE ATT&CK-matrisen för macOS har den fasen två egna kolumner, kommando och kontroll samt exfiltration, eftersom det är ett distinkt, observerbart steg som angripare inte kan hoppa över.
Det här steget har egenskaper som angreppet inte hade. Det kommer från en identifierbar process med en kodsignatur (eller, talande nog, utan en). Det går till ett mål med en IP-adress, ett värdnamn och en historik. Det använder ofta en ovanlig port, en rå IP-adress i stället för ett namn, eller en hostingleverantör som inte har någon koppling till någon app på datorn. Inget av det kräver att man känner till vilken brist som användes. Det kräver bara att man ser anslutningen och får säga nej.
Det här är den del FireAI är byggt för. Dess regler per app är knutna till kodsignaturen hos processen som gör anslutningen, så en inplanterad binär som inte är en app du godkänt får en behörighetsfråga i stället för fri passage, med modellens förklaring visad i klartext direkt på datorn. Dess hotunderrättelseflöden (abuse.ch, Spamhaus, FireHOL, OpenPhish, Phishing Army och den aktuella listan över Tor-utgångsnoder) tillämpas lokalt, så en känd kommando- och kontrolladress avvisas oavsett om något annat på datorn kände igen lasten eller inte. Lägena Under attack och Paranoid skärper standardinställningen till att blockera osignerade appar och okända mål rakt av, och nödbrytaren kapar internet men behåller det lokala nätverket, vilket är rätt första åtgärd när du misstänker ett intrång och vill bevara bevis.
Vad detta inte täcker
Ärlighet kräver den andra halvan av listan. Om en last körs helt inuti en tillåten app, till exempel inuti en webbläsare du redan har godkänt, ärver dess trafik den appens behörigheter och FireAI kommer inte att skilja den åt. Krypterad trafik till ett mål med rent rykte ser ut som vilken annan anslutning som helst. Ett flöde innehåller bara adresser som någon redan har rapporterat; en färsk kommando- och kontrollserver finns inte med ännu. Och FireAI upptäcker, tar bort eller analyserar inte angreppet eller implantatet: det skannar inte filer eller minne, och det är inte ett antivirus. På en Mac som du tror har komprometterats av en statlig aktör är rätt väg Apples vägledning om hotaviseringar och en forensisk specialist, inte en brandväggsinställning.
Det praktiska försvaret mot okända sårbarheter är därför skiktat och oglamoröst: installera Apples uppdateringar samma dag de släpps, eftersom de flesta angrepp riktas mot brister som redan har en rättelse; slå på låst läge om ditt arbete gör dig till en rimlig måltavla; håll angreppsytan liten; och styr vilka appar på din Mac som överhuvudtaget får prata med internet, så att när något okänt väl tar sig in är steget det inte kan hoppa över det steg du bevakar.
Var FireAI och HisnLabs kommer in
FireAI cannot stop an exploit and does not claim to; what it does is sit on the one step every documented case above could not skip, the connection out, and ask, for each unknown process, whether that connection should be allowed at all.
FireAI är HisnLabs eget verktyg: en AI-brandvägg som körs direkt på din Mac. Den visar varje anslutning dina appar gör, på klarspråk, och låter dig avgöra vad som lämnar din Mac — AI:n körs lokalt, så din trafik skickas aldrig till oss eller någon annan. HisnLabs säkerhetsforskningsteam är de som håller de bedömningarna tillförlitliga: de katalogiserar vilka domäner som är vanlig telemetri och vilka som är en riktig tjänst, spårar land och nätverk bakom en anslutning och tränar den lokala modellen (Autopilot-funktionen) på verkliga trafikmönster — utan att något av det lämnar din Mac.
Du kan läsa om de tekniska besluten bakom, eller prova FireAI i 17 dagar, på FireAI, från HisnLabs.
