Rootkit - Rootkit

En rootkit er en samling dataprogramvare , vanligvis ondsinnet, designet for å gi tilgang til en datamaskin eller et område av programvaren som ellers ikke er tillatt (for eksempel til en uautorisert bruker) og ofte maskerer eksistensen eller eksistensen av annen programvare . Begrepet rootkit er en sammensetning av " root " (det tradisjonelle navnet på den privilegerte kontoen på Unix-lignende operativsystemer) og ordet "kit" (som refererer til programvarekomponentene som implementerer verktøyet). Begrepet "rootkit" har negative konnotasjoner gjennom tilknytning til skadelig programvare .

Rootkit -installasjonen kan automatiseres, eller en angriper kan installere den etter å ha fått root- eller administratortilgang. Å få denne tilgangen er et resultat av direkte angrep på et system, dvs. å utnytte et kjent sårbarhet (for eksempel eskalering av privilegier ) eller et passord (oppnådd ved sprekk eller sosialteknisk taktikk som " phishing "). Når den er installert, blir det mulig å skjule inntrengningen så vel som å opprettholde privilegert tilgang. Full kontroll over et system betyr at eksisterende programvare kan endres, inkludert programvare som ellers kan brukes til å oppdage eller omgå den.

Rootkit -deteksjon er vanskelig fordi en rootkit kan være i stand til å undergrave programvaren som er ment å finne den. Deteksjonsmetoder inkluderer bruk av et alternativt og pålitelig operativsystem , atferdsbaserte metoder, signaturskanning, differanseskanning og minnedumpanalyse . Fjerning kan være komplisert eller praktisk talt umulig, spesielt i tilfeller der rootkiten ligger i kjernen ; ominstallering av operativsystemet kan være den eneste tilgjengelige løsningen på problemet. Når du arbeider med fastvare -rootkits, kan fjerning kreve maskinvareutskifting eller spesialisert utstyr.

Historie

Begrepet rootkit eller root kit refererte opprinnelig til et ondsinnet modifisert sett med administrative verktøy for et Unix-lignende operativsystem som ga " root " -tilgang. Hvis en inntrenger kunne erstatte standardadministrasjonsverktøyene på et system med et rootkit, kunne inntrengeren få root -tilgang over systemet mens han samtidig skjulte disse aktivitetene for den legitime systemadministratoren . Disse første generasjonens rootkits var trivielle å oppdage ved å bruke verktøy som Tripwire som ikke hadde blitt kompromittert for å få tilgang til den samme informasjonen. Lane Davis og Steven Dake skrev den tidligste kjente rootkiten i 1990 for Sun Microsystems ' SunOS UNIX -operativsystem. I foredraget han holdt da han mottok Turing -prisen i 1983 , teoretiserte Ken Thompson fra Bell Labs , en av skaperne av Unix , om å undergrave C -kompilatoren i en Unix -distribusjon og diskuterte utnyttelsen. Den modifiserte kompilatoren ville oppdage forsøk på å kompilere Unix login-kommandoen og generere endret kode som ikke bare godtar brukerens riktige passord, men et ekstra " bakdør " -passord kjent for angriperen. I tillegg ville kompilatoren oppdage forsøk på å kompilere en ny versjon av kompilatoren, og ville sette inn de samme utnyttelsene i den nye kompilatoren. En gjennomgang av kildekoden for loginkommandoen eller den oppdaterte kompilatoren ville ikke avsløre noen ondsinnet kode. Denne utnyttelsen tilsvarte en rootkit.

Den første dokumenterte datavirus å målrette personlige datamaskin , oppdaget i 1986, brukte maskering teknikker for å skjule selv: Brain virus mottatt forsøk på å lese oppstartssektoren , og omdirigert disse til et annet sted på disken, der en kopi av den opprinnelige oppstartssektoren ble beholdt. Over tid ble DOS -virusslettingsmetoder mer sofistikerte. Avanserte teknikker inkluderte å koble til lavt nivå disk INT 13H BIOS- avbruddssamtaler for å skjule uautoriserte modifikasjoner av filer.

Den første ondsinnede rootkiten for Windows NT -operativsystemet dukket opp i 1999: en trojansk kalt NTRootkit opprettet av Greg Hoglund . Den ble fulgt av HackerDefender i 2003. Den første rootkiten som er rettet mot Mac OS X dukket opp i 2009, mens Stuxnet -ormen var den første som målrettet programmerbare logikkontrollere (PLC).

