Gå til innholdetHisnLabs
← Nettverksforsvar for en enkelt datamaskin

Leksjon 3 av 4 · 10 min

Logging og deteksjon

Hva er verdt å logge på én Mac, og de konkrete tegnene – beaconing, DNS-anomalier, usignerte binærfiler – på at noe trenger en nærmere titt.

En brannmur som ikke blokkerer noe og logger ingenting er bare et halvt forsvar. Deteksjon er den andre halvdelen: å legge merke til når noe på maskinen oppfører seg på en måte som ikke passer. På én Mac krever dette ikke et sikkerhetsoperasjonssenter, men det krever at man vet hvordan en normal tilkobling ser ut godt nok til å legge merke til en unormal.

Hva er verdt å logge

På en enkelt datamaskin gjenspeiler de nyttige loggkategoriene hva et større nettverksoperasjonssenter vil spore, bare nedskalert: hvilke apper som opprettet hvilke tilkoblinger, til hvilke destinasjoner og når; hvilke apper som kjørte, og om de var signert av en kjent utvikler; og endringer i sikkerhetsrelevante innstillinger som brannmuren eller Gatekeeper. macOS selv holder en enhetlig logg som dekker system- og apphendelser, synlig i konsollappen eller med log show, og applikasjonsbrannmurens egne avgjørelser blir også registrert der. Det de fleste mangler er ikke logging nøyaktig, siden macOS allerede logger mye, men en lesbar visning av utgående tilkoblinger spesifikt, siden det er den retningen et kompromiss mest sannsynlig vil dukke opp i først.

Lese tilkoblingslogger: hvordan ser normalt ut

En tilkoblingslogg er bare nyttig når du har en grov følelse av hva som er normalt for en gitt app: Det forventes at en nettleser oppretter hyppige tilkoblinger til mange forskjellige domener; en notatapp som gjør det samme, er det ikke. De tre detaljene som er verdt å merke seg for enhver tilkobling er destinasjonen (et domene eller en IP-adresse, og ideelt sett hvem som driver det), tidspunktet (en gang, noen ganger eller på et fast intervall) og appen som er ansvarlig for det.

Indikator: beaconing

Beaconing er en gjentatt, ofte nøyaktig tidsbestemt, utgående tilkobling som brukes av programvare for å sjekke inn med en ekstern server, noen ganger for å motta ytterligere instruksjoner. MITREs ATT&CK-rammeverk beskriver dette mønsteret av kommando-og-kontroll-trafikk på applikasjonslag som noe forsvarere ser etter spesifikt gjennom "beacon-lignende intervaller": regelmessig timing som en vanlig brukerdrevet app, som kobler seg til når du bruker den og ellers holder seg stille, ikke ville produsere. En enkelt app som stille kobler til den samme adressen med noen få minutters mellomrom, døgnet rundt, uansett om du bruker den eller ikke, er den typen mønster som er verdt å undersøke i stedet for å avvise.

Indikator: DNS-avvik

Hvert domenenavnoppslag går gjennom DNS før en tilkobling i det hele tatt er opprettet, noe som gjør DNS-trafikk til et nyttig sted å lete etter rariteter: en app som løser et uvanlig langt eller tilfeldig generert domenenavn, en serie med oppslag til domener du ikke gjenkjenner, eller DNS-spørringer med et volum og en form som ikke samsvarer med normal surfing. Cloudflares forklaring av DNS-tunnelering beskriver én grunn til at dette skjer: koding av data i DNS-spørringer og svar kan brukes til å flytte informasjon inn eller ut av et nettverk tidligere kontroller som kun inspiserer vanlig nettrafikk. Du trenger ikke å diagnostisere teknikken fullt ut selv; å legge merke til at DNS-aktivitet fra en bestemt app ser uvanlig ut er nok grunn til å se nærmere eller be om hjelp.

Indikator: usignerte binærfiler

