• No results found

Liveutvinning av RAM vs hiberfil.sys för minnesforensik i Windows 10. Live extraction of RAM vs hiberfil.sys for memory forensics in Windows 10

N/A
N/A
Protected

Academic year: 2022

Share "Liveutvinning av RAM vs hiberfil.sys för minnesforensik i Windows 10. Live extraction of RAM vs hiberfil.sys for memory forensics in Windows 10"

Copied!
41
0
0

Loading.... (view fulltext now)

Full text

(1)

Bachelor Thesis

HALMSTAD

UNIVERSITY

IT-forensik 15 hp

Liveutvinning av RAM vs hiberfil.sys för minnesforensik i Windows 10

Live extraction of RAM vs hiberfil.sys for memory forensics in Windows 10

IT-forensik 15 hp

Halmstad 2020-06-23

Mathias Karlsson, Oskar Anderberg

(2)
(3)

Innehåll

Ordlista ...

Abstract ...

Sammanfattning ...

1. Inledning ... 1

1.1 Bakgrund ... 1

1.2 Relaterade Arbeten ... 1

1.3 Syfte och frågeställning ... 4

1.4 Avgränsningar ... 5

2. Metod ... 7

2.1 Experiment med komparativ analys ... 7

2.1.1 Experimentuppställning ... 7

2.2 Metodkritik ... 8

2.2.1 Validitet ... 8

2.2.2 Reliabilitet ... 9

2.2.3 Generalitet ... 9

3. Teori ... 11

3.1 RAM ... 11

3.2 Hibernation och Sleep ... 13

3.3 Tor Browser ... 13

3.4 Minnesforensik ... 14

3.5 Accessdata FTK imager ... 14

3.6 Volatility ... 14

3.7 Minnesutvinning ... 14

4. Genomförande ... 17

4.1 Statisk utvinning och analys ... 17

4.1.1 Datornamn ... 17

4.1.2 Tor ... 18

4.1.3 Nätverk ... 18

4.1.4 Wordpad ... 18

4.2 Liveutvinning och analys ... 19

4.2.1 Tor ... 20

4.2.2 Nätverk ... 20

(4)

4.2.3 Wordpad ... 21

4.2.4 Domännamn ... 21

5. Resultat ... 23

6 Komparativ analys ... 25

6.1 Register ... 25

6.2 Tor anslutning ... 25

6.3 Wordpad ... 25

6.4 Tor historik ... 26

6.5 Tor process ... 26

6.6 Pages ... 26

6.7 Allmänt ... 26

7. Diskussion ... 27

8. Slutsats ... 29

8.1 Framtida arbete ... 29

Källor ... 31

(5)

Ordlista

Artefakt En källa till information som är av forensiskt

värde.

Avbild En bit för bit kopiering av innehållet i

lagringsmedia. Exempelvis hårddiskar eller RAM.

CPU Processor. Komponenten som exekverar

instruktioner i en dator.

GUI Grafiskt användargränssnitt.

Hiberfil.sys, hibernationfilen, vilolägesfilen En fil Windows använder sig av för att återställa RAM efter viloläge eller om ström försvinner under sleep.

Komprimering och dekomprimering Data skrivs om för att spara utrymme. Data kan

sedan skrivas tillbaka till sin originalform.

Kontaminering Förändring av data som finns på lagringsmedia.

Kan leda till att artefakter förändras/förstörs.

Liveutvinning Används i uppsatsen för att beskriva en

avbildning av RAM medan ett system är igång.

Page Ett block av minne som kan allokeras till t.ex. en

process.

Paging När en eller flera pages sparas till hårddisk för

att optimera RAM.

RAM, arbetsminne, minne Används synonymt i uppsatsen. Ansvarar för

temporär lagring av tillstånd av system mm.

Statisk utvinning En avbildning som sker när data i regel inte

förändras, tex kopiering av hårddisk.

(6)

Abstract

Random Access Memory, RAM, is the main working memory used by computers to temporarily store running software and information used throughout their runtime. This information can be useful for forensic investigations but can be difficult to extract and analyze. This work attempts to evaluate two methods of memory acquisition and compare their utility in IT forensics. The first method of extraction was performed during system runtime using FTK imager. The other was to statically copy the hibernation file after the operating system has been set in sleep-mode. Hiberfil.sys, also known as the hibernation file, is in Windows root and is used to restore the state the system had before entering sleep. Its contents are created from physical memory and should be the same as RAM. Comparison between these two approaches were done by performing ten pairs of acquisitions and then extracting several forensic artefacts from the resulting memory dumps by using Volatility. The results of these tests were then comparatively evaluated. It was found that while static

acquisition has some advantages, analysis and decompression of hibernation files for the latest versions of Windows may not be fully supported by Volatility and/or Hibernation recon.

Therefore, live tools are the preferred option for these systems until Volatility has been

further updated or other tools are used. Hiberfil can still be useful as a complementary source of forensic artifacts and there are some situations where it is useful even if less data is

available.

(7)

Sammanfattning

I uppsatsen jämförs två utvinningsmetoder av RAM. Metoderna som användes var liveutvinning som är en avbildning av RAM från ett system som är i drift, och en statisk utvinning från disk där hiberfil.sys extraheras. Denna fil används av Windows för att

återskapa minnet efter att viloläge använts så dess innehåll bör vara likt det som finns i RAM.

Fördelen med en statisk utvinning är möjligheten att utföra utvinningen senare och minskad kontaminering jämfört med liveutvinning. Det är däremot inte helt klart vad som faktiskt sparas i hiberfil. För att den ska användas i forensiska undersökningar bör den helst ge ett likvärdigt resultat vid analys. Detta testades genom ett flertal utvinningar med båda metoderna som sedan jämfördes genom att granska några på förhand utvalda artefakter som kan finnas i minnet. Resultaten från detta visar att statisk utvinning av hiberfil inte resulterar i lika många artefakter som liveutvinning och saknar Windows Registry, så den ger inte ett likvärdigt resultat. Liveutvinningen innehåller också 3 gånger mer allokerade pages så det är möjligt att mer saknas som inte undersökts. Detta kan bero på att verktyg för dekomprimering och analys av hiberfil inte stödjer formatet den har för nyaste Windows. Därför dras slutsatsen att

liveutvinning fortfarande är att föredra tills nyare verktyg finns men att hiberfil.sys kan fungera som ett komplement.

(8)

1

1. Inledning

Med ökningen av IT relaterad brottslighet de senaste åren (Gelin 2019) ökar vikten av förståelse för de system och informationsbärare som ofta används och metoderna för att extrahera viktig information från dessa på ett sätt som är forensiskt sunt. En potentiell källa för bevis är RAM vilket är arbetsminnet för persondatorer. Eftersom det är en volatil

informationskälla måste utvinning ske tidigt vid undersökning, annars kan viktig information gå förlorad. Detta är särskilt relevant för uppgifter som incidentrespons eller IT-forensiker möter, där om informationen inte extraheras korrekt kan det orsaka problem för arbetet. För dessa typer av undersökningar används många olika metoder för olika system så det kan vara svårt att välja vilken metod som är bäst för ett system som inte är helt utforskat (Ayers 2015), (Freiling et al 2018). Undersökning av minnet är extra viktigt eftersom det kan avslöja

innehåll som bara existerar när system är i drift (Case et al 2014).

1.1 Bakgrund

Vid en forensisk undersökning av datorer finns det flera olika typer av minne som kan utvinnas. Dessa minnen har olika grad av flyktighet, med andra ord kan data försvinna eller bytas ut olika snabbt. För undersökningar innebär det rent praktiskt att det mest instabila minnet bör prioriteras först för att öka möjligheten att bevara så mycket så möjligt av bevis som kan finnas (Case et al 2014). Ett alternativ till detta är att undersöka en fil som Windows använder för att återställa minnet efter viloläge; hiberfil.sys. För det första så undviks en del av de problem som finns med minnes- ackvisition och sedan finns fördelen att

undersökningen på plats vid incident eller husrannsakan kan gå snabbare. Det är speciellt fördelaktigt om miljön som tekniker befinner sig i är potentiellt farlig eller att tiden som kan spenderas på platsen är begränsad av någon annan anledning. Denna metod av utvinning kan fungera även om datorn är avstängd, speciellt på bärbara datorer, om filen redan är sparad på disk. För forensik är det också viktigt att kunna motivera de val man har gjort och visa att arbetet skett på ett rättssäkert sätt. Om det finns ett alternativ som bevarar ursprungsdata bättre är det att föredra. Med detta i åtanke är det värt att ta reda på om hiberfil är ett