Sony BMG kopibeskyttelse rootkit -skandale

Skjermbilde av RootkitRevealer , som viser filene som er skjult av Extkit Copy Protection rootkit

I 2005 publiserte Sony BMG CDer med kopibeskyttelse og programvare for digital rettighetsbehandling kalt Extended Copy Protection , laget av programvareselskapet First 4 Internet. Programvaren inkluderte en musikkspiller, men installerte stille et rootkit som begrenset brukerens mulighet til å få tilgang til CD -en. Programvareingeniør Mark Russinovich , som opprettet rootkit -gjenkjenningsverktøyet RootkitRevealer , oppdaget rootkiten på en av datamaskinene hans. Den påfølgende skandalen økte publikums bevissthet om rootkits. For å kappe seg selv skjulte rootkiten alle filene som begynte med "$ sys $" for brukeren. Kort tid etter Russinovichs rapport dukket det opp skadelig programvare som utnyttet sårbarheten til berørte systemer. En BBC -analytiker kalte det et " PR -mareritt." Sony BMG ga ut oppdateringer for å avinstallere rootkit, men det utsatte brukerne for et enda mer alvorlig sårbarhet. Selskapet tilbakekalte til slutt CD -ene. I USA ble det anlagt et gruppesøksmål mot Sony BMG.

Gresk avlyttingssak 2004–05

Den greske avlyttingssaken 2004–05 , også referert til som greske Watergate, involverte ulovlig telefonavlytting av mer enn 100  mobiltelefonerVodafone Hellas- nettverket som hovedsakelig tilhørte medlemmer av den greske regjeringen og topprangerte embetsmenn. Kranene begynte en gang nær begynnelsen av august 2004 og ble fjernet i mars 2005 uten å oppdage identiteten til gjerningsmennene. Inntrengerne installerte en rootkit rettet mot Ericssons AX -telefonstasjon . I følge IEEE Spectrum var dette "første gang en rootkit har blitt observert på et spesialtilpasset system, i dette tilfellet en Ericsson telefonbryter." Rootkiten ble designet for å lappe minnet til utvekslingen mens den kjørte, aktivere avlytting mens du deaktiverer revisjonslogger, lappe kommandoene som viser aktive prosesser og aktive datablokker, og endre kommandoen for bekreftelse av datablokk -kontrollsum . En "bakdør" tillot en operatør med sysadmin -status å deaktivere sentralens transaksjonslogg, alarmer og tilgangskommandoer knyttet til overvåkingskapasiteten. Rootsettet ble oppdaget etter at inntrengerne installerte en feilaktig oppdatering, noe som førte til at SMS -tekster ikke ble levert, noe som førte til at en automatisk feilrapport ble generert. Ericssons ingeniører ble kalt inn for å undersøke feilen og oppdaget de skjulte datablokkene som inneholder listen over telefonnumre som overvåkes, sammen med rootkit og ulovlig overvåkingsprogramvare.

Bruker

Moderne rootkits hever ikke tilgangen, men brukes heller til å gjøre en annen programvarelast ikke oppdagbar ved å legge til stealth -funksjoner. De fleste rootkits er klassifisert som skadelig programvare , fordi nyttelastene de følger med er ondsinnede. For eksempel kan en nyttelast stjele brukerpassord , kredittkortinformasjon , databehandlingsressurser eller utføre andre uautoriserte aktiviteter i skjul. Et lite antall rootkits kan betraktes som nytteprogrammer av brukerne: for eksempel kan en rootkit kappe en CD-ROM- emuleringsdriver, slik at videospillbrukere kan bekjempe anti-piratkopieringstiltak som krever at det originale installasjonsmediet settes inn i en fysisk optisk stasjon for å bekrefte at programvaren ble kjøpt lovlig.

Rootkits og nyttelastene deres har mange bruksområder:

  • Gi en angriper full tilgang via en bakdør , slik at uautorisert tilgang til for eksempel kan stjele eller forfalske dokumenter. En av måtene å utføre dette på er å undergrave påloggingsmekanismen, for eksempel /bin /login-programmet på Unix-lignende systemer eller GINA på Windows. Erstatningen ser ut til å fungere normalt, men godtar også en hemmelig påloggingskombinasjon som gir en angriper direkte tilgang til systemet med administrative privilegier, og omgår standard autentiserings- og autorisasjonsmekanismer .
  • Skjul annen skadelig programvare , spesielt nøkkelloggere og datavirus som stjeler passord .
  • Pass den kompromitterte maskinen som en zombimaskin for angrep på andre datamaskiner. (Angrepet stammer fra det kompromitterte systemet eller nettverket, i stedet for angriperens system.) "Zombie" -datamaskiner er vanligvis medlemmer av store botnett som-blant annet-kan starte denial-of-service-angrep , distribuere e-post spam og utføre klikksvindel .

