FireAIs säkerhetsblogg

Av FireAI Security & Research Team · Publicerad

Avancerad hotdetektering på macOS: vad lagren faktiskt gör

Avancerad hotdetektering på macOS: vad lagren faktiskt gör

Varje produkt som kallar sig ”avancerad hotdetektering” för Mac är byggd på ett litet antal mekanismer, de flesta dokumenterade av Apple. Att veta vilken mekanism en viss funktion bygger på säger dig vad den verkligen kan se, och vad den är blind för. Den här artikeln går igenom lagren ett i taget: vad en signatur är, vad notarisering kontrollerar, vad Apples Endpoint Security-ramverk exponerar för säkerhetsprogram, vad beteendeanalys betyder i praktiken, och vad en modell som bevakar nätverksanslutningar kan och inte kan bedöma.

Den korta versionen är att inget enskilt lager ser allt. En filskanner ser aldrig en anslutning. En nätverksövervakare ser aldrig en fil. Produkter som är ärliga om den gränsen är mer användbara än produkter som suddar ut den.

Lager ett: signaturer (XProtect)

Den äldsta detekteringstekniken är en signatur: ett mönster som matchar en känd bit skadlig mjukvara. På Mac tillhör den uppgiften XProtect. Apples Platform Security Guide beskriver på sidan Skydd mot skadlig programvara XProtect som signaturbaserat och säger att det körs vid tre tillfällen: när en app startas första gången, när en app har ändrats på disk och när XProtects signaturer uppdateras.

Apple är öppet med räckvidden hos den här metoden. Samma sida noterar att XProtects regler är ”mer generiska än en specifik filhash, så att det kan hitta varianter som Apple inte har sett”, och beskriver en åtgärdsmotor som tar bort infektioner i efterhand. Det en signatur per definition inte kan göra är att matcha något som ingen har skrivit en regel för ännu. Det är den luckan alla andra lager finns för att minska.

Lager två: notarisering och Gatekeeper

Det andra lagret körs innan en app öppnas för första gången. Apples sida om Gatekeeper och körtidsskydd förklarar att Gatekeeper verifierar att en nedladdad app kommer från en identifierad utvecklare, har notariserats av Apple och inte har ändrats, och att den ber om användarens godkännande innan nedladdad programvara öppnas. Notariseringen i sig är en skanning som Apple utför på Developer ID-signerad programvara innan den distribueras; Apples guide tillägger att Apple senare kan utfärda en återkallelsebiljett för programvara som visar sig vara ondsint, även om den tidigare godkänts.

Det här lagret är en kontroll vid dörren. Det svarar på ”vet vi vem som byggde det här, och hittade Apple något uppenbart fel med det?” Det följer inte appen när den väl är inne. En app som passerar dörren och sedan beter sig illa, eller en app vars beteende ändras efter en uppdatering, är från den punkten utom synhåll för Gatekeeper.

Lager tre: Endpoint Security-ramverket

Tredjepartsprodukter för detektering på Mac, kategorin som brukar kallas EDR (endpoint detection and response), är till stor del byggda på ett enda Apple-API: Endpoint Security-ramverket. Apple införde det i macOS 10.15 så att säkerhetsprogram kunde ta emot en ström av systemhändelser från användarrymden (en process som startas, en fil som öppnas eller skrivs, en uppgift som skapas) i stället för att läsa in en kärntillägg, något Apple har varit på väg att avveckla.

Det här är lagret som ser processträd: vilken process som startade vilken, med vilka argument, och vilka filer den rör. Det är också lagret där ”beteendeanalys” oftast hör hemma. Beteendedetektering innebär att jämföra vad en process gör mot kända angripartekniker i stället för mot en känd fil. Den offentliga referensen för de teknikerna är MITRE ATT&CK-matrisen för macOS, som katalogiserar taktiker från första åtkomst och persistens till kommando och kontroll samt exfiltration, var och en uppdelad i specifika, observerbara tekniker.

Beteendeanalys har en verklig kostnad: en app som av legitima skäl skriver launch agents, läser nyckelringen eller startar skalkommandon ser, enbart utifrån händelseströmmen, ungefär likadan ut som en app som gör det av dåliga skäl. Varje EDR-leverantör avväger detta olika, och ingen av dem publicerar tillräckligt med detaljer för att en utomstående ska kunna jämföra. Vad som kan sägas med säkerhet är att det här lagret kräver antingen en betald produkt eller en hel del expertis att driva. För privatpersoner publicerar den ideella Objective-See Foundation fria verktyg med öppen källkod byggda på samma Apple-ramverk, till exempel TaskExplorer för att granska körande processer och KnockKnock för att lista vad som är inställt att starta automatiskt.

Lager fyra: minne och filinnehåll