likvärdigt alternativ till en vanlig minnesavbild. Forskning finns på området men den mesta är några år gammal och Windows uppdateras regelbundet. Följande stycken presenterar

relaterade arbeten och vad de undersökt samt i stora drag resultat.

1.2 Relaterade Arbeten

Modern windows hibernationfile analysis (Sylve et al 2017)

I arbetet analyseras hibernationfilen som används av Windows 8, 8.1 och 10. De analyserar också hur hibernationfilen förändras med olika typer av avstängningsmetoder.

Genom att använda WinDbg som är ett verktyg för att felsöka Windows kunde en tydligare bild skapas av hibernation filen. Det finns några olika versioner av hibernationfilen, det finns en version som användes i Windows XP, Vista och 7. Sedan finns det en variant från

Windows 8 och framåt till den nyaste Windows 10 versionen v1607.

(9)

2

Efter analysen skapades ett ramverk för att använda ett nytt adressöversättningslager för Windows 10 v1607. För att verifiera det nya ramverket konverterades några hibernationfiler från olika versioner av Windows med både Hiber2Bin och en modifierad version av

programmet BlackLight. Efter konverteringen jämfördes hasharna och författarna fann då en skillnad för Windows 10 v1607. Medan Hiber2bin rapporterade 53,906 pages kunde det nya ramverket dekomprimera 367,296 pages. Med en individuell hashning av BootRestorePages och KernelRestorePages summerades att Hiber2Bin endast dekomprimerar

BootRestorePages, denna matchade resultatet från det nya ramverket men

KernelRestorePages matchade ej. Den fullständiga konverterade filen från det nya ramverket kunde analyseras med hjälp av Volatilitys pslist-plugin.

Ett antal experiment utfördes på några versioner av Windows för observera effekten på hibernationfilen beroende på hur datorn stängdes av. Resultaten från experimenten gav några intressanta resultat för nyare versioner av Windows.

• Hibernationfilen är inte en pålitlig källa för information som kunde ha lagts till för månader eller år sedan.

• Hibernationfilen skrivs över med nollor när maskinen startas.

• Användningen av kommandot Shutdown /s på enheter över ett nätverk innehåller ingen data i hibernationfilen. Samma resultat händer när strömsladden tars bort.

• Användningen av GUI eller shutdown /s /hybrid ger begränsad information i hibernationfilen.

• Användningen av kommandot shutdown /h ger mest information i hibernationfilen.

Vid tidpunkten för experimenten kunde programmet hiber2bin inte framgångsrikt

dekomprimera en ny version av Windows 10, vilket visar att för nyare version av Windows 10 kan vissa forensiska verktyg sluta fungera pga. ändringarna på Windows-systemet. Detta kan sammanfattas med att hibernationfilen från nyare versioner av Windows 10 kanske inte är en tillförlitlig informationskälla.

Genom arbetets jämförelse av vilken typ av avstängningsmetod som ger mest information ger detta en inblick i vilken metod som borde användas när insamlingen av hibernationfilen utförs.

Forensics carving of network packets and associated data structures (Beverly, R. et al 2011)

Beverly skriver om hur en hibernationfil kan innehålla mycket intressant nätverksinformation från en bärbar dator. Eftersom den ofta använder viloläge kan nätverksanslutningarna som den gör sparas i hibernationfilen. Utvinningen av information från en hibernationfil kan vara svår om filen inte hanteras korrekt. Windows komprimerar en del av den med Xpress-algoritmen, hibernationfilen blir också delvis förstörd när datorn startas från viloläge. På grund av detta kan Volatility inte dekomprimera en hibernationfil om den inte är intakt.

Även om källan är något äldre och använder andra Windows versioner (XP och 7) nämns några intressanta fakta och fynd. Beverlys resultat efter undersökningen av hibernationfilen

(10)

3

och swapfilen var att den mest intressanta nätverksinformationen funnits genom att undersöka hela disken, inte bara dessa filer. Författarna beskriver att en del av anslutningarna hittats på disk i slackutrymmet av filerna.

Towards the Memory Forensics of MS Word Documents, Information Technology (Al- Sharif 2017)

I det här arbetet undersöks Word i minnet med slutsatsen att text från dokument kan läsas i en live RAM-dump oavsett om dokumentet var öppet eller stängt när utvinning skedde.

Memory forensics: The path forward (Case et al 2017)

Författarna nämner hur en kopia av systemets minne skrivs till hibernationfilen inför viloläge.

Från och med Windows 8 och framåt skrivs allt förutom början av hibernationfilen över med nollor när systemet startas efter viloläge. För Windows 10 uppstår ett specialfall eftersom Windows 10 implementerar säkerhet genom att dela systemet med ett virtuellt guest system som användaren kan använda och en host sektion som användaren inte har någon tillgång till.

Det innebär att utvinning av RAM i Windows 10 endast resulterar i minnet som användaren har tillgång till och att det finns delar som ännu inte kan undersökas.

Under Windows 10 Current state sektionen nämner Case att IT-forensiker som yrkesgrupp gemensamt måste utforska Windows 10 för att förbättra förståelsen för operativsystemet.

Web browser forensics (Rathod, D. M. 2017)

I arbetet visas olika artefakter för undersökning av webbläsare. Främst olika filer på

hårddisken. För att testa minnesforensik användes Google chrome i inkognito läge. Trots att webbläsaren kört inkognito så kunde en del historik utvinnas genom att söka med en hex editor.

Advances in forensic data acquisition. (Freiling et al 2018)

Freiling et al skriver att standarder för undersökning av RAM är mindre utvecklad än andra områden inom it-forensik, t.ex. hårddiskar. Detta kan ses som ett problem eftersom

informationen som kan lagras i RAM kan vara ovärderlig för utredningar. Ett av de stora problemen med extraktion av RAM-innehållet är vilken metod som get bästa resultat.

Med en mjukvarubaserad extraktion kommer innehållet i minnet att ändras, men om avtrycket är dokumenterat litet kan det vara ett acceptabelt alternativ. En fallgrop är att

mjukvarubaserad utvinning förlitar sig på operativsystemet för att göra det mesta av arbetet.

Om systemet är förorenat kan innehållet i RAM också vara förorenat i den meningen att skadlig programvara kan ha körts och manipulerat utvinningen eller raderat sig själv och lämnat ett tomrum i minnet.

(11)

4

Genom att använda en kallstartmetod (coldboot) fryses systemet, men innehållet i RAM försvinner sakta, och efter cirka 30 sekunder är det under normala omständigheter borta. Men med hjälp av låga temperaturer kan det förlängas upp till 10 minuter. Ett sätt att uppnå denna typ av extraktion är att antingen starta systemet med ett mindre operativsystem på en USB- enhet eller flytta RAM-stickorna till ett annat system. Resultaten visar att kallstartsmetoder presterade lite bättre i jämförelse med mjukvarubaserad extraktion.

Towards Retrieving Live Forensic Artifacts in Offline Forensics (Dija S, 2012)

I Dijas arbete från 2012 extraheras hibernationsfilen genom att placera systemet i viloläge och ta bort strömmen. Systemets hårddisk avbildades för att extrahera hibernationfilen. Filen analyserades från tre Windows versioner XP, Vista och 7. En av utmaningarna som uppstod var det faktum att den misstänktas system kanske inte har aktiverat viloläge, detta kan orsaka vissa svårigheter för processen att utvinna hibernationfilen. Därför rekommenderas analys av hibernationfilen för offline-scenarier.

Windows hibernation and memory forensics (Ayers 2015)

Ayers skriver i sin masteruppsats att hibernationfilen kan innehålla avgörande bevis för utredningar. Men den aktuella forskningen under skrivtiden för uppsatsen är uppenbarligen ofullständig och motsägelsefull när det gäller forskningen kring hiberfil. Med bristande forskning och kunskap om artefakten finns en risk för fragmenterade eller felaktiga bevis.

Detta visar sig i det faktum att en del källor säger att hela innehållet i RAM kopieras till hibernationfilen, medan andra hävdar att bara en del sparas. Till exempel visar forskning att system som kör DHCP stoppar sådana anslutningar innan viloläge och sparar dem inte till disk efter. Resultatet blir att anslutningar som finns på disk inte inkluderar alla som fanns ursprungligen.

Extraktionen av RAM från ett förorenat system kanske inte är ett komplett prov, men vissa skadliga program som bara körs i minnet kan självförstöra innan extraktionen eller när systemet går in i viloläget.

I stycket framtida arbete finns ett förslag att minnesavbilder borde jämföras med hiberfil.sys, något som ska utforskas i detta arbete, om något ytligt.