I noen tilfeller gir rootkits ønsket funksjonalitet, og kan installeres med vilje på vegne av datamaskinbrukeren:

  • Oppdag og forhindre juks i online spill med programvare som Warden og GameGuard .
  • Oppdag angrep, for eksempel i en honningkrukke .
  • Forbedre emuleringsprogramvare og sikkerhetsprogramvare. Alkohol 120% og Daemon Tools er kommersielle eksempler på ikke-fiendtlige rootkits som brukes til å bekjempe kopibeskyttelsesmekanismer som SafeDisc og SecuROM . Kaspersky antivirusprogramvare bruker også teknikker som ligner rootkits for å beskytte seg mot ondsinnede handlinger. Den laster sine egne drivere for å fange opp systemaktivitet, og forhindrer deretter andre prosesser i å skade seg selv. Prosessene er ikke skjult, men kan ikke avsluttes med standardmetoder.
  • Tyveribeskyttelse: Bærbare datamaskiner kan ha BIOS-basert rootkit-programvare som periodisk rapporterer til en sentral myndighet, slik at den bærbare datamaskinen kan overvåkes, deaktiveres eller slettes av informasjon i tilfelle den blir stjålet.
  • Omgå Microsoft -produktaktivering

Typer

Det er minst fem typer rootkit, alt fra de på det laveste nivået i fastvare (med de høyeste privilegiene), til de minst privilegerte brukerbaserte variantene som opererer i Ring 3 . Hybridkombinasjoner av disse kan forekomme for eksempel brukermodus og kjernemodus.

Brukermodus

Datasikkerhetsringer (Merk at Ring -1 ikke vises)

Brukermodus-rootkits kjøres i Ring 3 , sammen med andre programmer som bruker, i stedet for systemprosesser på lavt nivå. De har en rekke mulige installasjonsvektorer for å fange opp og endre standardatferden til programmeringsgrensesnitt (APIer). Noen injiserer et dynamisk koblet bibliotek (for eksempel en .DLL -fil på Windows eller en .dylib -fil på Mac OS X ) i andre prosesser, og er derved i stand til å utføre i en hvilken som helst målprosess for å forfalske den; andre med tilstrekkelige privilegier overskriver ganske enkelt minnet til et målprogram. Injeksjonsmekanismer inkluderer:

  • Bruk av leverandørleverte applikasjonsutvidelser. For eksempel har Windows Utforsker offentlige grensesnitt som lar tredjeparter utvide funksjonaliteten.
  • Avlytting av meldinger .
  • Debugger .
  • Utnyttelse av sikkerhetsproblemer .
  • Funksjon hekte eller lapping av brukte API-er, for eksempel, for å skjule en kjørende prosess eller fil som ligger på et filsystem.

... siden applikasjoner i brukermodus alle kjører i sitt eget minneplass, må rootkit utføre denne oppdateringen i minneplassen til alle kjørende applikasjoner. I tillegg må rootkit overvåke systemet for nye applikasjoner som kjører og lapper programmenees minneplass før de kjøres fullt ut.

-  Oversikt over Windows Rootkit, Symantec

Kjernemodus

Kernemodell-rootkits kjører med de høyeste operativsystemrettighetene ( Ring 0 ) ved å legge til kode eller erstatte deler av kjernestyringssystemet, inkludert både kjernen og tilhørende enhetsdrivere . De fleste operativsystemer støtter enhetsdrivere i kjernemodus, som kjøres med de samme privilegiene som selve operativsystemet. Som sådan er mange kjernemodus-rootkits utviklet som enhetsdrivere eller lastbare moduler, for eksempel lastbare kjernemoduler i Linux eller enhetsdrivere i Microsoft Windows . Denne klassen av rootkit har ubegrenset sikkerhetstilgang, men er vanskeligere å skrive. Kompleksiteten gjør feil vanlige, og eventuelle feil i kode som opererer på kjernenivå kan alvorlig påvirke systemstabiliteten, noe som kan føre til oppdagelse av rootkit. En av de første kjente rootkits for kjernen ble utviklet for Windows NT 4.0 og utgitt i Phrack magazine i 1999 av Greg Hoglund . Kernel rootkits kan være spesielt vanskelig å oppdage og fjerne fordi de opererer på samme sikkerhetsnivå som selve operativsystemet, og dermed er i stand til å fange opp eller undergrave de mest pålitelige operativsystemoperasjonene. All programvare, for eksempel antivirusprogramvare , som kjører på det kompromitterte systemet, er like sårbar. I denne situasjonen kan du ikke stole på noen del av systemet.

