Artikel top billede

(Foto: Computerworld)

Lav en dyb scanning af computeren

Sådan afslører du skjulte rootkits ved hjælp af BitDefenders RescueDisk.

Af Torben Okholm, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Der var engang, da vira drejede sig om kaos, destruktion og tab af data, men det var før, kriminelle bander opdagede, at computere kunne bruges til afpresning og svindel. Man kunne endda bruge dem som cybervåben. I de seneste ti år har onlinekriminalitet udviklet sig hurtigere end den branche, der er groet frem for at beskytte os mod den.

Malware af alle slags bliver mere driftsikre, i takt med at belønningerne bliver mere indbringende, og i dag kan selv den enkleste botnetklient dække sig selv i et slør af usynlighed. Hvordan kan man afsløre sådan en infektion og give sit netværk en ren sundhedsattest? Det kræver en dyb scanning – langt dybere, end din normale antivirus-software kan levere.

Hiv det op med rødderne

Ordet ‘rootkit’ stammer fra ‘root’ (rod), der er systemadministratorens kontonavn på Unix og Linux-baserede operativsystemer, og ‘kit’, der i denne sammenhæng blot betyder værktøjssæt. Et rootkit er altså et sæt værktøjer, der er beregnet til at give privilegeret adgang til en computer.

Hvis man vil forstå rootkits, skal man betragte et operativsystem som et system af koncentriske sikkerhedsringe. I centrum er kernen. Den kalder man som regel ring nul, og den har den højeste grad af privilegier i forhold til operativsystemet og den information, det bearbejder. Ring nul bliver også kaldt kernetilstand. Ring et og to bliver som regel forbeholdt mindre privilegerede processer. Hvis disse ringe svigter, påvirker de kun de ringprocesser, der er afhængige af dem.

Ring tre er det sted, hvor brugerprocesserne findes, og den kaldes som regel for brugertilstand. Ring tre er altid genstand for et strengt hierarki af privilegier. Det er imidlertid interessant, at debuggers gerne kører i ring to, fordi de skal kunne holde pause og undersøge brugertilstandens processors tilstand. En proces, der kører i en mere privilegeret ring, kan sænke sine privilegier og køre i en ydre ring, men det fungerer ikke omvendt uden udtrykkelig tilladelse fra operativsystemets sikkerhedsmekanismer. Det er kendt som det mindste privilegiums princip. I tilfælde, hvor man kan undgå sådanne sikkerhedsmekanismer, siger man, at der eksisterer en eskalering af privilegium-sårbarhed.

Ring nul-processer (kernetilstand) og de moduler, der udgør dem, har ansvaret for at styre systemets ressourcer, cpu, i/o, og moduler som device-drivere på lavere niveauer. Mange rootkits er derfor udviklet til at ligne device-drivere eller andre kernemoduler. Hvis man vil udspionere en computer eller opsnappe eller ændre data, der ikke tilhører en selv, skal man opsøge kernen. Hvis man vil se alt, hvad der bliver tastet på tastaturet, skal man bruge et rootkit, der giver sig ud for at være tastatur-driver. Hvis man vil se alt, hvad der bliver sendt til og fra netværket, skal man udskifte en netkort-driver.

Beskyttelse

Hvis kernen blot var stumper af kode, der blev kompileret af udvikleren og derefter ikke blev ændret, før der blev frigivet en ny, ville det være nemmere at afsløre rootkits. Imidlertid er moderne operativsystemer fleksible. De kan udnytte moduler, som kan indlæses. Når systemet booter, scanner et typisk operativsystem måske hardwaren og indlæser kun de moduler, det skal bruge til at styre hardwaren. Disse moduler er derfor meget tiltrækkende mål for folk, der skriver ondsindet kode. Hvis man kan erstatte et modul med et, der indeholder et rootkit, bliver det derefter indlæst i kernen og vil køre i ring nul.