1.3 Syfte och frågeställning

Arbetets syfte är att undersöka och jämföra skillnaden, om det är någon, mellan två metoder för datautvinning av RAM. Den första är avbildning av RAM live, den andra är att istället undersöka hiberfil.sys. Genom att göra detta vill författarna vidareutveckla kunskapsbidraget från Ayers uppsats från 2015 (Ayers 2015) där just detta efterfrågas. Resultatet kan då hjälpa till att fylla den lucka i kunskap som beskrivs där. Förhoppningsvis kan arbetet också bidra med enkla riktlinjer för situationer när utvinningsmetoderna är lämpliga på ett modernt Windows. Det kan hjälpa nya forensiker att fatta beslut om tillvägagångssätt vid utvinning

(12)

5

och vad hiberfil kan tillföra arbetet. Detta är en stor uppgift och därför måste den avgränsas och frågeställningarna reflekterar detta. Forskningsfrågorna som arbetet ska besvara är:

1. Ger analys av ramminnet samma forensiska värde med avseende på ett antal utvalda artefakter på Windows 10 version 18362 om utvinningen sker live jämfört med hiberfil.sys?

2. Baserat på resultatet av frågeställning 1, finns det situationer när den ena metoden är bättre lämpad än den andra?

1.3.1 Artefakter

Artefakterna som skall jämföras är följande:

• Datornamn/Domännamn för enheten

• Text från öppet ordbehandlingsprogram

• Sökhistorik från avslutad session av Tor browser

• Nätverksanslutningar kopplade till Tor

• Antal pages i minnet

Dessa valdes för att de exemplifierar vad som kan utvinnas från minnet och för att de också ger information som kanske inte finns på hårddisk vid traditionell analys. Datornamnet hämtades från registret för att visa om båda avbilder kunde hämta nycklar därifrån. Text från Wordpad valdes som ett exempel på applikationsdata under körning. Användarinput och liknande som kanske är krypterat efter att program avslutats men funnits i klartext i minnet är en av styrkorna med minnesanalys. Tor browser och anslutningar är också intressanta

eftersom de inte sparas till disk. Tor kan enkelt användas för att dölja aktivitet på nätet så den är intressant från mer än ett perspektiv. Webbläsaren är avslutad för att visa om det är någon skillnad mellan de olika utvinningsmetoderna gällande bevaring av avslutade processer. Till sist inkluderades antal pages för varje avbild, det är egentligen ingen artefakt som de andra men det kan visa skillnader i storleken på det adresserbara minnet.

1.4 Avgränsningar

För att inte göra arbetet för stort avgränsas det på flera olika sätt, det första är att analysen bara undersöker artefakterna som beskrevs i föregående stycke. Den andra är att endast en version a Windows 10 undersöks. Den som valts är ny och är tillräcklig för att skapa ett kunskapsbidrag genom att visa hur metoderna fungerar på ett modernt system. Dessutom är det inte säkert att skillnaderna är så store mellan de senare versionerna av Windows 10 att det funnits någon mening med att undersöka flera men det hade försvårat arbetet. Sedan valde författarna att inte använda några andra verktyg för minnesanalys än Volatility. Hibernation Recon är också det enda verktyget som användes för att dekomprimera hiberfil. För att se versionerna som använts finns en sammanställning i tabell 1 i kapitel 2. Sedan så användes inte andra filer som också kan undersökas för minnesforensik, pagefile.sys och swapfile.sys.

(13)

6

Dessa kan komplettera RAM-analys men arbetets fokus är värdet av hiberfil.sys jämfört med liveutvinning utan någon annan källa.

(14)

7

2. Metod

I kapitlet beskrivs först forskningsmetodiken och sedan följer en översiktlig beskrivning av hur undersökningarna går till. Därefter diskutureas metodens lämplighet för frågeställning och generaliserbarhet.

2.1 Experiment med komparativ analys

För att jämföra två metoder av extraktion av minne användes en komparativ forskningsmetod.

Komparativa studier används vanligen i statsvetenskap för att jämföra politiska system eller länder. Det finns flera typer av komparativa metoder med olika syften. För denna

undersökning har tio experiment utförts där ett experiment består av två utvinningar. En komparativ analys försöker jämföra ett par eller flera objekt i förhållande till varandra. Ett objekt är i detta arbete egentligen metoderna för minnes- ackvisition, men dessa utvärderas genom analys av avbilderna de producerar. Utvinningarna som har utvärderats är extrahering av vilolägesfilen kontra minnesdump skapad från RAM. Sedan krävs det att egenskaper som objekten delar väljs ut så att de sedan kan jämföras. Jämförelsen eller analysen är underlaget som används för att besvara forskningsfrågan (Denk 2002). Egenskaperna som jämförs hos objekten i detta fall är de forensiska artefakterna som finns i avbilderna. Kvalitén av

artefakterna, det vill säga till vilken grad den ursprungliga processen eller filen kan återskapas är den viktigaste jämförelsen mellan utvinningarna. Alternativt om någon artefakt saknades helt. Anledningen till detta är att informationen som utvinns under en verklig forensisk undersökning skulle kunna vara bevis. Varje experiment har skett på samma sätt och upprepades för att öka säkerheten hos resultatet. Totalt gav experimenten tio par av

utvinningar som kunde jämföras. Hypotesen som experimenten skulle avgöra är frågeställning 1, om samma artefakter kan utvinnas från minnesavbilder och hiberfil.sys.

2.1.1 Experimentuppställning

Windows 10.0.18362 installerades på en vanlig hem-PC. Maskinen hade 8GB minne för de fem första experimenten för att göra dem mer realistiska, därefter togs ett minne ut så det totala istället blev 4GB under de efterföljande fem. Varje test började med att ett

textdokument öppnades i Wordpad. Detta dokument förblev öppet tills testet var slut. Tor browser startades också och några sökningar gjordes på sökmotorn duckduckgo som används som standard i den webbläsaren. Sedan stängdes Tor av. För att försätta datorn i viloläge användes shutdown /h i kommandotolken. När viloläget börjat drogs sladden ut.

Hårddisken kopplades därefter loss från moderkortet och ihop med en SATA till USB adapter så att hiberfil.sys kunde kopieras över till en annan dator. När detta gjorts kopplas disken samman med sitt ursprungliga moderkort och Windows återupptas. Inloggad på systemet igen användes FTK imager på USB för att göra en minnesavbild och när den blev klar stängdes datorn av. För att försäkra att RAM inte skulle innehålla rester från experimentet drogs

(15)

8

sladden ut igen så att minnet skulle bli helt urladdat. De här stegen upprepades tio gånger så att det fanns tio par bestående av hiberfiler med en motsvarande minnesdump. Mellan

utvinningarna fick fyra minuter passera utan ström för att minska risken att gamla data skulle påverka efterföljande test. När utvinningarna var avklarade konverterades hiberfilerna med Hibernation Recon. Till sist fördes avbilderna över till en SIFT virtuell maskin för analys med Volatility.

I tabellen nedan är en sammanställning över verktyg som används.

Namn: Volatility FTK Imager Hibernation

Recon

Windows 10 Tor browser

Version: 2.6.1 3.2.0.0 1.2.0.70 beta 10.0.18362 9.5a11

Tabell 1

2.2 Metodkritik

Experiment valdes som metod eftersom de anses vara bäst lämpade för att studera orsak och verkan med avseende på en variabel som forskaren kan kontrollera (Esaiasson Peter et al 2012).

För experimenten i denna rapport är variabeln som kontrolleras utvinningsmetoden och effekten av det valet är det som studeras. Under normala omständigheter är experiment en kvantitativ metod som ofta analyseras genom att dra slutsatser utifrån statistik som skapas som en del av resultatet. För fenomen där forskare inte har fullständig kontroll jämfört med ordnade tester så som oförutsedda händelser så kan fortfarande en form av experiment användas, så kallade pseudo eller fält-experiment. Det innebär såklart att det inte är möjligt att utnyttja kontroller eller ett slumpmässigt urval för test på samma sätt som annars är önskvärt (Esaiasson Peter et al 2012). Den typen av experiment som utförts för att undersöka huruvida RAM är likvärdigt en hibernationfil blir ett sådant. Detta eftersom Windows, sett som en svart låda, inte är helt deterministiskt, även om det i praktiken är det. Med andra ord så finns det alltid en risk att resultat kan variera utan en uppenbar anledning. Därför är det viktigt att upprepa experimentet flera gånger ifall något oväntat inträffar. Som sagt så behövs i vanliga fall en större mängd test, speciellt för att ge ett bättre underlag för statistik. Men för att besvara frågeställningarna krävs ingen större noggrannhet, det som ska visas är endast om resultaten är likvärdiga. För att undersöka detaljer för att se hur och vad som skiljer har kvalitativ analys använts. Experimenten har utvärderats statistiskt och sedan kompletterats med en komparativ utvärdering eftersom den ger ett mervärde och är lämplig för att på ett ordnat sätt jämföra några få fall (Denk 2002).