En rootkit kan endre datastrukturer i Windows -kjernen ved hjelp av en metode kjent som direkte kjerneobjektmanipulering (DKOM). Denne metoden kan brukes til å skjule prosesser. En kjernemodell rootkit kan også koble til System Service Descriptor Table (SSDT), eller endre portene mellom brukermodus og kjernemodus, for å kappe seg selv. På samme måte for Linux -operativsystemet kan en rootkit endre systemoppringningstabellen for å undergrave kjernefunksjonaliteten. Det er vanlig at en rootkit oppretter et skjult, kryptert filsystem der det kan skjule annen skadelig programvare eller originale kopier av filer den har infisert. Operativsystemer utvikler seg for å imøtekomme trusselen med kjernemodus rootkits. For eksempel implementerer 64-biters versjoner av Microsoft Windows nå obligatorisk signering av alle drivere på kjernenivå for å gjøre det vanskeligere for upålitelig kode å utføre de høyeste rettighetene i et system.

Bootkits

En kjernemodell rootkit-variant som kalles en bootkit kan infisere oppstartskode som Master Boot Record (MBR), Volume Boot Record (VBR) eller oppstartssektor , og på denne måten kan den brukes til å angripe fulle diskkrypteringssystemer . Et eksempel på et slikt angrep på diskkryptering er " evil maid attack ", der en angriper installerer en bootkit på en datamaskin uten tilsyn. Det forestilte scenariet er en hushjelp som sniker seg inn på hotellrommet der ofrene forlot maskinvaren. Bootkit erstatter den legitime boot loader med en under deres kontroll. Vanligvis vedvarer malware -lasteren gjennom overgangen til beskyttet modus når kjernen er lastet inn, og er dermed i stand til å undergrave kjernen. For eksempel undergraver "Stoned Bootkit" systemet ved å bruke en kompromittert oppstartslaster for å fange opp krypteringsnøkler og passord. I 2010 har Alureon rootkit lykkes med å undergrave kravet om 64-biters kjernemodusdriversignering i Windows 7 , ved å endre hovedoppstartsposten . Selv om det ikke er skadelig programvare i den forstand at brukeren ikke ønsker det, fungerer visse "Vista Loader" eller "Windows Loader" -programvare på en lignende måte ved å injisere en ACPI SLIC (System Licensed Internal Code) -tabell i RAM-bufret versjon av BIOS under oppstart for å beseire aktiveringsprosessen for Windows Vista og Windows 7 . Denne angrepsvektoren ble gjort ubrukelig i (ikke-server) versjonene av Windows 8 , som bruker en unik, maskinspesifikk nøkkel for hvert system, som bare kan brukes av den ene maskinen. Mange antivirusbedrifter tilbyr gratis verktøy og programmer for å fjerne bootkits.

Hypervisor -nivå

Rootkits har blitt opprettet som Type II Hypervisors i akademia som bevis på konseptet. Ved å utnytte maskinvarevirtualiseringsfunksjoner som Intel VT eller AMD -V, kjører denne typen rootkit i Ring -1 og er vert for måloperativsystemet som en virtuell maskin , og gjør det mulig for rootkit å fange opp maskinvaresamtaler fra det opprinnelige operativsystemet. I motsetning til vanlige hypervisorer trenger de ikke å lastes før operativsystemet, men kan lastes inn i et operativsystem før de markedsføres til en virtuell maskin. En hypervisor rootkit trenger ikke å gjøre endringer i kjernen til målet for å undergrave den; Det betyr imidlertid ikke at det ikke kan oppdages av gjesteoperativsystemet. For eksempel kan tidsforskjeller være påviselige i CPU -instruksjoner. "SubVirt" laboratorium rootkit, utviklet i fellesskap av forskere fra Microsoft og University of Michigan , er et akademisk eksempel på en virtuell maskinbasert rootkit (VMBR), mens Blue Pill- programvare er en annen. I 2009 demonstrerte forskere fra Microsoft og North Carolina State University et hypervisor-lag anti-rootkit kalt Hooksafe , som gir generisk beskyttelse mot kjernemodus rootkits. Windows 10 introduserte en ny funksjon kalt "Device Guard", som utnytter virtualisering for å gi uavhengig ekstern beskyttelse av et operativsystem mot rootkit-type malware.

