IT-säkerhetshandboken
http://www.susec.sunet.se
susec@sunet.se

Analys

När data är insamlade är det dags för dig att sätta dig ner och tänka igenom vad som hänt, varför det hänt och hur du kan hindra att det händer igen. I den bästa av världar skulle du kunna göra detta i lugn och ro, och ha tillgång till all den information som gick att få. I verkligheten är det ofta mera komplicerat:

Det gäller att känna till de aktuella systemen när du jobbar med analysen. Om du inte är bekant med operativsystemet, tillämpningarna och så vidare, så är det ju inte lätt att veta vad som är normalt och vad som är tecken på intrång. Ett sätt att klara detta är att jobba i par: en person som har erfarenhet av analysarbetet som sådant och en person med mera ingående kunskaper om systemen.

Vid analys av enklare händelser kan det räcka med att titta på de data du samlat in. Med hjälp av intuition och erfarenhet från tidigare händelser inser du någorlunda direkt vad som hänt. När det är frågan om mera komplicerade händelser behöver du jobba mera systematiskt, till exempel genom att göra en tidslinje. Tidslinje

Att göra en tidslinje över incidenten är ett bra sätt att börja nysta i det data du har tillgängligt. Du tvingar din hjärna att fundera över det inträffade utan att bli överväldigad av allt på en gång, och dokumenterar samtidigt det inträffade på att sätt som du kan använda senare.

En av de främsta poängerna är att du sammanställer data från olika källor. Om incidenten berör flera system så sammanställer du också data från de olika systemen på ett och samma ställe, och kan se mönster som inte synts tidigare.

Exampel på källor som kan sammanställas till en tidslinje:

Tidslinjen behöver inte vara krångligare än en fil (exempelvis ett kalkylark eller TAB-separerad textfil) med datum och tid i början (så att du enkelt kan sortera på detta) och sedan information om vad som hänt vid den aktuella tidpunkten. Då flera system är drabbade kan det vara smidigt att ha ett särskilt fält som talar om vilket system som raden gäller.

I enklare fall kan du sammanställa tidslinjen manuellt, men när det blir mera komplicerat underlättar det att ta hjälp av datorn för att sammanställa de olika källorna och sortera ihop dem. Du kan behöva små program för att till exempel omvandla loggfiler från syslog-format till det format du valt för tidslinjen.

Oavsett hur sammanställningen sker behöver du försöka göra ett urval, så att du filtrerar bort information som inte har med intrånget att göra, så att den relevanta informationen inte drunknar bland skräp. Du får kanske börja med att ta med all slags information från loggarna, och sedan successivt ta bort sådan information som du är någorlunda säker på inte har med intrånget att göra.

När information från flera källor sammanställs till en tidslinje är det givetvis viktigt att tiderna inte blir fel så att tidslinjen ger fel uppfattning om vilken ordning olika händelser inträffade. Här finns två olika anledningar till problem:

För att kunna rätta till eventuella fel behöver du information om hur fel eller rätt tiderna är. Denna information kan antingen komma från datainsamlingsfasen då du tog reda på det, eller genom att du lyckas jämföra två händelser som du vet inträffat samtidigt och som syns i flera källor.

Om du vet att tiderna för en viss datakälla är fel så kan du ta hjälp av ett litet program för att korrigera tidsstämplarna till normaltid innan den källan sorteras in i tidslinjen.

Ett näraliggande problem är att olika datakällor kan ha olika upplösning på tidsinformationen. MAC-time-datat och vissa loggar kan ha sekundupplösning, medan andra loggar bara har minutupplösning. När du sorterar ihop detta till en tidslinje måste du på något sätt hantera detta, så du inte lurar dig (eller andra) att tro att något som hände mellan 14:05:00 och 14:05:59 hände exakt 14:05:00.

Historiefiler från kommandoskal (.bash_history med flera) som inte raderats kan ofta ge värdefull information om vad som hänt. Tyvärr är det vanligt att tidsstämplar saknas per kommando, vilket gör det svårt att sortera ihop informationen här med resten av tidslinjen. Har du tur kan du knyta ihop kommandona här med andra händelser som du har tider på, till exempel genom att du ser ett kommando som påverkar en fil på ett sätt som du kan se i MAC-time-datat, eller genom att du ser ett kommando som resulterar i loggar på andra system eller nättrafik som du har tidsinformation om. Diagram