Snarlik forskning har använt sig av komparativa experiment. Då undersöktes minnesutvinning i Linuxmiljö för att se hur nivån av kontaminering i minnet av att skapa avbild kontra live analys skilde sig åt (Aljaedi et al 2011).

2.2.1 Validitet

Det som ska bestämmas genom arbetet är om två metoder för utvinning av minne är

likvärdiga eller ej. Ett naivt sätt att testa detta på är att jämföra allt. Det behövs dock inte för att visa om skillnader finns. Istället kontrolleras förekomsten av några få men intressanta

(16)

9

exempel. Om det är så att det finns en skillnad på bara dessa så är frågeställningen besvarad även utan att bekräfta för resterande data på avbild.

2.2.2 Reliabilitet

För att kunna reproducera undersökningen ska RAM helst vara 4GB eller 8GB stort, detsamma som har använts här. Artefakterna och vilka steg som används för att finna dem förklaras också i rapporten och kan enkelt upprepas.

2.2.3 Generalitet

Trots att relativt få experiment har genomförts, 10, borde resultatet kunna generaliseras. Givet att samma version av Windows testas med samma verktyg bör det inte finnas någon

betydande skillnad.

(17)

10

(18)

11

3. Teori

I detta kapitel ges en kort överblick över teorin som läsaren kan behöva för att följa

resonemang i andra kapitel och tolkning av resultat. Först ges en överblick över hur minnet (RAM) fungerar i Windows och sen följer några korta förklaringar rörande minnesforensik och de verktyg som har använts för avbildning och analys.

3.1 RAM

Random access memory (RAM) används för att temporärt lagra kod och data som aktivt används av processorn, enhetens CPU. RAM ger lika snabb åtkomst till data oavsett var den är lagrad på median och det är anledningen till dess namn. Processorn hämtar instruktioner från minnet som den skall exekvera. I praktiken är det något mer komplicerat än så. För att hitta data tar CPU:n hjälp av annan hårdvara som kan finna rätt adress och den har dessutom ett litet eget minne där den kan spara små mängder instruktioner för mycket snabb åtkomst (Case, et al 2014). Grovt förenklat kan man dock säga att arbetet som skall utföras finns i RAM. När ett program startar skapas ett processobjekt av operativsystemet (OS) i minnet som sedan kan bearbetas. Processen får sitt eget minnesutrymme som allokeras i minnet. Där finns allt som behövs både för själva programmet och för hantering av OS. En process har en eller flera trådar och för de flesta moderna system hämtas några instruktioner från varje process som sedan exekveras i en sekvens av CPU:n. Det ger intrycket av att arbete sker samtidigt även om så inte är fallet. En process kan under sin livstid begära mer resurser från OS, såsom filhantering och nätverksanslutningar. Denna information sparas också i minnet. För att hantera alla processer finns det en typ av objekt som kallas _EPROCESS. Dessa lagras inte i processernas eget minne utan i ett område i RAM som är reserverat för operativsystemet.

Varje process har en egen _EPROCESS som i praktiken är en struktur med pekare som leder till andra datastrukturer som är viktiga för processen den motsvarar. Det är genom denna struktur som systemet kan koppla samman några av de egenskaper som redan nämnts med en specifik process. _EPROCESS objekten har pekare till varandra och på så sätt bildas en länkad lista som innehåller alla aktiva processer. Varje process tilldelas också ett unikt id, UniqueProcessId (PID), som är ett heltal, det finns alltså inte två processer med samma id samtidigt. När en process skapas kommer den tilldelas två PIDs, en för sin egen identifiering och PID från processen som skapade den, dess förälder, ett så kallat parent-PID. _EPROCESS har en pekare till en struktur som kallas Process Environment Block eller PEB förkortat (Case, et al 2014). Innan den beskrivs behövs en kort förklaring av hur minnesallokeringen fungerar i minnet.

När operativsystemet arbetar med RAM används inte de verkliga fysiska adresserna. För att göra minneshanteringen mer flexibel används något som kallas segmentering. Ett segment är likt en vektor, en sekvens av minne med linjärt ökande adresser. Segmenten kan ha olika längd men tillsammans täcker de hela utrymmet. De behöver inte ligga i ordning i det fysiska minnet men effekten är illusionen av ett enda stort sammanhängande minnesutrymme.

Operativsystemet kan allokera minne direkt därifrån med så kallade virtuella adresser. För att interagera med hårdvaran måste den virtuella adressen översättas till fysisk igen och vice

(19)

12

versa (Case, et al 2014). Det mesta som sparas i RAM allokeras dock inte direkt i ett segment.

Istället används så kallade pages. En page är ett block av minne som reserveras från segmenten. För Intel 64bit system kan pages ha storlekarna 4KB, 2MB och 1GB.

Användningen av pages gör att det är möjligt att använda paging, som innebär att pages som inte används frekvent sparas till en fil på hårddisken. När en page behövs som flyttats till disk läses den in i minnet igen. Effekten är att minnet kan lagra mer data än vad RAM har

kapacitet för fysiskt. Processer som startas förses med de pages som krävs för att rymma dem.

Detta minne är privat för varje process. De har inte tillstånd att skriva till minnesplatser utanför sin egen allokering och kan inte heller skriva eller läsa från disk utan att först få tillstånd från OS. Det finns undantag för delade resurser men generellt är de isolerade från varandra och systemet av säkerhetsskäl. I detta privata utrymme finns processens exekverbara fil, dll:er, heap:ar och stackar bland annat. Tidigare har dessa områden varit sparade i bestämd ordning men moderna operativsystem använder sig av Address Space Layout Randomization (ASLR) som skiftar plats på dem så det blir svårare att på förhand avgöra var i minnet de finns. Om processen inte behöver all sin data kan delar av den dessutom användas för paging till disk och lämna tomma områden (Case et al 2014).

_EPROCESS objekten som beskrevs tidigare har som sagt en pekare till sin process PEB.

PEB är också lagrad inuti processens privata minne. PEB är viktig för den håller adresserna för några av områdena av detta minne så att de kan upptäckas trots ASLR. PEB har dessutom argumenten programmet startades med och dess plats på disk och andra miljö-variabler. För att få mer information om vad som finns i processers minne kan Virtual Address Descriptors (VAD) användas. I _EPROCESS strukturen finns en pekare till VAD. VAD är ett binärt träd där roten av trädet innehåller information om innehållet i minnessegmenten,

åtkomstbehörigheter och om filer har mappats till minnesregionen. Noderna i trädet beskriver ett minnesblock vardera som tillhör en specifik process, dessa regioner kan innehålla heaps, stacks, DLLer, filer eller vara icke designerade sektioner. Noderna kan innehålla flaggor som till exempel hänvisar till hur många pages som allokerats till regionen, beskriver vilken typ av rättigheter processen har till minnet och om regionen är privat eller kan delas med andra processer (Case et al 2014). En heap är minne som kan allokeras dynamiskt av program under körning, till exempel text i ett textdokument. Stack är också en form av minne som kortfattat skiljer sig mot heapen på så sätt att den bara innehåller data som används av funktioner som sedan förstörs när funktionerna avslutas. Heapens data förblir allokerad tills processen (under eget ansvar) frigör den. Om program inte frigör minnet kallas det för minnesläcka och

innehållet förblir då i minnet tills RAM töms (Ferguson 2007).

I RAM lagras data fysiskt genom att hålla laddning i kondensatorer som representerar bits.

Kondensatorerna kan vara i två lägen; av eller på, och för att behålla tillståndet av dem intakt krävs det att minnet har tillgång till ström. När en dator är i drift förnyas laddningen

periodiskt, annars skulle minnet sakta försvinna vilket sker när systemet stängts av. Detta gör att RAM anses vara ett flyktigt minne till skillnad från HDD eller SSD lagring som inte är beroende av strömförsörjning för att bevara sitt tillstånd (Case et al 2014). Minnet förstörs dock inte omedelbart när strömmen försvinner. Det kan ta 30 sekunder efter systemets avslut tills det är helt tomt. Denna tid kan dessutom förlängas om RAM-stickorna snabbt kyls ned.

Då kan data lagras så länge som tio minuter utan att laddningen förnyats (Freiling et al 2015).