Hver legitim Mac-app forventes å være kodesignert, og de fleste er også notarisert (dekket i dette nettstedets macOS-herdingskurs). Du kan sjekke om en bestemt app er signert fra Terminal:

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

En app som ikke er signert i det hele tatt, eller hvis identifikator ikke samsvarer med det du forventer for den appen, er verdt å behandle med mistenksomhet, spesielt hvis den også vises i prosesslisten som gjør nettverkstilkoblinger du ikke kan forklare. Dette er en skrivebeskyttet sjekk: den inspiserer en signatur, den kjører ikke eller endrer appen.

IDS/IPS, i personlig skala

Et inntrengningsdeteksjonssystem (IDS) overvåker trafikken og varsler om mistenkelige mønstre; et intrusion prevention system (IPS) går lenger og blokkerer trafikken automatisk. Enterprise-versjoner av disse sammenligner trafikk med store, vedlikeholdte sett med kjente angrepssignaturer og atferdsmodeller. På én Mac, en per-app brannmur som flagger en ny eller uvanlig destinasjon og lar deg bestemme fungerer som en lett, personlig versjon av den samme ideen: deteksjon, med mulighet til å handle, i skalaen til én maskin i stedet for et helt nettverk.

Det viktigste

  • Det mest nyttige å logge på en enkelt Mac er utgående tilkoblinger per app, siden macOS allerede logger de fleste system- og sikkerhetshendelser andre steder.
  • Beaconing er en gjentatt, ofte regelmessig tidsbestemt utgående tilkobling, uavhengig av om du aktivt bruker den ansvarlige appen.
  • Uvanlig DNS-aktivitet (lange eller tilfeldige domenenavn, serier av ukjente oppslag) kan indikere at data beveger seg inn eller ut forbi vanlige nettrafikkkontroller.
  • `codesign -dv --verbose=4 <path>` er en skrivebeskyttet måte å sjekke om en app er kodesignert og av hvem.
  • En personlig brannmur per app som flagger uvanlige destinasjoner fungerer som en lett IDS for én maskin: deteksjon, med valget mellom å handle.

Test deg selv

  1. 1. Hva gjør "beaconing" mistenkelig i stedet for bare en vanlig forbindelse?

    • Den bruker HTTPS
    • Det skjer bare én gang
    • Det er en gjentatt, ofte regelmessig tidsbestemt tilkobling, uavhengig av om appen brukes aktivt — Riktig.
    • Det kommer fra en nettleser

    Vanlige apper kobles til når du bruker dem; regelmessige, urverksinnsjekker uavhengig av aktivitet er mønsteret MITER ATT&CK forbinder med kommando-og-kontroll trafikk.

  2. 2. Hvorfor er uvanlig DNS-aktivitet verdt å være oppmerksom på?

    • DNS er alltid kryptert, så uregelmessigheter er sjeldne
    • Data kan kodes inn i DNS-spørringer og -svar for å flytte informasjon forbi kontroller som kun inspiserer nettrafikk — Riktig.
    • DNS-oppslag skjer aldri på en vanlig Mac
    • Det betyr bare for webservere, ikke personlige datamaskiner

    DNS-tunnelering skjuler data inne i DNS-trafikk, spesielt fordi mange forsvar ikke inspiserer DNS så nøye som HTTP-trafikk.

  3. 3. Hva gjør `codesign -dv --verbose=4 <app path>`?

    • Sletter en usignert app
    • Viser kodesignaturen og identifikatoren til en app, uten å endre den — Riktig.
    • Blokkerer appen fra å kjøre
    • Installerer en brannmurregel for appen

    Det er en skrivebeskyttet inspeksjonskommando som viser signeringsinformasjon for den gitte appen, nyttig for å sjekke om den er legitimt signert.

Prøv det med FireAI

Sett denne leksjonen ut i praksis på din egen Mac.

Kilder

Ta det i bruk på din Mac

Prøv alle funksjonene gratis i 17 dager, uten kort.

Last ned for Mac Dokumentasjon