Gå til innholdet
← Skadevare og det skjulte internettet

Leksjon 4 av 7 · 8 min

Rootkits: skadelig programvare som skjuler seg for deg

Jobben til et rootkit er å holde seg skjult og holde seg på plass. Se hvordan rootkits virker, hvorfor de er farligere jo dypere de ligger, og hvordan moderne macOS gjør jobben deres mye vanskeligere.

Det meste av skadelig programvare vil gjøre noe: stjele, kryptere, spionere. Et rootkit vil ikke bli sett mens det skjer. NIST definerer et rootkit som et sett med verktøy en angriper bruker etter å ha fått root-tilgang til en maskin, for å skjule angriperens aktiviteter og beholde privilegert tilgang i det skjulte. Navnet kommer fra Unix, der «root» er den allmektige administratorkontoen, og et «kit» var pakken med endrede verktøy en inntrenger etterlot seg for å beholde den makten i det stille.

To jobber: utholdenhet og skjul

Et rootkit kombinerer vanligvis to evner. Utholdenhet betyr å overleve omstarter og oppdateringer, slik at angriperen ikke mister tilgangen. Skjul betyr å gjemme filer, prosesser og nettverkstilkoblinger for nettopp de verktøyene du ville brukt for å lete etter dem. MITRE ATT&CK beskriver det andre trikset direkte: rootkits skjuler at programmer, filer, nettverkstilkoblinger og tjenester finnes, ved å fange opp og endre operativsystemkallene som rapporterer om dem. Hvis den delen av systemet du spør «hva kjører?» er tuklet med, kan den rett og slett utelate svaret.

Jo dypere, jo vanskeligere å finne

NivåHvor det borHvor vanskelig det er å oppdage og fjerne
BrukernivåErstatter eller kaprer vanlige programmer og biblioteker som kjører med kontoen dinVanskelig, men verktøy med høyere rettigheter kan ofte oppdage tuklingen
KjernenivåLastes inn i kjernen av operativsystemet, der det kan lyve til alle programmerSvært vanskelig: systemet selv rapporterer falsk informasjon
Oppstarts- og fastvarenivåStarter før operativsystemet, i oppstartsprosessen eller i fastvaren til en enhetVanskeligst: kan overleve en fullstendig reinstallering av operativsystemet

Hovedregelen er at kode som kjører på et lavere, mer privilegert nivå, kan lure kode som kjører over den. Derfor sikter rootkits så lavt de kan, og derfor legger forsvarere så mye arbeid i å gjøre de laveste nivåene av en datamaskin motstandsdyktige mot tukling.

Hvordan macOS slår tilbake

Moderne macOS er bygd for å nekte rootkits stedene de pleide å gjemme seg. Apple dokumenterer flere lag i sin veiledning om plattformsikkerhet:

  • Systemintegritetsbeskyttelse (SIP) hindrer til og med administratorkontoen i å endre beskyttede deler av systemet, som systemmapper og systemprosesser. Apple anbefaler å la den være på.
  • Systemvolumet er forseglet og signert: ved oppstart sjekker macOS at systemfilene er nøyaktig det Apple leverte, og nekter å bruke et endret system.
  • Sikker oppstart på Mac med Apple silicon (og Mac med T2-brikken) verifiserer hvert trinn i oppstartsprosessen før det kjøres, slik at ingen kode kan snike seg inn før operativsystemet.
  • Kjerneutvidelser fra tredjeparter er begrenset og krever uttrykkelig godkjenning; Apple har flyttet det meste av det de gjorde til systemutvidelser, som kjører utenfor kjernen.

Til sammen gjør dette det klassiske kjerne-rootkitet langt vanskeligere å installere på en moderne Mac med standardinnstillinger. Det er også grunnen til at angripere nå gjerne holder seg på brukernivå og satser på utholdenhetstriks som påloggingsobjekter og oppstartsagenter, som ikke trenger å bryte systemets forseglinger.

Utholdenhet du kan sjekke selv

Fordi dype rootkits er vanskelige å installere, er det meste av utholdenhet på Mac i dag synlig hvis du vet hvor du skal se. macOS viser påloggingsobjekter og bakgrunnsobjekter i Systeminnstillinger, under Generelt og deretter Påloggingsobjekter og utvidelser, og varsler deg når et nytt bakgrunnsobjekt legges til. Alt der som du ikke kjenner igjen, fortjener en nærmere titt. MITRE ATT&CK katalogiserer launch agents og launch daemons som vanlige utholdenhetsteknikker på macOS nettopp av denne grunnen.