(20)

13

3.2 Hibernation och Sleep

Microsoft introducerade först viloläge för Windows 2000 (Sylve et al 2017). Det finns numera flera sådana lägen som i huvudsak är variationer av Sleep och Hibernation.

Gemensamt för dessa är att systemet ser ut att vara avstängt men kan snabbt startas upp igen med ett knapptryck. I båda lägen konsumerar datorn också mindre ström än vanligt. Det finns som sagt variationer av dessa beroende på om enheten är en desktop, laptop och version av Windows. Den huvudsakliga skillnaden mellan Sleep och Hibernation är att under Sleep förses RAM med ström för att bevara minnet tills datorn blir aktiv igen. Detta sker inte under Hibernation, istället skapas en fil som heter hiberfil.sys innan strömmen försvinner som sedan används för att återställa tillståndet RAM hade innan viloläget inleddes. För Sleep skapas denna fil också för att försäkra att systemet fortfarande kan återställas om strömmen skulle försvinna (Microsoft 2020). Innehållet i hiberfilen borde alltså vara ekvivalent med RAM.

Formatet för den har ändrats något mellan operativsystemen med de största förändringarna från Windows 8 och senare. En annan förändring är att tidigare kunde data sparas från viloläge som skett långt tillbaka i tiden eftersom viloläget sällan använts. I nya Windows, 8 och 10, skrivs den över med nollor när systemet startar och förstör på så vis all data som finns där (Sylve 2017). Viloläge i Windows kan stängas av så att det inte kan användas (Microsoft 2019). Om så är fallet kan viloläge aktiveras igen genom att köra powercfg.exe

/hibernate on i kommandotolken.

3.3 Tor Browser

Tor är ett nätverk vars syfte är att möjliggöra anonym kommunikation över offentliga nätverk och ge användaren ett medel att surfa utan restriktioner. Arbetet med att skapa Tor påbörjades under 90-talet som ett svar på att övervakning och censur av internet ökat. Nätverket togs i drift 2002 för allmänheten men det var mestadels tekniskt intresserade som utnyttjade det. För att göra Tor mer tillgängligt utvecklades en webbläsare som förenklar anslutning

(torproject.org B 2020). Tor browser som den heter, är egentligen en modifierad version av Firefox som är konfigurerad att använda Tor samt inte använda plugin som kan avslöja information om klienten.

Tor-nätverket består av proxyservrar som drivs av volontärer. Servrarna som kallas för Tor relä (relay), tunnlar anslutningar mellan flera sådana innan en anslutning når sin destination.

Säkerheten baseras på att inget relä har både ursprungsadress och destinationsadress för en anslutning. Trafiken tunnlas dessutom krypterad tills den når sista relä innan destinationen.

Vid användning av Tor browser används tre sådana reläer som väljs ut slumpmässigt bland de som finns tillgängliga. Efter tio minuter slumpas de igen och användaren får en ny väg till webbplatsen. Effekten blir att webbplatser inte känner till den verkliga IP adressen som

besökaren har om denne inte avslöjar det på annat sätt. Det blir också svårt att följa aktiviteten över längre tid när skifte av reläer skett (torproject C 2020).

Tor browser sparar inte historik till hårddisken med sina standardinställningar och på grund av anonymiteten nätverket ger kan det användas för att dölja olaglig aktivitet. Det gör att det blir

(21)

14

problem med traditionell forensik om webbhistorik ska återskapas. I det fall detta är nödvändigt kan undersökning av arbetsminnet istället tillämpas.

3.4 Minnesforensik

Forensiskt är RAM intressant på grund av att det kan innehålla information som inte lagras på hårddisken. Detta skapas av aktiviteter som sker när system är i drift och kan avslöja vilka processer som körts och vilken data de arbetat med. Exempel kan vara input till program som text i en chatt eller liknande som inte sparas eller krypteringsnycklar. Det är också möjligt att hitta kommandon som använts i terminalen. Till sist är det också användbart att använda minnesforensik för att upptäcka intrång av olika slag. Malware och exploatering gör inte alltid ett system instabilt och märks inte, men det kan finnas spår i minnet som förutom att visa att incident har skett också visar vad som skett (Case et al 2014).

3.5 Accessdata FTK imager

Accessdata startades 1987 och är ett företag som skapar forensiska verktyg. Företaget finns i både USA och Europa och verktygen som utvecklats används både för privata utredningar och polisiär verksamhet (Accessdata 2020). FTK imager är ett av dessa verktyg och kan göra avbilder av både hårddiskar och arbetsminne. Den användes i experimenten för att göra minnesdumpar från RAM.

3.6 Volatility

För att undersöka minnesavbilder, med andra ord en kopia av data som lagras fysiskt i RAM, krävs andra verktyg än de som används under traditionella IT- forensiska undersökningar.

Länge förbisågs utvinning av minnet och fokuset var mestadels på den information som kunde utvinnas från hårddiskar. Även om minnesanalys förekom så användes den sällan eftersom kunskapen saknades eller för att arbetet var för tidskrävande. Verktygen som fanns var också enkla och kunde inte presentera bevis på ett strukturerat sätt. För att förenkla och skapa förutsättningar för vidareutveckling för forensiker och incidenthanterares arbete med volatilt minne skapade två forskare i datavetenskap ett nytt verktyg kallat Volatools. Aaron Walters och Nick Petroni släppte det 2007 på Black Hat konferensen (Walters, Petroni 2007). Det har sedan dess vuxit och utvecklas kontinuerligt av andra eftersom det är open source. Verktyget är numera känt som Volatility och är det vanligaste som används för minnesforensik

(volatilityfoundation 2018).

3.7 Minnesutvinning

Som beskrivits i föregående stycken så är körande program allokerade i RAM med alla resurser de behöver. Detsamma gäller de verktyg eller kommandon som används av tekniker vid incidenthantering eller forensisk undersökning. Eftersom utvinningen sker på samma maskin som undersöks kommer minnet att förändras på grund av detta vilket medför en risk

(22)

15

att bevis förändras (Case et al 2014), (Walters, Petroni 2007). Alla metoder för forensisk ackvisition förändrar systemets tillstånd och vilken data som finns bevarad till viss grad.

Forensiker som genomför en undersökning måste försöka minimera detta så långt som möjligt och förstå vilka förändring som kan ha skett och vad det betyder för anskaffning av bevis (Case et al 2014).

(23)

16

(24)

17

4. Genomförande

Här beskrivs genomförandet av ett experiment. För att se vilken mjukvara som användes och version se tabell 1 i kapitel 2. Avbilderna som valts för att visa hur analysen gått till är två av de största, 8GB. Först beskrivs kortfattat vilken information som minnet förbereddes med och sedan följer analysen av statisk utvinning från hårddisk och till sist live.

Innan utvinning påbörjades skapades informationen som skulle undersökas. Ett dokument skapades i Notepad i Rich Txt Format (rtf). Texten i dokumentet var två paragrafer med exempeltext ipsum. Med Tor browser gjordes därefter några sökningar i duckduckgo:

• Youtube

• Hur flyr man från snuten

• Mushroom kingdom

• Flashback

Webbläsaren stängdes sedan. Rtf dokumentet var öppet medan Tor användes för att se till att det inte skulle kunna skriva över minnet om det öppnades efter.

4.1 Statisk utvinning och analys

För att en statisk analys ska fungera behöver en intakt version av Windows-vilolägesfilen (hiberfil.sys) extraheras från hårddisken. Extraktionen kan genomföras på några sätt men de allmänna stegen är.

• Sätt datorn i viloläge genom att använda shutdown /h i kommandotolken.

• Dra ut strömsladden

• Plocka ut hårddisken och skapa avbild från den

• Extrahera hiberfil.sys från avbilden

Eftersom kontamination av hårddisken kunde förbises så gjordes ingen avbild av den. Istället kopplades hårddisken ihop med en annan dator genom en SATA till USB adapter och då kunde hiberfil kopieras direkt från originalet. Med hjälp av verktyget Hibernation Recon (Arsenalrecon 2019) bearbetades vilolägesfilen till ett format som var kompatibelt med minnesanalysprogrammet Volatility.

4.1.1 Datornamn

Enhetens namn skulle hittas med hjälp av registret, delvis som en pålitlig källa och delvis för att visa att registret kan användas för att finna andra data. Volatilitys hivelist plugin visar offsets som register hives har om de finns i avbilden. Utan information från den är det svårare att hämta värden på nycklar. För denna avbild fanns de inte och därmed gjordes ingen mer undersökning av registret.

(25)

18

4.1.2 Tor