Fastvare og maskinvare

En fastvare -rootkit bruker fastvare for enhet eller plattform for å lage et vedvarende malware -bilde i maskinvare, for eksempel en ruter , nettverkskort , harddisk eller system -BIOS . Rootkit skjuler seg i fastvare, fordi fastvare vanligvis ikke blir inspisert for kodeintegritet . John Heasman demonstrerte levedyktigheten til fastvare -rootkits i både ACPI -fastvarerutiner og i et PCI -utvidelseskort -ROM . I oktober 2008 manipulerte kriminelle med europeiske maskiner for kredittkortlesing før de ble installert. Enhetene fanget opp og overførte kredittkortdetaljer via et mobiltelefonnettverk. I mars 2009 publiserte forskerne Alfredo Ortega og Anibal Sacco detaljer om et BIOS -nivå Windows -rootkit som var i stand til å overleve diskutskifting og ominstallering av operativsystemet. Noen måneder senere fikk de vite at noen bærbare datamaskiner selges med et legitimt rootkit, kjent som Absolute CompuTrace eller Absolute LoJack for Laptops , forhåndsinstallert i mange BIOS -bilder. Dette er et tyverisikringssystem som forskere viste at kan brukes til ondsinnede formål.

Intel Active Management Technology , en del av Intel vPro , implementerer håndtering utenom bandet , noe som gir administratorer fjernadministrasjon , fjernstyring og fjernkontroll av PCer uten involvering av vertsprosessoren eller BIOS, selv når systemet er slått av. Ekstern administrasjon inkluderer ekstern oppstart og avstengning, ekstern tilbakestilling, omdirigert oppstart, konsollomdirigering, forhåndsoppstartstilgang til BIOS-innstillinger, programmerbar filtrering for inngående og utgående nettverkstrafikk, agentpresentasjonskontroll, politikkbasert out-of-band varsling, tilgang til systeminformasjon, for eksempel maskinvareinformasjon, vedvarende hendelseslogger og annen informasjon som er lagret i dedikert minne (ikke på harddisken) der den er tilgjengelig, selv om operativsystemet er slått av eller PCen er slått av. Noen av disse funksjonene krever det dypeste nivået av rootkit, en andre ikke-flyttbar spiondatamaskin bygget rundt hoveddatamaskinen. Sandy Bridge og fremtidige brikkesett har "muligheten til eksternt å drepe og gjenopprette en tapt eller stjålet PC via 3G". Maskinvare -rootkits innebygd i brikkesettet kan hjelpe til med å gjenopprette stjålne datamaskiner, fjerne data eller gjøre dem ubrukelige, men de presenterer også personvern- og sikkerhetshensyn ved uoppdagelig spionasje og omdirigering av ledelse eller hackere som kan få kontroll.

Installasjon og tilsløring

Rootkits bruker en rekke teknikker for å få kontroll over et system; typen rootkit påvirker valget av angrepsvektor. Den vanligste teknikken utnytter sikkerhetsproblemer for å oppnå skjult privilegium -eskalering . En annen tilnærming er å bruke en trojansk hest og lure en datamaskinbruker til å stole på rootkits installasjonsprogram som godartet - i dette tilfellet overbeviser sosial ingeniørarbeid en bruker om at rootkiten er gunstig. Installasjonsoppgaven blir enklere hvis prinsippet om minst privilegium ikke brukes, siden rootkit ikke trenger eksplisitt å be om forhøyede (administratornivå) rettigheter. Andre klasser av rootkits kan bare installeres av noen med fysisk tilgang til målsystemet. Noen rootkits kan også installeres forsettlig av eieren av systemet eller noen som er autorisert av eieren, f.eks. For å overvåke ansatte , noe som gjør slike subversive teknikker unødvendige. Noen ondsinnede rootkit-installasjoner er kommersielt drevet, med en pay-per-install (PPI) kompensasjonsmetode som er typisk for distribusjon.