Hvorfor nettverket fortsatt forteller sannheten

Et rootkit kan lyve til programmer på samme maskin, men det må vanligvis fortsatt snakke med operatøren sin. Den trafikken må krysse nettverket. En brannmur per app som ligger i operativsystemets eget filtreringslag, ser tilkoblingene mens systemet håndterer dem, og en ruter eller en annen enhet på nettverket ser dem utenfra, der rootkitet ikke har kontroll. Nettverksfilteret i FireAI er en systemutvidelse fra Apple; det viser hvilken app som står bak hver tilkobling og spør før nye apper kobler seg til. Det er ikke en rootkit-detektor og kan ikke se gjennom en kompromittert kjerne, men uforklarlig trafikk fra en prosess du ikke kan gjøre rede for, er et av de klassiske tegnene på at noe skjuler seg.

Ikke bare datamaskiner: rutere og andre enheter

Rootkit-lignende implantater er ikke begrenset til bærbare. Hjemmerutere, nettverkslagringsbokser og andre enheter som alltid står på, kjører sine egne små operativsystemer, ofte sjelden eller aldri oppdatert. Angripere har gang på gang gått etter dem fordi de sitter på hver tilkobling og få noen gang sjekker dem. Å holde ruterens fastvare oppdatert, bytte standard administratorpassord og slå av fjernadministrasjon du ikke bruker, lukker de vanligste dørene. Det forklarer også hvorfor det er verdifullt å se på trafikken fra mer enn ett sted: et problem som bor i ruteren, vil ikke vises i noen skanning av Mac-en.

Hvis du mistenker et rootkit

  • Gå ut fra at systemets egne verktøy kanskje ikke forteller sannheten; undersøk det utenfra der det er mulig.
  • Sjekk at Systemintegritetsbeskyttelse er på (Apple beskriver hvordan) og hold macOS oppdatert.
  • Gå gjennom Påloggingsobjekter og utvidelser for ukjente oppføringer.
  • Ved en alvorlig mistanke er den pålitelige løsningen å sikkerhetskopiere dokumentene dine (ikke apper eller systemfiler), slette Mac-en, installere macOS på nytt fra Apple og bare gjenopprette dataene dine.
  • Hvis trusselen er målrettet, for eksempel mot en journalist eller aktivist, få eksperthjelp og vurder Låsemodus.

Det viktigste

  • Formålet med et rootkit er å skjule en angripers tilstedeværelse og beholde privilegert tilgang.
  • Jo lavere et rootkit ligger (bruker, kjerne, oppstart, fastvare), jo vanskeligere er det å oppdage og fjerne.
  • Systemintegritetsbeskyttelse, det signerte systemvolumet og sikker oppstart gjør klassiske kjerne-rootkits mye vanskeligere på moderne Mac-er.
  • Et rootkit kan lyve til datamaskinen, men nettverkstrafikken kan fortsatt ses utenfra.

Test deg selv

  1. 1. Hva er de to hovedjobbene til et rootkit?

    • Kryptere filer og kreve betaling
    • Beholde privilegert tilgang (utholdenhet) og skjule angriperens aktivitet (skjul) — Riktig.
    • Sende søppelpost og utvinne kryptovaluta
    • Vise annonser og endre startsiden

    NIST definerer rootkits som verktøy som skjuler en angripers aktivitet og beholder privilegert tilgang i det skjulte.

  2. 2. Hvorfor er rootkits på kjernenivå så vanskelige å oppdage?

    • De er svært små filer
    • De kjører i kjernen av operativsystemet og kan få systemet til å rapportere falsk informasjon til alle programmer — Riktig.
    • De kjører bare om natten
    • De sletter seg selv etter hver omstart

    Kode på et mer privilegert nivå kan lure programmene over seg, også verktøyene du ville brukt for å lete etter den.

  3. 3. Hvilken macOS-funksjon hindrer selv en administrator i å endre beskyttede systemfiler?

    • FileVault
    • Systemintegritetsbeskyttelse — Riktig.
    • AirDrop
    • Time Machine

    SIP beskytter systemmapper og systemprosesser mot endringer, selv fra administratorkontoen, og det blokkerer en klassisk rootkit-teknikk.

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