Efter en analys av processerna som fanns i minnesdumpen var firefox.exe enda tecknet på att Tor använts och därför krävde ytterligare undersökning. Tor.exe fanns inte i listan. En kontroll med psscan plugin visade att föräldern som skapade Firefox inte fanns i minnesdumpen. För att finna VAD träd för en process användes de plugin som ingår i standardinstallation av Volatility men dessa kunde inte hitta trädet. Verktyget kunde inte heller hitta exe filen och varnade att processens PEB saknades. Det enda alternativet författarna kände till var att dumpa hela processens minne. Med hjälp av memdump plugin kunde det virtuella minnet för Firefox extraheras och istället strängsöka efter webbhistorik.

4.1.3 Nätverk

Genom att använda Volatilitys netscan plugin kunde ett antal anslutningar upptäckas, några av dem använde sig av samma portar som Tor browser använder med standardinställningar (Torproject.org A 2020). Bild 1 nedan visar anslutningarna.

Bild 1

4.1.4 Wordpad

I listan över processerna som fanns i minnesdumpen ingick wordpad.exe. Programmet var körande när maskinen satts i viloläge så den hade ingen tid för avslut. Därför hade den också ett intakt PEB, fast försök att extrahera exe filen med procdump misslyckades. För att försöka finna och undersöka Wordpads heapar användes ett antal plugin från Volatility.

• Vadinfo visar som namnet antyder, en lista över VAD och deras flaggor

• Vaddump användes för att extrahera minnet VAD noderna refererar till.

• Vadtree användes för att få en översikt över vilken typ av VAD noder som extraherades.

Resultatet av vadtree sparades som en fil, graph.dot. Den färgkodade noder efter vilken typ av minne de refererar till (Röda noder i trädet är heap). Med hjälp av xdot kunde denna användas för att enkelt finna 13 heaps som Wordpad använt. Minnesblock som extraherades med

(26)

19

vaddump kunde med hjälp av grafen markeras för att förenkla arbetet innan undersökning av dem påbörjades. Texten från dokumentet lagrades i klartext så resten av arbetet kunde utföras med hexeditor, ordbehandlingsprogram och strängsökning. Eftersom texten redan var känd fungerade strängsökning, detsamma gäller om formatet på filtypen är känt. I bild 2 visas output från vadinfo plugin.

Bild 2

4.2 Liveutvinning och analys

Omedelbart efter att maskinen förberetts med processerna som skulle undersökas så sattes en USB-sticka in med FTK imager. Verktyget användes för att göra en minnesdump som sparades på stickan. Minnesdumpen döptes till FTKmemdump.mem och fördes över till en virtuell maskin med Sift. Sift är en version av Ubuntu som är konfigurerad för att användas vid IT- forensiskt arbete.

Resten av undersökningen skedde med hjälp av Volatility. Det första steget var att se vilka processer som fanns med pslist plugin.

Offset(V) Name PID PPID Thds Hnds Sess Wow64 Start Exit

0xffffcb81558680c0 firefox.exe 10720 9452 0 --- 1 0 2020-03-27 12:59:08 UTC+0000 2020-03-27 13:05:38 UTC+0000

0xffffcb8157e890c0 wordpad.exe 4240 5008 3 0 1 0 2020-03-27 12:59:01 UTC+0000

0xffffcb8155a790c0 FTK Imager.exe 8856 5008 20 0 1 1 2020-03-27 13:05:55 UTC+0000

(27)

20

Det fanns fler processer än dessa men bara de tre viktigaste visas här. PID 5008 är Explorer.exe och är förälder till FTK och Wordpad men Firefox är startad av en annan process som inte längre är synlig. Psscan plugin som kan hitta processer som av någon anledning är dolda kunde inte heller finna föräldern till Firefox.

4.2.1 Tor

För att ta reda på mer om Firefox (Tor) gjordes ett försök att extrahera exe- filen men det misslyckades. Så istället hämtades processens Vad- träd men det fungerade inte heller av samma anledning:

0xffffcb81558680c0 --- firefox.exe Error:

PEB at 0x4bb3080000 is unavailable (possibly due to paging)

Utan PEB som visar exakt var i minnet processens delar finns så valdes istället att extrahera hela minnet och sedan söka i den istället med andra verktyg. Memdump gör precis detta:

$ python vol.py --profile=Win10x64_18362 -f

../Desktop/FTKmemdump.mem memdump -p 10720 -D tor Volatility Foundation Volatility Framework 2.6.1

********************************************************************

****

Writing firefox.exe [ 10720] to 10720.dmp

$ ls -lh tor/

total 1.3G

-rw-r--r-- 1 sansforensics sansforensics 1.3G Mar 28 13:44 10720.dmp Filen blev väldigt stor, 1,3GB, så istället för att carva filerna inuti kördes en enkel

strängsökning efter URL: er som ändå är det som eftersöks.

$ strings 10720.dmp | grep http > torUrls

4.2.2 Nätverk

För att hitta nätverksanslutningar användes Volatilitys netscan. Ingen anslutning som

uppenbart var kopplad till Tor fanns men två saknade namn och PID för processen de tillhört.

Offset(P) Proto Local Address Foreign Address State Pid Owner Created

0xcb8148676080 UDPv4 0.0.0.0:0 *:* 0 PE?U?????2S???? 2020-03-27 12:58:24 UTC+0000

(28)

21

0xcb8148676080 UDPv6 :::0 *:* 0 PE?U?????2S???? 2020-03-27 12:58:24 UTC+0000

4.2.3 Wordpad

Wordpad kördes samtidigt som RAM kopierades och fanns intakt i minnet. Eftersom applikationsdata skulle hittas som troligtvis fanns på heapen kördes vaddump på processen.

Efter att den kört fanns minnesblocken som dumpfiler på disk men de var alldeles för många för att man manuellt ska gå igenom alla. Istället användes samma teknik som för hibernation filen, vadinfo och vadtree graf.

$ python ../vol.py --profile=Win10x64_18362 -f ../../Desktop/FTKmemdump.mem vadinfo -p 4240 > vadinfo

python ../vol.py --profile=Win10x64_18362 -f ../../Desktop/FTKmemdump.mem vadtree --output=dot --output-file=graph.dot -p 4240

Det visade sig dock att texten inte fanns i något av de minnesblock som markerats som heap i grafstrukturen. Istället fick alla block undersökas som processen allokerat och hade både läs och skrivrättigheter, den informationen syns i vadinfo för varje nod.

Protection: PAGE_READWRITE

4.2.4 Domännamn

Domännamnet, eller datornamnet finns i registret och för att hitta var i minnet register ‘hives’

finns användes hivelist plugin. Den skriver ut en lista med hives och var de finns. För att kunna läsa och skriva ut nyckeln behöver man känna till den virtuella adressen den startar på.

I output syns bara den som är av intresserade för att inte ta onödig plats.

python vol.py --profile=Win10x64_18362 -f ../Desktop/FTKmemdump.mem hivelist

Virtual Physical Name --- --- ----

0xffffbb8e1ba4c000 0x0000000000697000 \REGISTRY\MACHINE\SYSTEM

Adressen som behövs är 0xffffbb8e1ba4c000, och kan användas med printkey:

$ python vol.py --profile=Win10x64_18362 -f

../Desktop/FTKmemdump.mem printkey -o 0xffffbb8e1ba4c000 -K 'ControlSet001\Control\ComputerName\ComputerName'

Volatility Foundation Volatility Framework 2.6.1

(29)

22 Legend: (S) = Stable (V) = Volatile ---

Registry: \REGISTRY\MACHINE\SYSTEM Key name: ComputerName (S)

Last updated: 2020-01-08 12:07:14 UTC+0000 Subkeys:

Values:

REG_SZ : (S) mnmsrvc

REG_SZ ComputerName : (S) DESKTOP-OI635PJ

(30)

23

5. Resultat

I tabellerna nedan visar X att artefakten funnits fullständigt och O att den finns partiellt. Om den saknas helt markeras det som streck. Registerkolumnen visar om hives finns så

datornamnet kan hämtas medan Wordpad innebär att texten i dokumentet finns i minnet.

Pages-kolumnen visar det totala antalet pages som finns allokerade i avbilden. Resterande kolumner är självförklarande. Första tabellen visar resultat för avbilder från 4 GB RAM och den undre för 8GB.

Avbild 4GB Register Tor anslutning

Wordpad Tor historik

Tor process

# Pages

Hiberfil 1 - - O O - 53 532

Hiberfil 2 - - O O - 46 470

Hiberfil 3 - - O O - 46 578

Hiberfil 4 - - O O - 46 879

