Hoppa till innehålletHisnLabs
← Nätverksförsvar för en enda dator

Lektion 3 av 4 · 10 min

Loggning och upptäckt

Vad är värt att logga in på en Mac, och de konkreta tecknen - beaconing, DNS-avvikelser, osignerade binärer - på att något behöver en närmare titt.

En brandvägg som inte blockerar något och loggar ingenting är bara ett halvt försvar. Detektion är den andra halvan: att märka när något på maskinen beter sig på ett sätt som inte passar. På en Mac kräver detta inte ett säkerhetsoperationscenter, men det kräver att man vet hur en normal anslutning ser ut tillräckligt bra för att upptäcka en onormal.

Vad är värt att logga

På en enda dator speglar de användbara loggkategorierna vad ett större nätverksdriftcenter skulle spåra, bara nedskalat: vilka appar gjorde vilka anslutningar, till vilka destinationer och när; vilka appar som kördes och om de var signerade av en känd utvecklare; och ändringar av säkerhetsrelevanta inställningar som brandväggen eller Gatekeeper. macOS själv håller en enhetlig logg som täcker system och apphändelser, som kan visas i konsolappen eller med log show, och applikationsbrandväggens egna beslut registreras också där. Vad de flesta saknar är inte att logga exakt, eftersom macOS redan loggar en hel del, utan en läsbar vy av utgående anslutningar specifikt, eftersom det är den riktning som en kompromiss med största sannolikhet kommer att dyka upp i först.

Läser anslutningsloggar: hur normalt ser ut

En anslutningslogg är bara användbar när du har en grov uppfattning om vad som är normalt för en given app: en webbläsare som gör frekventa anslutningar till många olika domäner förväntas; en anteckningsapp gör detsamma inte. De tre detaljerna som är värda att notera för varje anslutning är destinationen (en domän eller IP-adress, och helst vem som driver den), tidpunkten (en gång, ibland eller med ett fast intervall) och appen som ansvarar för det.

Indikator: beaconing

Beaconing är en upprepad, ofta exakt tidsbestämd, utgående anslutning som används av programvara för att checka in med en fjärrserver, ibland för att få ytterligare instruktioner. MITREs ATT&CK-ramverk beskriver detta mönster av kommando-och-kontrolltrafik i applikationsskikt som något som försvarare letar efter specifikt genom "beacon-liknande intervaller": regelbunden timing som en normal användardriven app, som ansluter när du använder den och förblir tyst annars, inte skulle producera. En enda app som tyst ansluter till samma adress med några minuters mellanrum, dygnet runt, oavsett om du använder den eller inte, är den typ av mönster som är värt att undersöka snarare än att avfärda.

Indikator: DNS-avvikelser

Varje sökning av domännamn går igenom DNS innan en anslutning ens görs, vilket gör DNS-trafik till en användbar plats för att leta efter konstigheter: en app som löser ett ovanligt långt eller slumpmässigt genererat domännamn, en skur av sökningar till domäner som du inte känner igen, eller DNS-förfrågningar med en volym och form som inte matchar normala surfningar. Cloudflares förklaring av DNS-tunnling beskriver en anledning till att detta händer: kodning av data inuti DNS-frågor och svar kan användas för att flytta information in eller ut ur ett nätverk tidigare kontroller som bara inspekterar vanlig webbtrafik. Du behöver inte helt diagnostisera tekniken själv; Att notera att DNS-aktivitet från en viss app ser ovanlig ut är tillräckligt med anledning att titta närmare eller be om hjälp.

Indikator: binärer utan tecken

Varje legitim Mac-app förväntas vara kodsignerad, och de flesta är också attesterade (behandlas i den här webbplatsens macOS-härdningskurs). Du kan kontrollera om en specifik app är signerad från Terminal:

Terminal
codesign -dv --verbose=4 /Applications/SomeApp.app
Executable=/Applications/SomeApp.app/Contents/MacOS/SomeApp
Identifier=com.example.someapp
...

En app som inte är signerad alls, eller vars identifierare inte stämmer överens med vad du förväntar dig för den appen, är värd att behandla med misstänksamhet, särskilt om den också visas i processlistan och gör nätverksanslutningar som du inte kan förklara. Detta är en skrivskyddad kontroll: den inspekterar en signatur, den körs inte eller ändrar inte appen.

IDS/IPS, i personlig skala

Ett intrångsdetekteringssystem (IDS) övervakar trafiken och larmar om misstänkta mönster; ett intrångsskyddssystem (IPS) går längre och blockerar trafiken automatiskt. Företagsversioner av dessa jämför trafik med stora, underhållna uppsättningar av kända attacksignaturer och beteendemodeller. På en Mac fungerar en brandvägg per app som flaggar en ny eller ovanlig destination och låter dig bestämma som en lättviktig, personlig version av samma idé: detektering, med möjlighet att agera, i skalan av en maskin snarare än ett helt nätverk.

Viktigt att minnas

  • Det mest användbara för att logga in på en Mac är utgående anslutningar per app, eftersom macOS redan loggar de flesta system- och säkerhetshändelser någon annanstans.
  • Beaconing är en upprepad, ofta regelbundet tidsinställd utgående anslutning, oberoende av om du aktivt använder den appansvariga.
  • Ovanlig DNS-aktivitet (långa eller slumpmässiga domännamn, skurar av okända uppslagningar) kan indikera att data flyttas in eller ut efter normala webbtrafikkontroller.
  • `codesign -dv --verbose=4 <path>` är ett skrivskyddat sätt att kontrollera om en app är kodsignerad och av vem.
  • En personlig brandvägg per app som flaggar ovanliga destinationer fungerar som en lätt IDS för en maskin: upptäckt, med valet att agera.

Testa dig själv

  1. 1. Vad gör "beaconing" misstänkt snarare än bara en normal anslutning?

    • Den använder HTTPS
    • Det händer bara en gång
    • Det är en upprepad, ofta regelbundet tidsinställd anslutning, oberoende av om appen används aktivt — Rätt.
    • Det kommer från en webbläsare

    Vanliga appar ansluter när du använder dem; regelbundna, klockrent incheckningar oavsett aktivitet är det mönster som MITER ATT&CK förknippar med kommando-och-kontrolltrafik.

  2. 2. Varför är ovanlig DNS-aktivitet värd att uppmärksamma?

    • DNS är alltid krypterad så avvikelser är sällsynta
    • Data kan kodas in i DNS-frågor och -svar för att flytta information förbi kontroller som bara inspekterar webbtrafik — Rätt.
    • DNS-sökningar sker aldrig på en vanlig Mac
    • Det spelar bara roll för webbservrar, inte persondatorer

    DNS-tunnling döljer data i DNS-trafik, särskilt eftersom många försvar inte inspekterar DNS så noga som HTTP-trafik.

  3. 3. Vad gör `codesign -dv --verbose=4 <app path>`?

    • Tar bort en osignerad app
    • Visar kodsignaturen och identifieraren för en app, utan att ändra den — Rätt.
    • Blockerar appen från att köras
    • Installerar en brandväggsregel för appen

    Det är ett skrivskyddat inspektionskommando som visar signeringsinformation för den givna appen, användbart för att kontrollera om den är legitimt signerad.

Testa det med FireAI

Omsätt den här lektionen i praktiken på din egen Mac.

Källor

Omsätt det på din Mac

Prova alla funktioner gratis i 17 dagar, inget kort behövs.

Ladda ner för Mac Dokumentation