Når det er installert, tar et rootkit aktive tiltak for å skjule dets tilstedeværelse i vertssystemet gjennom subversjon eller unndragelse av standard operativsystems sikkerhetsverktøy og applikasjonsprogrammeringsgrensesnitt (APIer) som brukes til diagnose, skanning og overvåking. Rootkits oppnår dette ved å endre oppførselen til kjernedeler i et operativsystem ved å laste inn kode i andre prosesser, installasjon eller modifisering av drivere eller kjernemoduler . Skjulteknikker inkluderer å skjule kjørende prosesser fra systemovervåkingsmekanismer og skjule systemfiler og andre konfigurasjonsdata. Det er ikke uvanlig at en rootkit deaktiverer hendelsesloggingskapasiteten til et operativsystem, i et forsøk på å skjule bevis for et angrep. Rootkits kan i teorien undergrave enhver operativsystemaktivitet. Den "perfekte rootkiten" kan sees på som en " perfekt forbrytelse ": en som ingen skjønner har funnet sted. Rootkits iverksetter også en rekke tiltak for å sikre deres overlevelse mot deteksjon og "rengjøring" av antivirusprogramvare i tillegg til at de vanligvis installeres i Ring 0 (kjernemodus), der de har full tilgang til et system. Disse inkluderer polymorfisme (endring slik at "signaturen" deres er vanskelig å oppdage), stealth-teknikker, regenerering, deaktivering eller deaktivering av programvare mot skadelig programvare, og ikke installering på virtuelle maskiner der det kan være lettere for forskere å oppdage og analysere dem.

Gjenkjenning

Det grunnleggende problemet med rootkit-deteksjon er at hvis operativsystemet har blitt undergravd, spesielt av et rootkit på kjernenivå, kan det ikke klareres å finne uautoriserte modifikasjoner av seg selv eller dets komponenter. Handlinger som å be om en liste over kjørende prosesser, eller en liste over filer i en katalog, kan ikke stole på for å oppføre seg som forventet. Med andre ord, rootkit-detektorer som fungerer mens de kjører på infiserte systemer, er bare effektive mot rootkits som har en viss feil i kamuflasjen, eller som kjører med lavere brukermodusrettigheter enn deteksjonsprogramvaren i kjernen. Som med datavirus , er deteksjon og eliminering av rootkits en pågående kamp mellom begge sider av denne konflikten. Deteksjon kan ta en rekke forskjellige tilnærminger, inkludert å lete etter "signaturer" av virus (f.eks. Antivirusprogramvare), integritetskontroll (f.eks. Digitale signaturer ), differensbasert deteksjon (sammenligning av forventet kontra faktiske resultater) og atferdsdeteksjon (f.eks. Overvåking CPU -bruk eller nettverkstrafikk).

For rootkits i kjernemodus er deteksjon betydelig mer kompleks, og krever nøye gransking av systemoppringningstabellen for å se etter hooked-funksjoner der skadelig programvare kan undergrave systematferd, samt rettsmedisk skanning av minne etter mønstre som indikerer skjulte prosesser. Unix rootkit -gjenkjenningstilbud inkluderer Zeppoo, chkrootkit , rkhunter og OSSEC . For Windows inkluderer deteksjonsverktøy Microsoft Sysinternals RootkitRevealer , Avast Antivirus , Sophos Anti-Rootkit, F-Secure , Radix, GMER og WindowsSCOPE . Eventuelle rootkit-detektorer som viser seg effektive, bidrar til slutt til deres egen ineffektivitet, ettersom malware-forfattere tilpasser og tester koden for å unnslippe deteksjon med godt brukte verktøy. Deteksjon ved å undersøke lagring mens det mistenkte operativsystemet ikke er operativt, kan gå glipp av rootkits som ikke gjenkjennes av kontrollprogramvaren, ettersom rootkit ikke er aktivt og mistenkelig oppførsel blir undertrykt; konvensjonell anti-malware programvare som kjører med rootkit-operativsystemet, kan mislykkes hvis rootkit skjuler seg effektivt.

Alternativt pålitelig medium

Den beste og mest pålitelige metoden for rootkit-deteksjon på operativsystemnivå er å slå av datamaskinen som er mistenkt for infeksjon, og deretter kontrollere lagringen ved å starte fra et alternativt pålitelig medium (f.eks. En "rednings" CD-ROM eller USB-flash-stasjon ). Teknikken er effektiv fordi en rootkit ikke aktivt kan skjule sin tilstedeværelse hvis den ikke kjører.

Atferdsbasert