Hiberfil 5 - - O O - 46 127

Dump 1 X - X O X 163 016

Dump 2 X - X O X 161 884

Dump 3 X - X X X 163 085

Dump 4 X - X O X 164 003

Dump 5 X - X O X 163 370

Tabell 2

Avbild 8GB

Register Tor anslutning

Wordpad Tor historik

Tor process

# Pages

Hiberfil 6 - X O X X 49 534

Hiberfil 7 - - X O X 46 608

Hiberfil 8 - - X O X 50 961

Hiberfil 9 - - - X X 48 004

Hiberfil 10 - - - X X 47 995

Dump 6 X O X X X 160 122

Dump 7 X - X X X 163 643

Dump 8 X - X O X 169 343

Dump 9 X - - O X 172 665

Dump 10 X - - X X 191 619

Tabell 3

I tabell 4 presenteras medelvärde och median för antalet pages ordnat efter filtyp och storlek.

Filtyp Medelvärde pages Median pages

Hiberfil.sys 4GB 47 917 46 578

Memdump.mem 4GB 163 071 163 085

Hiberfil.sys 8GB 48 620 48 004

Memdump.mem 8GB 171 478 169 343

Tabell 4

(31)

24

Delas medelvärde eller median av pages från minnesdump med sin motsvarighet för

hibernation så blir kvoten ungefär tre. Exempel median: 169 343 / 48 004 = 3,5277. Det finns alltså åtminstone tre gånger så många pages i minnesavbilderna.

Medelvärdena och medianerna från tabell 4 användes för att beräkna andelen pages i procent.

Med andra ord hur många pages som finns i Hiberfil jämfört med det totala antalet rapporterat för live avbild. Resultatet är tabell 5.

Storlek % Medel % Median

4GB 29,38 28,56

8GB 28,35 28,34

Tabell 5

Om antalet artefakter räknas ihop blir det totalt 50 möjliga för varje utvinningsmetod: 5 artefakter * 10 utvinningar. Det är så många som totalt kan upptäckas. Genom att summera hur många som faktiskt upptäckts kan det sedan beräknas hur många det är procentuellt per utvinningsmetod. Eftersom artefakter som inte funnits helt också redovisats räknas de med men med ett lägre värde. Så ett X i tabell 2 och 3 är värt 1, en av 50, och en O räknas som en halv, 0.5. Summan delas sen med 50 och det är så andelen beräknas i procent. I tabell 6 visas resultatet.

Filtyp Summa artefakter %

Hiberfiler 17,5 35 %

minnesdumpar 35.5 71 %

Tabell 6

(32)

25

6 Komparativ analys

Artefakterna från resultatet beskrivs först i ordning som sen följs av allmän diskussion kring annat som var intressant under analysen.

6.1 Register

Registret hittades inte i någon av hibernation-filerna medan det fanns i samtliga

minnesdumpar. Det kan vara en konsekvens av flera orsaker. För det första kan det vara så att filerna inte har dekomprimerats på rätt sätt. Om så är fallet kan det göra att verktygen inte kan hitta registret trots att det faktiskt finns i filen. Alternativet är att registret inte fanns i

hiberfil.sys och att Windows har något annat sätt att återställa det efter viloläge. Egentligen kanske öppna registernycklar inte behöver sparas eftersom de redan finns på disk. Sista orsaken kan vara att filen är rätt formaterad men skiljer sig för mycket mot minnet så att Volatility inte kan läsa den rätt.

Som sagt så fanns registernyckeln som eftersöktes i minnesdumparna. Det betyder inte nödvändigtvis att hela registret var tillgängligt men för experimentet så fungerade det som väntat.

6.2 Tor anslutning

För nio av experimenten fanns inte anslutningarna från Tor kvar i avbilden. Fallet där rester upptäcktes var det dock inte säkert att det verkligen var Firefox som använt anslutningen, porten som använts var inte synlig längre och PID fanns inte heller. I motsvarande

hibernationfil fanns däremot portarna kvar som visade att Tor faktiskt använts. Det antyder att det skulle kunna vara så att anslutningar som inte längre finns riskerar att skrivas över snabbt efter att de stängts. Utvinning skedde någon minut efter att webbläsaren avslutats men det var ändå inte ett fullständigt resultat för live-dump vilket det var för den statiska som hade fler detaljer intakta. Det är därför möjligt att anslutningarna kan finnas kvar längre om minnet är större än vad som testats, tex 16 eller 32GB.

6.3 Wordpad

Wordpad var öppet när viloläget startades så det förväntade under analysen var att processen skulle vara enkel att finna men den saknades. Det visade sig att trots att den var aktiv så fanns den inte i listan över program i hibernationfilerna som var 4GB. I endast en av dem hittades processen och då med psscan. För minnesdumparna och de hiberfiler som var 8GB fanns den, men innehållet i dokumentet kunde inte alltid hittas. Utan en process att utgå ifrån är det svårt att göra en ordnad utvinning genom att hämta heap, istället hittades fragment av dokumentet genom strängsökning. Eftersom detta krävde förkunskap om innehållet i dokumentet och dess filtyp är det inte lika användbart som en mer strukturerad utvinning där det finns en bättre

(33)

26

kontext till innehållet, exempelvis filnamn och användar-id som kan visa vem som öppnat filen.

Texten saknades i minnet i de två sista testerna vilket kan orsakas av paging, eftersom texten inte fanns i någon av avbilderna är detta ganska troligt.

6.4 Tor historik

Här testades om sökhistoriken fanns kvar. För testerna med större minnesutrymme och en av live-dumparna fanns alla strängarna kvar i minnet. I de andra fallen saknades en sökning i historiken men bara en, varför är oklart. Men även för webbhistorik verkar det som att rester finns kvar längre i minnet efter att processen stoppat om RAM är större. Analysen för att hitta historiken var väldigt simpel strängsökning som kunde göras eftersom det var känt på förhand vilken sökmotor som använts. Analysen visar inte vilken annan information som funnits kvar eller förlorats.

6.5 Tor process

Firefox fanns bland processerna i alla live-utvinningar, starttid och stop var synligt med. Den var inte helt intakt i någon av dem, PEB verkar försvinna snabbt eller så använder Tor någon mekanism för att minska spåren som lämnas i minnet. Troligtvis det senare eftersom

webbläsaren försöker förhindra att något skrivs till disk när den används är det inte otänkbart att något liknande görs för att försvåra forensik. I de statiska testerna fanns den bara listad i de som var 8GB och även där saknades PEB.

6.6 Pages

Antalet pages som fanns efter live ackvisition var något mer än tre gånger så många som antalet jämfört med statisk. Det kan bero på att operativsystemet endast sparar sådant som är absolut nödvändigt för att göra övergången mellan vila och “vaket” läge snabbare. Eller så visar detta hur stor skillnad det är mellan antalet pages som faktiskt finns och de Volatility kan upptäcka i hiberfil. Iså fall kan man naivt säga att bara en tredjedel av det allokerade minnet kan undersökas statiskt med den nuvarande versionen av Volatility. Det stämmer nog inte i praktiken eftersom pages har olika storlek och den totala allokerade storleken har inte testats på alla avbilder.

6.7 Allmänt

Experimenten med 8GB fungerade bättre än de med 4GB. Det verkar då som att verktygen får problem med dekomprimering av filerna om de är små eller att det är en brist hos

Volatility som inte märks för större filer. Försök gjordes med hibr2bin som använts av Sylve et al 2017 för dekomprimering av hibernation-filer. Detta för att se om problemet berodde på Hibernation recon. Verktyget visade sig fungera sämre än det som redan användes.

(34)

27

7. Diskussion

Forskningsmetodiken arbetet använder sig av är en komparativ analys av experiment.

Anledningen till att en kvalitativ metod valts är för att undersökningarna kräver både en del tid och hårdvara. Mängden tester som skulle krävas för en ordentlig kvantitativ undersökning bedömdes för omfattande för arbetets storlek. Både utvinning och analys kan vara en långsam process och minnesavbilder är ungefär lika stora som minnet de motsvarar vilket gör att det snabbt tar mycket utrymme att lagra dem. För att motverka detta har en mindre minnesstorlek använts.

Undersökningen har enligt frågeställningen bara utföras på Windows 10 och endast en version, 10.0.18362, vilket innebär att resultatet kanske inte skulle stämma med hur tidigare versioner av operativsystemet fungerar. Eller senare. Detta beror till stor del på skillnader i implementeringen av Windows, men för de senare versionerna av 10 borde

minneshanteringen vara tillräckligt lik för att resultatet ska kunna generaliseras.