Två sorters analys ligger under till och med Endpoint Security-lagret: att granska en fils innehåll på djupet (statisk analys, vilket är vad en antivirusskanner gör) och att granska minnet hos en körande process. Det är de enda sätten att veta vad ett program faktiskt innehåller, och de är antivirus- och forensikverktygens område. Det förtjänar att sägas rakt ut, eftersom marknadsföringstexter ofta antyder något annat: en brandvägg, FireAI inräknat, gör inget av detta. FireAI skannar inte filer, läser inte processminne och är inte ett antivirus.

Lager fem: nätverket

Det sista lagret är det som de andra inte når. Nästan allt en angripare vill göra efter att ha fått in kod på en Mac inbegriper nätverket: hämta ett andra steg, rapportera in till en kontrollserver, skicka ut stulna data. I ATT&CK-matrisen har de stegen egna kolumner, kommando och kontroll samt exfiltration, just för att de är en distinkt, observerbar fas.

Ett nätverkslager ser en annan uppsättning fakta än lagren ovanför. För varje ny utgående anslutning vet det vilken signerad binär som öppnade den, målvärden, IP-adressen och porten, protokollet, om anslutningen är krypterad, och tidpunkten. Det räcker för att en granskare, människa eller modell, ska kunna göra flera användbara bedömningar:

  • Målets rykte: finns värden eller IP-adressen på en offentlig blocklista som abuse.ch, Spamhaus, Phishing Army eller OpenPhish, eller är det en Tor-utgångsnod? Hotunderrättelseflöden är en listuppslagning, inte en gissning, och de kan tillämpas lokalt utan att trafiken skickas någonstans.
  • Binär som ses för första gången: är det första gången den här kodsignaturen någonsin öppnat en anslutning på den här datorn? Ett nyinstallerat, osignerat verktyg som omedelbart ansluter till en obekant IP-adress är en annan risk än Safari som ansluter till ett CDN.
  • Avvikelser i port och protokoll: en textredigerare som pratar på port 4444, en app som använder råa IP-adresser i stället för värdnamn, eller en anslutning till ett land appen inte har något att göra i.
  • Inloggningsuppgifter över okrypterad HTTP: om en anslutning är okrypterad går innehållet att läsa på datorn innan det lämnar den, och ett kortnummer, ett lösenord eller en API-nyckel som färdas i klartext kan stoppas i det ögonblicket.

Det är detta FireAI:s Private AI-granskning gör. En liten modell på datorn (en valfri nedladdning på 1,5 GB) tittar på varje anslutning från en okänd app, med exakt de fakta som listas ovan, och antingen blockerar den, flaggar den eller släpper igenom den med en förklaring i klartext som du kan läsa och ångra. Bedömningen görs på datorn; trafiken skickas aldrig till HisnLabs eller någon annan för analys.

Begränsningarna är lika konkreta. En nätverksgranskare kan inte se filinnehåll, så den kan inte säga att en nedladdning är fientlig innan den körs. Den kan inte se minne, så den kan inte upptäcka en injicerad last inuti en betrodd process, och om fientlig kod gömmer sig bakom en signerad, tillåten app ärver dess trafik den appens behörigheter. Den kan inte dekryptera TLS, så för en krypterad anslutning bedömer den målet och mönstret, inte innehållet. Och ett ryktesflöde känner bara till mål som någon redan har rapporterat.

Lagren tillsammans

Läst som en stapel är bilden sammanhängande. Notarisering och Gatekeeper avgör om kod kommer in. XProtect tar bort det som redan är känt som dåligt. Verktyg byggda på Endpoint Security bevakar vad processer gör. Antivirus och forensik läser filinnehåll och minne. Nätverkslagret bevakar vad som lämnar datorn. Vart och ett besvarar en fråga de andra inte kan, och det användbara testet för varje påstående om ”avancerad detektering” är helt enkelt: vilket av de här lagren är det, och vad ser det lagret?

Det förklarar också varför lagren inte konkurrerar. En EDR-produkt och en brandvägg per app kan köras på samma Mac och aldrig titta på samma faktum: den ena läser processträdet, den andra läser anslutningstabellen. Ett företag som redan betalar för endpointdetektering vinner lite på en andra processövervakare, men kan vinna mycket på att kunna säga, per app och per mål, vad som får lämna datorn. En hemanvändare utan någon EDR alls får, enbart från nätverkslagret, den enda signal som Apples lager aldrig visar.

För de flesta Mac-ägare är den praktiska kombinationen Apples inbyggda lager, hållna uppdaterade, plus insyn i den enda fas Apple inte visar dig: vilka appar som ansluter vart. Det är ett smalare löfte än ”stoppar varje hot”, och det är det löfte som faktiskt går att hålla.

Var FireAI och HisnLabs kommer in

FireAI is the network layer of that stack and nothing more: it does not scan files or read memory, but it is the one place every app’s outbound connection has to pass through, reviewed on your Mac by a model that explains what it saw.

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.

Källor