Den atferdsbaserte tilnærmingen for å oppdage rootkits prøver å utlede tilstedeværelsen av en rootkit ved å lete etter rootkit-lignende oppførsel. For eksempel, ved profilering av et system, kan forskjeller i tidspunkt og frekvens for API -anrop eller i generell CPU -utnyttelse tilskrives et rootkit. Metoden er kompleks og blir hemmet av en høy forekomst av falske positiver . Defekte rootkits kan noen ganger introdusere veldig åpenbare endringer i et system: Alureon rootkit krasjet Windows -systemer etter at en sikkerhetsoppdatering avslørte en designfeil i koden. Logger fra en pakkeanalysator , brannmur eller et system for inntrengingsforebygging kan vise tegn på rootkit -oppførsel i et nettverksmiljø.

Signaturbasert

Antivirusprodukter fanger sjelden alle virus i offentlige tester (avhengig av hva som brukes og i hvilken grad), selv om leverandører av sikkerhetsprogramvare inkluderer rootkit -deteksjon i produktene sine. Skulle en rootkit prøve å skjule seg under en antivirus -skanning, kan en skjult detektor legge merke til det. hvis rootkiten prøver å midlertidig losse seg fra systemet, kan signaturdeteksjon (eller "fingeravtrykk") fortsatt finne den. Denne kombinerte tilnærmingen tvinger angripere til å implementere motangrepsmekanismer, eller "retro" rutiner, som prøver å avslutte antivirusprogrammer. Signaturbaserte deteksjonsmetoder kan være effektive mot godt publiserte rootkits, men mindre mot spesialkonstruerte, root-sett med tilpasset root.

Forskjellsbasert

En annen metode som kan oppdage rootkits sammenligner "pålitelige" rådata med "skadet" innhold som returneres av et API . For eksempel kan binære filer på disken sammenlignes med kopiene i operativminnet (i noen operativsystemer bør minnet i bildet være identisk med bildet på disken), eller resultatene returneres fra filsystemet eller Windows Registry APIs kontrolleres mot råstrukturer på de underliggende fysiske diskene - men i tilfelle de første kan noen gyldige forskjeller innføres ved operativsystemmekanismer som flytting av minne eller shimming . En rootkit kan oppdage tilstedeværelsen av en slik differensialbasert skanner eller virtuell maskin (sistnevnte brukes ofte til å utføre rettsmedisinsk analyse), og justere oppførselen slik at ingen forskjeller kan oppdages. Forskjellen-basert gjenkjenning ble brukt av Russinovich 's Rootkitrevealer verktøy for å finne Sony DRM rootkit.

Integritetskontroll

Den rkhunter verktøyet bruker SHA-1 hashes for å verifisere integriteten til systemfiler.

Kodesignering bruker offentlig nøkkelinfrastruktur for å sjekke om en fil har blitt endret siden den ble signert digitalt av utgiveren. Alternativt kan en systemeier eller administrator bruke en kryptografisk hashfunksjon for å beregne et "fingeravtrykk" ved installasjonstidspunktet som kan hjelpe til med å oppdage påfølgende uautoriserte endringer i kodebiblioteker på disken. Imidlertid sjekker usofistikerte ordninger bare om koden har blitt endret siden installasjonstiden; subversjon før den tid er ikke påviselig. Fingeravtrykket må gjenopprettes hver gang det gjøres endringer i systemet: for eksempel etter installering av sikkerhetsoppdateringer eller en service pack . Hashfunksjonen oppretter en meldingsfordeling , en relativt kort kode beregnet fra hver bit i filen ved hjelp av en algoritme som skaper store endringer i meldingsfordelingen med enda mindre endringer i den opprinnelige filen. Ved å beregne og sammenligne meldingsoppsettet til de installerte filene med jevne mellomrom mot en klarert liste over meldingsfordøyelser, kan endringer i systemet oppdages og overvåkes - så lenge den opprinnelige grunnlinjen ble opprettet før skadelig programvare ble lagt til.

Mer sofistikerte rootkits er i stand til å undergrave bekreftelsesprosessen ved å presentere en umodifisert kopi av filen for inspeksjon, eller ved å gjøre kodeendringer bare i minnet, rekonfigureringsregistre, som senere blir sammenlignet med en hvit liste over forventede verdier. Koden som utfører hash-, sammenlignings- eller utvidelsesoperasjoner må også beskyttes-i denne sammenhengen mener forestillingen om en uforanderlig tillitsrot at den aller første koden for å måle sikkerhetsegenskapene til et system må stole på for å sikre at en rootkit eller bootkit kompromitterer ikke systemet på sitt mest grunnleggende nivå.