Minnesstorleken på 4GB som användes för hälften av experimenten är ganska liten, många laptops idag har större utrymme än så. Med mer minne kan innehållet som skrivs till disk vara annorlunda. Resultatet kan därför inte användas för att förutsäga hur bra hibernationfilen fungerar för forensik om minnet är större än vad som testats.

För frågeställning 2 så ska resultatet användas för att ge generella riktlinjer för fall när respektive utvinningsmetod är fördelaktig att använda. Det har även funnits bra information i litteraturen som ger bra underlag för detta. I boken The art of memory forensics förklarar författarna hur verktyg som skapar minnesavbilder använder sig av Windows API:er för att kopiera minnet. De förklarar att en avancerad angripare kan modifiera dessa eller på andra sätt göra den resulterade avbilden korrupt. Det innebär att man inte kan lita på att verktygen alltid ger en korrekt avbild (Case et al 2014). Resultatet av utvinning från hiberfil i den här

uppsatsen är inte särskilt imponerande, speciellt inte för 4GB RAM. Men det är numera vanligt med större minne och då ser hiberfil ut att prestera bättre. Så vid misstanke om manipulation av liveutvinning kan hiberfil också utvinnas så att forensikerna kan jämföra vilka processer de ser. Även om den inte har ett lika stort värde så kan den i ett scenario som detta ge värdefull information i form av verifiering. Malware kan också upptäcka och

motverka liveutvinning (Case et al 2014). Även om Windows API:er som verktygen använder för utvinning är infekterade behöver inte funktionerna som skriver minnet till disk vara det.

Dessutom finns det också en risk att en mänsklig angripare, till exempel vid ett dataintrång, kan se vilka processer som är aktiva på systemet. Som incidenthanterare eller liknande är det inte alltid önskvärt att låta angriparen få veta att offret känner till att intrånget skett. Om insamling av bevis sker vill man undvika att bevis förstörs av brottslingarna som kan försöka dölja sina spår. Då skulle hiberfil.sys kunna fungera eftersom det inte syns några forensiska verktyg i minnet. För en angripare är systemet bara i viloläge och sedan avstängt en stund.

Utvinningen kan upprepas periodiskt och på så sätt ge underlag för utredning. Hiberfil är också ett bra komplement om filer ska återskapas från minnet. I testerna som utförts finns det en del data kvar som skulle kunna kombineras med den man finner i en avbild. Till sist så kan

(35)

28

hiberfil.sys också användas om en dator ska undersökas som redan är avstängd eller i viloläge. Det är inte garanterat att det finns något i filen om datorn är avstängd eftersom Windows inte behövt använda den om systemet stängts av korrekt.

(36)

29

8. Slutsats

Ger analys av ramminnet samma forensiska värde med avseende på ett antal utvalda artefakter på Windows 10 version 18362 om utvinningen sker live jämfört med hiberfil.sys?

Nej det är mycket som saknas när statisk utvinning har testats. Ett fåtal av artefakterna kan upptäckas men oftast beror detta på förkunskap om vad som eftersöks så att strängsökning kan användas. Informationen som finns i hiberfil.sys är i stor utsträckning densamma som i RAM, strängsökningar har visat detta när partiella resultat har funnits. Däremot så ger det ett sämre värde eftersom metadata saknas som behövs för att ge kontext. Sedan visade det sig att skillnaden i antal pages som fanns i minnet var ganska stor, bara en tredjedel av de som upptäcktes i FTK imagers avbilder fanns i hiberfil, ca 28%, något som kan bero på brister i Volatilitys förmåga att läsa formatet. Andelen funna artefakter för avbild var 71% av de som undersöktes, medan knappt hälften så mycket, 35% fanns på disk. Registret saknades

konsekvent i hiberfil och det är en ganska stor brist.

Baserat på resultatet av frågeställning 1, finns det situationer när den ena metoden är bättre lämpad än den andra?

Hiberfil.sys kan användas för att komplettera undersökning med mer än en källa att säkra bevis som normalt inte finns på disk, speciellt för att finna nätverksanslutningar och filer som använts. För undersökning av malware och intrång är hiberfil en bra källa för felkontroll så att det blir möjligt att se om försök till sabotage av utvinningen har skett, genom att jämföra aktiva processer. Hiberfil kan också användas vid intrång för att göra en eller flera inledande utvinningar för att göra det svårare att upptäcka att undersökning påbörjats. Sedan kan avbildning ske live för att få ut mer information. Vid beslag där system är på och en

användare är inloggad bör live verktyg användas tex FTK imager. Det är den metod som gett mest artefakter i experimenten. Om användaren är utloggad eller om systemet är i vila får hiberfil användas. Eftersom man inte kan köra verktygen utan att vara inloggad i Windows och inte vill förändra minnet genom att starta en avstängd eller sovande dator är detta det bästa alternativet.

8.1 Framtida arbete

Genom att öka minnesstorleken förändrades mängden artefakter som upptäcktes, med en större ökning av minnesstorlek kan fler skillnader finnas, därför skulle en ny jämförelse kunna göras med system som har 16GB minne. Eftersom detta arbete kanske inte fått ett korrekt resultat på grund av att nyaste formaten inte stöds fullt ut av verktygen så skulle vidare undersökning kunna bestå av jämförelser på äldre operativsystem. Ett annat alternativt är att bara göra tester för 8GB storlek men göra fler än som gjorts här. En större mängd tester skulle kunna ge ett säkrare resultat och kanske visa något nytt som inte upptäckts här.

(37)

30

(38)

31

Källor

Accessdata (2020) Who we are, tillgänglig från: < https://accessdata.com/about/who-we-are >

hämtad: 2020-05-03 17:40

Aljaedi, A., Lindskog, D., Zavarsky, P., Ruhl, R., & Almari, F. (2011). Comparative analysis of volatile memory forensics: live response vs. memory imaging. In 2011 IEEE Third

International Conference on Privacy, Security, Risk and Trust and 2011 IEEE Third International Conference on Social Computing (s. 1253-1258). IEEE.

Al-Sharif Ziad A, Asad Aseel, Bagci Hasan, Zaitoun Toqa’ Abu (2017) Towards the Memory Forensics of MS Word Documents, Information Technology - New Generations s 179-185

Ayers, A. L. (2015). Windows hibernation and memory forensics, Utica College, ProQuest Dissertations Publishing, 2015. 1586690

Beverly, R., Garfinkel, S., & Cardwell, G. (2011). Forensic carving of network packets and associated data structures. digital investigation, 8, S78-S89.

Case Andrew, Golden G.Richard (2017), Memory forensics: The path forward, Digital Investigation Volume 20, March 2017, s 23-33

Case Andrew, Hale ligh Michael, Levy Jamie, Walters Aaron (2014), The art of memory forensics: Detecting malware and threats in Windows, Linux and Mac memory, John Wiley &

Sons, Inc.2014

Denk Thomas (2002) Komparativ metod -förståelse genom jämförelse, Studentlitteratur 2002

Dija S., Deepthi T.R., Balan C., Thomas K.L. (2012) Towards Retrieving Live Forensic Artifacts in Offline Forensics. In: Thampi S.M., Zomaya A.Y., Strufe T., Alcaraz Calero J.M., Thomas T. (eds) Recent Trends in Computer Networks and Distributed Systems Security.

SNDS 2012. Communications in Computer and Information Science, vol 335. Springer, Berlin, Heidelberg

References

Related documents

Du har startat din dator med Kaspersky Rescue Disk 10 och är klar att rädda alla dyrbara filer till en extern hårddisk eller ett usb-minne. Eftersom man använder musen för att

Below the office package Suite, you can find two different programs which are software Center and TeamViewer quicksupport.. Teamviewer QuickSupport is a tool that enables

transaktion överförs genom leverantören Contuso istället för Windows store så måste utvecklaren notifiera användaren att denna vara kommer från leverantören Contuso

„ Type: odd (non-paged pool) or zero (free) 14 allocations left.. Example –

Användarnamnet på VPN-kontot är samma som du har för Chaos, med tillägget &#34;Chaos_&#34; framför signaturen, till exempel Chaos_xxxx, lösenordet är samma för VPN och

Om du vill öppna eller stänga Förstoringsglaset använd Windows-tangenten och U för att komma till Inställningar / Hjälpmedel och välj:

Även om man i andra versioner av Windows också kan hämta Win- dows Defender så rekommenderar vi alla – även ägare av Windows 8 – att använda Avast. som ligger i

Nu ska du välja den tomma hårddisken eller partition som du vill installera Windows 10 på, välj önskad hårddisk och klicka på ”Nästa” för att börja installationen!. Om