For at forhindre forgiftet kode i at blive indlæst i 64bit-Windows 7 insisterer Microsoft nu på kryptografiske kodesignaturer til alle indlæsbare moduler. Der bliver oprettet en “hash value” for modulet, idet dets kode bliver kørt gennem en algoritme. Kun hvis koden producerer den samme hash value som den oprindelige kode, der er kompileret af Microsoft, bliver den indlæst og kan køre. Enhver afvigelse fra denne hash value betyder, at koden er blevet ændret, og den bliver derfor ikke indlæst. Imidlertid understøtter visse former for ældre hardware ikke signaturer (det gælder også visse typer specialiseret hardware), og det kan derfor være muligt at omgå device-driver-signatur ved at trykke [F8] i bootfasen og vælge den funktion på bootmenuen, der slår den fra.

Når man installerer programmer i Windows, er den kontrolprompt, der styrer bruger-adgangen, også en potentiel infektionsvektor. Når du siger ‘Ja’, giver du privilegeret adgang til operativsystemet – men ved du altid, hvad du installerer? Hvis en hacker kan overtale dig til at klikke ‘Ja’, når du burde sige ‘Nej’, kan din antivirus-software ikke altid redde dig. Det er grunden til, at det er farligt blot at installere software, som man får tilsendt af en ven, og det er derfor, det kan være ekstremt farligt at installere crackede og piratkopierede udgaver af software.

Fleksibel malware

I dag udgør rootkits en epidemi. Ligesom med malware er deres formål som regel ikke direkte ondsindede. I stedet bliver de brugt til at skjule ondsindet kode for operativsystemet og forsvarsværkerne.

Rootkits er meget fleksible, og de har mange anvendelsesområder. Man kan for eksempel bruge rootkits til at oprette og åbne bagdøre til operativsystemer med privilegeret adgang, enten med en kommandolinje eller via en gui. En sådan adgang gør det muligt for en potentiel angriber at browse i, stjæle og ændre information ved at undergrave og sågar omgå eksisterende mekanismer til kontoautorisation. Hvis et rootkit bliver liggende på en pc efter genstart, kan det også lukke hackere ind i systemet med privilegeret adgang på et senere tidspunkt.

