Hopp til hovedinnhold

Datamaskinen vår kommuniserer hele tiden med omverdenen. Noe av trafikken er forventet, som oppdateringer, API-kall og skylagring. Annen trafikk skjer helt uten at vi som brukere er klar over det. Little Snitch er et verktøy som gjør denne kommunikasjonen synlig, og som gir oss mulighet til å stoppe den når det er nødvendig.

Illustrasjon av en datamaskin som overvåker nettverkstilkoblinger over hele verden.

Little Snitch er en utgående applikasjonsbrannmur for macOS. Den overvåker hvilke prosesser som forsøker å etablere nettverkstilkoblinger, hvor trafikken går, hvilke protokoller og porter som brukes, og lar deg avgjøre om forbindelsen skal tillates eller ikke. I motsetning til tradisjonelle brannmurer, som primært fokuserer på å beskytte mot innkommende trafikk, er Little Snitch designet for å gi kontroll over hva maskinen sender ut.

I det øyeblikket et program forsøker å kommunisere over internett, fanger Little Snitch opp forsøket og logger det. Du får innsikt i hvilket program eller hvilken prosess som står bak, og hvilken destinasjon trafikken går eller forsøkte å gå til. Dette kan være en IP-adresse, et domenenavn eller et geografisk område, samt om forbindelsen er ment å være midlertidig eller kontinuerlig.

Som utvikler installerer vi mye kode på maskinen vår. Det kan være alt fra SDK-er som trekker inn tredjepartstjenester indirekte, og rammeverk som sender metrikker og diagnostikkdata.

La oss illustrere problemstillingen med et konkret eksempel. Tenk deg et maskinlæringsbibliotek som, ved initialisering, kontakter en ekstern server i et annet land for lisenssjekk, modelloppdateringer eller logging. Om vi ikke er bevist over hvilket data som eksponseres kan det utløse avvik, revisjon eller rapporteringsplikt. Slike situasjoner oppdages ofte først når det er for sent, med mindre trafikken faktisk overvåkes.

For utviklere og sikkerhetsbevisste brukere er dette særlig verdifullt. Little Snitch gjør det mulig å avdekke uønsket datalekkasje tidlig, avsløre etterlatte bakgrunnsprosesser fra applikasjoner som for lengst er avinstallert, og gi innsikt i faktisk runtime-oppførsel, ikke bare den oppførselen leverandøren hevder at programvaren har.

En av funksjonene som gjør denne innsikten mer intuitiv, er kartvisningen i Little Snitch. Hvorfor skal en lokal hjelpeprosess kommunisere med en server i Kina, eller hvorfor et enkelt CLI-verktøy kontakter flere skylokasjoner parallelt. Dette er ikke avansert trusselanalyse, men praktisk anomali-deteksjon som fungerer i hverdagen.

Little Snitch har dessverre noen praktiske begrensninger. Verktøyet forutsetter at vi tar stilling til utgående trafikk, og gir mest verdi når disse valgene gjøres bevisst. Dersom vi tillater all trafikk ukritisk, eller forbindelser blokkeres uten å forstå konsekvensene, påvirkes arbeidsflyten vår og nytteverdien til brannmuren reduseres. Mange applikasjoner er avhengige av tredjepartstjenester og distribusjonsnettverk for å fungere som forventet.

Little Snitch er derfor best egnet som et verktøy for innsikt. Det gir særlig verdi for dem som utvikler programvare, arbeider med sensitiv kode eller data, eller ønsker bedre forståelse av hva som faktisk skjer på maskinen din. Verktøyet endrer ikke maskinens oppførsel, men gjør den synlig. For mange er det tilstrekkelig.

Prøv da! Last ned little snitch og sett i gang demo-modus som er gratis. Man kan da se hvilket servere maskinen din snakker med rundt om i verden.

Alternativ for linux brukere er “Open snitch” https://github.com/evilsocket/opensnitch. Denne har jeg ikke prøvd selv, men ser lovende ut.

Liker du innlegget?

Del gjerne med kollegaer og venner