Minnedumper

Tvinge en full dump av virtuelt minne vil fange en aktiv rootkit (eller en kjernedump i tilfelle av en kernel-modus rootkit), slik at offline rettsmedisinsk analyse kan utføres med en debugger mot den resulterende dumpfilen , uten at rootkit kan iverksette tiltak for å kappe seg selv. Denne teknikken er høyt spesialisert, og kan kreve tilgang til ikke-offentlig kildekode eller feilsøkingssymboler . Minnedumper startet av operativsystemet kan ikke alltid brukes til å oppdage et hypervisorbasert rootkit, som er i stand til å fange opp og undergrave forsøkene på laveste nivå for å lese minne-en maskinvareenhet, for eksempel en som implementerer et ikke-maskerbart avbrudd , kan være nødvendig for å dumpe minne i dette scenariet. Virtuelle maskiner gjør det også lettere å analysere minnet til en kompromittert maskin fra den underliggende hypervisoren, så noen rootkits vil unngå å infisere virtuelle maskiner av denne grunn.

Fjerning

Manuell fjerning av et rootkit er ofte ekstremt vanskelig for en typisk datamaskinbruker, men en rekke leverandører av sikkerhetsprogramvare tilbyr verktøy for å automatisk oppdage og fjerne noen rootkits, vanligvis som en del av en antivirus-pakke . Fra 2005 kan Microsofts månedlige verktøy for fjerning av skadelig programvare for Windows oppdage og fjerne noen klasser av rootkits. Windows Defender Offline kan også fjerne rootkits, ettersom det kjører fra et klarert miljø før operativsystemet starter. Noen antivirus -skannere kan omgå filsystem -API -er, som er sårbare for manipulering av en rootkit. I stedet får de direkte tilgang til råfilsystemstrukturer, og bruker denne informasjonen til å validere resultatene fra system -API -ene for å identifisere eventuelle forskjeller som kan skyldes en rootkit. Det er eksperter som mener at den eneste pålitelige måten å fjerne dem på er å installere operativsystemet på nytt fra klarerte medier. Dette er fordi verktøy for fjerning av antivirus og skadelig programvare som kjører på et system som ikke er klarert, kan være ineffektive mot velskrevne root-sett med kjernemodus. Ved å starte et alternativt operativsystem fra pålitelige medier kan et infisert systemvolum monteres og potensielt trygt rengjøres og kritiske data kopieres av - eller alternativt utføres en rettsmedisinsk undersøkelse. Lette operativsystemer som Windows PE , Windows Recovery Console , Windows Recovery Environment , BartPE eller Live Distros kan brukes til dette formålet, slik at systemet kan "rengjøres". Selv om typen og arten av en rootkit er kjent, kan manuell reparasjon være upraktisk, mens ominstallering av operativsystemet og applikasjoner er sikrere, enklere og raskere.

Forsvar

System herding representerer en av de første lagene i forsvaret mot en rootkit, for å hindre den fra å være i stand til å installere. Å bruke sikkerhetsoppdateringer , implementere prinsippet om minst privilegium , redusere angrepsoverflaten og installere antivirusprogramvare er noen standard beste praksis for sikkerhet som er effektive mot alle klasser av skadelig programvare. Nye spesifikke oppstartspesifikasjoner som Unified Extensible Firmware Interface er designet for å håndtere trusselen om bootkits, men selv disse er sårbare hvis sikkerhetsfunksjonene de tilbyr ikke blir utnyttet. For serversystemer gir ekstern serverattestering ved hjelp av teknologier som Intel Trusted Execution Technology (TXT) en måte å kontrollere at servere forblir i en kjent god tilstand. For eksempel bekrefter Microsoft Bitlockers kryptering av data-at-rest at serverne er i en "god tilstand" ved oppstart. PrivateCore vCage er et programvaretilbud som sikrer data i bruk (minne) for å unngå oppstartssett og rootkits ved å kontrollere at servere er i en "god" tilstand ved oppstart. PrivateCore -implementeringen fungerer i samspill med Intel TXT og låser grensesnitt for serversystemer for å unngå potensielle bootkits og rootkits.

Se også

Merknader

Referanser

Videre lesning

Eksterne linker

  • Media relatert til Rootkits på Wikimedia Commons