For at forhindre afsløring kan rootkits også aktivt skjule deres tilstedeværelse. Det gør de på en ganske raffineret måde. Programmer som Windows Jobliste eller Microsofts alternative Process Explorer (http://bit.ly/fzWyfq) kræver begge adgang til operativsystemet for at kunne fortælle, hvad der sker. De er brugerprocesser, der kører i ring tre uden nogen direkte adgang til kernens aktiviteter. I stedet anmoder de om information via autoriserede funktionskald. Men hvis et rootkit har udskiftet den del af kernen, der besvarer disse kald, kan det returnere al den information, systemovervågeren ønsker – bortset fra det, der har med rootkittet at gøre. Antivirus-programmer bruger også almindelige systemkald, og det er grunden til, at de er meget dårlige til at afsløre rootkits på et system, der kører.

Denne evne til at operere usynligt i operativsystemet betyder, at et vigtigt formål med et rootkit er at skjule anden malware, der måske kører i operativsystemernes andre ringe. Nogle rootkits kan endda slå antivirus-software fra. Det er ikke usædvanligt at finde et meget avanceret rootkit, der beskytter et ret enkelt stykke malware. Hvordan kan man så afsløre dem?

Tid til afsløring

Eftersom et rootkit kan beskytte sig mod afsløring på et kørende operativsystem, kan man kun imødekomme det ved at forhindre det i at køre. Det gør man bedst ved at lukke selve operativsystemet ned og undersøge den disk, det er installeret på. Det er specialiseret arbejde, men mange antivirus-specia- lister har erkendt behovet for den slags værktøjer og leverer dem nu uden vederlag. Vi skal bruge BitDefenders gratis RescueDisk, der bliver leveret i form af et bootbart iso-image, der er parat til at blive brændt på en bootbar dvd. Det bygger på Linux og booter i stedet for computerens operativsystem. Det scanner harddisken, uden at der kommer nogen form for rootkit-aktivitet i vejen.

Du kan downloade BitDefender’s RescueDisk fra http://bit.ly/coqNmL. Klik på filen BitDefenderRescue CD_v2.0.0_5_10_2010.iso for at downloade den, og brænd derefter en dvd. Når det er gjort, sætter du dvd’en i drevet og genstarter computeren. Efter nogle få sekunder kommer BitDefenders bootmenu frem. Tryk [Enter], og efter et par minutter bliver der indlæst en grafisk desktop. BitDefenders software kører nu automatisk. Klik ‘Continue’ for at starte. Nu bliver softwaren downloadet, og de nyeste opdateringer bliver installeret. BitDefender giver sig nu til at undersøge disken.

Softwaren kører i 15 minutter eller mere, afhængigt af diskens størrelse. Den scanner ikke kun operativsystemets filer, men også bootloaderen og andre filer og søger efter tegn på infektion. Forudsat at der er opført rootkits i de downloadede definitionsfiler, bør den identificere al skjult malware, den møder – herunder den malware, som rootkittet har skjult.

Bemærk, at mens BitDefender kører, henviser den til C:-drevet som /media/LocalDisk-0. Det er en konvention i Linux, der refererer til den omstændighed, at softwaren behandler systemdisken, som den ville behandle enhver anden lagerenhed. Når du er færdig med scanningen og (forhåbentlig) ikke har fundet noget, kan du slukke for systemet, fjerne disken og genstarte i Windows.

Inden i Windows

Det er sværere at afgøre, om et operativsys-tem er inficeret med et rootkit, men det kan gøres. En løsning er det gratis GMER, som du kan hente på www.gmer.net. Klik ‘Files’ og derefter knappen Download EXE’ button. Det randomiserer filnavnet. I teorien kan ethvert rootkit blokere den eksekverbare GMER-fil, men hvis filnavnet er vilkårligt, bliver det sværere.

Nu downloader du en zipfil, som Windows Stifinder bør kunne åbne. Træk og slip gmer.exe til en passende mappe (en usb-nøgle er et godt valg), og dobbeltklik på den.

Klik ‘Scan’, så scanner GMER listen over afkrydsede os-emner i spalten til højre. Det kan tage nogen tid, men lad være med at blive bekymret over den lange liste, der kommer frem, medmindre du ser noget rødt. Rødt tyder på infektion. Under scanningen fortæller GMER om operativsystemet. Se den information ved at klikke på knappen med ‘> > >’. Den åbner flere andre knapper med forskellige oplysninger. Den nyttigste er nok knappen ‘Processes’.

Som med andre slags malware afhænger rootkit-afsløringens succes af den teknologi, der bliver brugt, og af leverandørens definitioner. Det er ikke altid 100 procent effektivt. Derfor anbefaler vi, at du scanner systemet med en af de gratis diske, der er til rådighed. Når man bruger en blanding af teknologier og scanning-metoder, er der størst chance for at afsløre rootkits.

Fjern Carrier IQ fra din smartphone

Forrige år kom det frem, at et hidtil ukendt Silicon Valley-foretagende ved navn Carrier IQ havde sin overvågningssoftware installeret på over 150 million smartphones og andre enheder over hele verden.

Nyheden kom, efter at sikkerhedseksperten Trevor Eckhart afslørede, hvor mange data der bliver indsamlet i en YouTube-video (http://bit.ly/sTcLeO). Carrier IQ ville først lukke munden på Eckhart med et trusselsbrev. Da skandalen kom frem, indrømmede virksomheden, at den krypterer og udsender informationer »for at forbedre brugeroplevelsen«. Tilbage står, at softwaren samler så megen information, og at det sker som standard uden brugerens viden eller accept.

Apple siger, at de fleste iOS 5-enheder ikke bruger Carrier IQ, men iPhone 4-brugere kan slå den fra ved at gå til ‘Settings > General > About > Diagnostics and Usage’. Vælg ‘Don’t send’.

Android-brugere kan flashe deres rom til en særlig udgave af operativsystemet uden Carrier IQ. Trevor Eckhart har lavet en skræddersyet app (www.androidsecuritytest.com), der kan fjerne overvågningssoftwaren.

På en BlackBerry-enhed afhænger fjernelsen af OS-udgaven. I OS 6.0 og senere går man til ‘Options > Device > Application management’ og finder IQ Agent. I OS 5.0 er det ‘Options > Applications’. Vælg ‘Third party’. I OS 4.1 til 4.7 går man til ‘Advanced Options > Applications’, og i OS 4.0 skal man gå til ‘Applications’ og finde ‘IQ Agent’. I alle tilfælde skal man trykke på Menu-knappen og vælge ‘Delete’. Når det er gjort, skal man genstarte telefonen.

Siden det første kendte rootkit har genren fået sit eget liv, idet hackerne har fundet nye anvendelsesmuligheder.

Kernen er ikke det eneste interessante for rootkitudviklere. Harddiskens bootsektor er et oplagt stykke kode, man kan inficere. Det er navnlig nyttigt, hvis der er fuld diskkryptering, fordi ondsindet kode kan sniffe det kodeord, der bliver brugt til at dekryptere disken.

Endnu mere nyttige rootkits er dem, der sidder i firmwaren på disk- og netkort. Hvis et rootkit kan ligge her og beskytte sig selv mod afsløring, kan det se alle de data, der strømmer til og fra disken og netværket.

Virtuelle maskiner er nu almindelige, og de giver beskyttelse mod mange former for malware, fordi man nemt kan gendanne deres status, hvis der opstår en infektion. Men de hypervisors, der muliggør virtualisering, kan også blive inficeret af rootkits.

Med on-chip-virtualiseringsteknologier har forskerne fundet ud af bogstavelig talt at se alt, hvad der sker inden i en virtuel maskine. Sådan et rootkit er Blue Pill fra den polske forsker Joanna Rutkowska. Det kan “lyve” over for operativsystemet i en virtuel maskine og kan eftergøre hardwareafbrydelser og systemtiden og derved forhindre afsløring.

Den ikkeondsindede brug af rootkitteknologi er mildt sagt kontroversiel. Nogle politiaktioner mod organiseret kriminalitet har brugt rootkits til at skaffe beviser. Rootkits er også blevet brugt til spionage. I 2004 fandt man et rootkit i en Ericsson AXE-telefon. Det tilhørte det græske Vodafone. Med det kunne man opsnappe opkald, og det sigtede på medlemmer af den græske regering og embedsmænd. Ingen ved, hvem der anbragte det.

Mere kontroversiel er brugen af rootkits til håndtering af digitale rettigheder og til at stoppe snyderi i onlinespil. I 2005 offentliggjorde Sony BMG cd’er med kopieringsbeskyttelse og software til håndtering af rettigheder, kaldet Extended Copy Protection.

Problemet var, at hver cd’s indbyggede musikafspiller hemmeligt blev installeret som et rootkit, der begrænsede adgangen til cd’en, uanset om afspilleren blev brugt. Microsofts Mark Russinovich afslørede denne praksis, og i den efterfølgende skandale blev Sony tvunget til at udsende et rootkit, der kunne fjerne softwaren. Resultatet var, at brugerne var meget sårbare, og det blev hurtigt udnyttet.

For nylig er rootkits blevet brugt til at forhindre snyd i multiplayer-onlinespil. Et af disse rootkit er Game Guard fra INCA Internet Co. Det skjuler spillets applikationsproces, overvåger hele den virtuelle hukommelse, stopper processer, der bliver betragtet som snyd, blokerer kald til bestemte DirectX- og Windows-funktioner og registrerer alle tastetryk. Det opdaterer også sig selv.

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Det skal du bruge:

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Mikrokerner

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Tidlige rootkits

[/themepacific_accordion_section]
[/themepacific_accordion]