Som ett komplement till tidslinjen kan det vara nyttigt att rita ett diagram över de inblandade systemen (både de du utreder och de externa datorer som är inblandade). Olika slags pilar mellan datorerna får symbolisera olika händelser (portskanningar, inloggningar, filsystemsmonteringar, med mera).

Var noga med att inte missa de andra system som ser ut att vara inblandade. Attacker mot system och inloggningar från knäckta system kommer ju ofta från system som i sin tur är utsatta för intrång. Om det är interna kan du behöva undersöka dessa också. Om de är externa så behöver du varna systemadministratörerna för dessa system (om du inte misstänker att de är inkräktarnas egna maskiner).

Du får räkna med att diagrammet blir ganska kladdigt och krångligt efter ett tag, men det gör ofta inte så mycket: det är inte slutresultatet som är det viktiga, utan stödet du får medan du arbetar med analysen. Skulle ett snyggt diagram behövas på slutet får du rita om det. MAC-time-analys

En av informationskällorna som nämns ovan är MAC-time-analys. Den bygger på att varje fil på systemet har ett antal tidsstämplar. På ett typiskt Unix-system (där tekniken utvecklades) finns tre olika:

På Windows (NTFS) finns också M, A och C-tider, men C betyder här "creation".

Idén bakom analysen är att samla på sig MAC-tiderna för alla filer. För varje fil skapas sedan tre rader, en för varje typ av tidsstämpel. Sedan sorterar man raderna efter tiderna, och presenterar resultatet.

Första gången du gör en MAC-time-analys blir du förhoppningsvis positivt överraskad av hur mycket information detta ger. Tack vare sorteringen på tidpunkt kan du se samband som annars inte hade framgått. Exempel:

Det finns dock ett antal brister att ta hänsyn till:

The Coroners Toolkit (TCT) populariserade denna teknik. Numera används ofta efterföljaren The Sleuth Kit (TSK). MAC-time-analys på deras sätt delas ofta upp i två delar:

Inblandade filer

En viktig del av en analys är att hitta och undersöka de filer som har med incidenten att göra. Dessa filer kan vara av olika slag, exempelvis:

Hur hittar du då de filer som är intressanta i sammanhanget?

Raderade filer kan innehålla intressanta saker (till exempel loggfiler som inkräktarna raderat, källkod till program de kompilerat, exploitprogram de kört för att få privilegier). Försök återställa raderade eller gå igenom det innehåll på disken som inte hör till några filer (se programmet "dls" i TSK).

Hur gör du då när du hittat skumma filer och inte vet vad de gör?

Vägen in

En viktig del av analysen är att klarlägga varför intrånget kunde ske. Ibland är det uppenbart baserat på loggar och filer, men vid andra tillfällen får man gissa en del och sedan försöka bevisa att hypotesen stämmer eller att den inte kan vara sann. Exempel på saker att tänka på:

Tänk på att attacken kan ha kommit via ett användarkonto. En inkräktare som "redan är inne på systemet" kan såklart göra betydligt mer saker än en som tvingas nöja sig med att angripa nättjänster utifrån. Exempel på metoder som kan ha använts för att få ett konto att missbruka:

Gissande av lösenord brukar ge avtryck i loggfiler på det aktuella systemet, men om någon av de andra metoderna använts kan det vara omöjligt att få reda på hur lösenordet kommit på avvägar, bara genom att analysera data från det systemet. Rapport

Förhoppningsvis har du efter att ha jobbat aktivt med det som beskrivs ovan skapat dig en uppfattning om vad som har hänt och varför det kunnat ske.

Sista steget i analysen är att dokumentera resultatet på något sätt. Omfattningen kan vara allt från några rader i ett ärendehanteringssystem till en komplett skriftlig rapport avsedd för ledning, polisanmälan eller dylikt.

En någorlunda ambitiös rapport kan innehålla:

Läs mer


IT-säkerhetshandboken
http://www.susec.sunet.se