13
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u sklopu kolegija „Računalna forenzika“ [2018/2019] Analiza slike radne memorije pomoću Volatility frameworka Ivana Marinović Zagreb, lipanj, 2019.

Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

Seminarski rad u sklopu kolegija „Računalna forenzika“ [2018/2019]

Analiza slike radne memorije pomoću Volatility frameworka

Ivana Marinović

Zagreb, lipanj, 2019.

Page 2: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

Sadržaj

1. Uvod ..................................................................................................................... 3

2. Volatility ................................................................................................................ 4

3. Analiza slike radne memorije pomoću Volatility-a ................................................ 5

3.1 Prepoznavanje operacijskog sustava ............................................................ 5

3.2 Popis procesa ............................................................................................... 6

3.3 Analiza specifičnog procesa .......................................................................... 7

3.4 Analiza mrežnih veza .................................................................................... 9

3.5 Povijest preglednika ...................................................................................... 9

3.6 Otkrivanje zapisa u međuspremniku ........................................................... 10

4. Zaključak ............................................................................................................ 11

5. Literatura ............................................................................................................ 12

Page 3: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

3

1. Uvod

Porastom broja korisnika osobnih računala i uređaja povećao se rizik od raznih

računalnih napada. Područje računalne forenzike bavi se prikupljanjem i

analiziranjem tragova na računalnim sustavima. Jedna od grana računalne forenzike

je forenzika radne memorije koja se bavi pronalaženjem tragova radne memorije

računala. Posebno je zanimljiva jer je radna memorija računala izrazito promjenjiva

te se u nju zapisuju podaci o trenutnoj aktivnosti i svim programima koji se trenutno

izvršavaju. Zato je forenzika radne memorije postala jako bitna za analizu i otkrivanje

tragova budući da se takvi podaci ne nalaze na drugim jedinicama računala. U

sklopu ovog seminarskog rada bit će opisano korištenje Volatility [4] alata,

najpopularnijeg alata za analizu slike radne memorije.

Page 4: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

4

2. Volatility

Forenzika radne memorije računala započinje pribavljanjem (eng. acquisition)

slike radne memorije nakon koje je potrebno analizirati sliku odgovarajućim alatima.

Volatility Framework je skup alata implementiranih u Phytonu za analizu radne

memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste forenzičari

cijelog svijeta. Volatility je alat otvorenog koda (eng. open source) koji pomaže u

analizi radne slike memorije, a dostupan je za širok spektar operacijskih sustava

poput Windowsa, Linuxa, macOS-a. U mogućnosti je procesirati slike raznih formata.

[4] Za operacijski sustav Windows koji se koristi u ovom radu Volatility se instalira u

obliku izvršne datoteke i naredbe se pozivaju u prozoru naredbenog retka (eng.

command line window). Iako se analiza slike izvodi potpuno neovisno o sustavu koji

se istražuje, ovim tehnikama mogu otkriti jako zanimljivi tragovi koji su ostali zapisani

u trenutku snimanja slike memorije. Volatility nam omogućava otkriti operacijski

sustav koji se nalazio na računalu u trenutku pribavljanja slike memorije, procese koji

su bili pokrenuti, korisnike koji su pokretali te procese, popis mrežnih veza, sadržaj

međuspremnika, neke od Web stranica koje su bile posjećene. Volatility se

unaprjeđuje iz dana u dan i moguća su proširenja raznim dodacima kako bi analiza

bila što detaljnija i uspješnija.

Page 5: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

5

3. Analiza slike radne memorije pomoću Volatility-a

U ovom poglavlju bit će prikazane osnovne naredbe kojima se analizirala slika

radne memorije snimljena na računalu u laboratoriju Zavoda za elektroničke sustave

i obradbu informacija na Fakultetu Elektrotehnike i računarstva. U posljednjoj inačici

alata Volatility 2.6 koji se koristio nije podržano interpretiranje slika radne memorije

za najnovije verzije Windowsa 10. Zbog tog je slika radne memorije snimljena u

laboratoriju na računalu koji koristi stariju verziju, odnosno Windows XP. Postoje

razni alati za pribavljanje radne slike memorije. U ovom slučaju koristio se alat

Magnet RAM Capture [5] kojim je snimljena slika pod nazivom slikaRAMa3.raw.

Važno je napomenuti kako bilo koji alat koji se koristi za snimanje može utjecati

odnosno izmijeniti stanje memorije koju u tom trenutku želimo snimiti. Osim

softverskog kopiranja slike, slika se još može pribaviti preko virtualnog stroja i

hardware-a. [6] Analiza slike izvodi se postepeno pozivanjem naredbi u naredbenom

retku prije kojeg je potrebno pozicionirati se u direktorij gdje se nalazi Volatility.

3.1 Prepoznavanje operacijskog sustava

Kao što je već spomenuto Volatility alatom mogu se analizirati slike radnih

memorija s raznih računalnih sustava, no za ispravan rad Volatility treba točan

podatak o kojem sustavu i kojoj verziji je riječ. Ponekad je ta informacija izostavljena i

zato se u početku analize koristi naredba imageinfo, točnije u ovom slučaju volatility -

f slikaRAMA3.raw imageinfo. Na Slika 1. prikazani su rezultati te se može vidjeti kako

Volatility predlaže više profila operacijskog sustava za ovu sliku radne memorije.

Osim toga, otkriva se datum i vrijeme kad je slika snimljena. Nama je poznata verzija

operacijskog sustava pa se odlučujemo za profil WinXPSP2x86. U idućim

naredbama trebalo je u sve komande uključiti profil operacijskog sustava i putanju do

slike, odnosno njen naziv budući da se nalazi u istom direktoriju kao i Volatility.

Page 6: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

6

Slika 1. Otkrivanje verzije i profila operacijskog sustava

3.2 Popis procesa

Jedan od najlakših načina dobivanja liste procesa koji su se izvršavali u trenutku

kad je slika snimljena je korištenje naredbe pslist. Na Slika 2. mogu se vidjeti

korisne informacije poput imena procesa i vremena njihovog pokretanja. Iz liste

procesa saznaje se PID (eng. Personal ID) svakog procesa koji uključujemo u

naredbe ako se radi o analizi određenog procesa. [3] Osim Windows procesa

dodatnim istraživanjem prepoznajemo još neke među kojima su antivirusni programi

McAfee i McShield, Web preglednike poput Mozzile Firefox i Internet Expolorer,

također kalkulator, Microsoft Word i razni drugi programi. Također u popisu procesa

nalazi se program Magnet Ram Capture kojim se snimala slika radne memorije. Ipak,

problem je što naredba pslist ne može prepoznati procese koji su se sakrili iz te liste

ili su završili neposredno prije nego je slika bila snimljena. Pstree naredba prikazuje

listu procesa u stablastom formatu kako bi bilo jasno razumjeti veze između procesa,

odnosno koji je stvorio kojeg. Budući da se temelji na istom radu kao i pslist lako je

moguće da se neki zloćudni program sakrije iz liste procesa koju pstree može

prikazati. Tad se kreće u potragu s naredbom psscan koja je iznimno korisna metoda

jer može pronaći procese koji su se maknuli s liste procesa kako bi izbjegli detekciju,

ali može i otkriti procese koji su završili prije trenutka snimanja slike. [3]

Page 7: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

7

Slika 2. Popis procesa korištenjem naredbe pslist

3.3 Analiza specifičnog procesa

Jednom kad je neki proces iz liste identificiran kao opasnost nužno je poduzeti

dodatne korake kako bi se potvrdile te sumnje i odredila priroda samog procesa. Za

pristupanje ostalim objektima sustava, proces mora imati dopuštenje i osigurati ručku

(eng.handle) za taj objekt [3]. „Ručke (eng. handles) su apstrakcija operacijskog

sustava Windows – to su identifikatori pomoću kojih proces pristupa objektima

operacijskog sustava. Primjeri takvih objekata su datoteke, ključevi registra i

sinkronizacijski mehanizmi“ [2]. Listu ručki nekog procesa možemo dobiti naredbom

handles. Kako bi filtrirali ručke po vrsti objekta za koje služe korisno je u naredbu

handles uključiti findstr i definirati koje objekte želimo ispisati. U ovom primjeru

naredbom volatility -f slikaRAMa3.raw --profile=WinXPSP2x86 handles --pid=3988 |

findstr File ispisane su ručke otvorenih datoteka Microsoft Word kojem je PID=3988.

Page 8: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

8

Slika 3. Ispis ručki otvorenih datoteka za Microsoft Word

Volatility alatom moguće je saznati s kojim argumentima naredbene linije je neki

program pozvan. [2] Naredba koja nam to omogućuje je cmdline, u našem slučaju za

McShield potpuna naredba je volatility --f slikaRAMA3.raw --profile=WinXPSP2x86

cmdline --pid=1388. Na Slika 4. prikazan je rezultat te naredbe.

Slika 4. Argumenti naredbene linije za proces McShield

U slučaju sumnje da je neki proces zloćudan naredbom procdump moguće je

rekonstruirati izvršnu datoteku. Iako rezultat neće u potpunosti odgovarati izvornoj

datoteci, sadržaj strojnog koda vjerojatno će biti isti. Rekonstruiranu datoteku

možemo otvoriti raznim alatima, ali i antivirusnim alatima utvrditi radi li se o

zlonamjernom programu. [2] U sklopu ovog rada naredbom volatility -f

slikaRAMa3.raw --profile=WinXPSP2x86 --dump-dir=dump --pid=2256 procdump

rekonstruirana je izvršna datoteka programa Magnet RAM Capture i spremljena u

novi direktorij dump.

Slika 5. Rekonstruirana izvršna datoteka procesa kojem je PID =2256

Page 9: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

9

3.4 Analiza mrežnih veza

Jedna od ključnih stvari pri analizi radne slike memorije računala i traženju

malicioznog ponašanja je analiza mrežnih veza. Za novije verzije Windowsa koristi se

naredba netscan, a u ovom slučaju za sliku snimljenu na Windows XP korištena je

naredba connections. Na Slika 6. prikazan je samo dio IP adresa na koje je računalo

bilo spojeno, ali iz TCP priključaka lako saznajemo da se radi o spajanju na Web

stranice. Također preko PID broja gledajući u

Slika 2. može se zaključiti i o kojem procesu je riječ, Internet Explorer.

Page 10: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

10

Slika 6. Popis mrežnih veza

3.5 Povijest preglednika

U prethodnom koraku otkriveno je kako se u trenutku snimanja memorije koristio

Web preglednik Internet Explorer. Kako bi pokušali otkriti kada i koje od Web stranica

su bile posjećene potrebno je koristiti naredbu iehistory. Iz Slika 7 može se

pretpostaviti da je korisnik u tom trenu čitao jedan hrvatski portal. Treba napomenuti

kako je naredba iehistory u sklopu osnovnih naredbi Volatility alata, ali postoje razni

dodaci kojima se može istraživati povijest ostalih preglednika.

Slika 7. Povijest preglednika Internet Explorer

3.6 Otkrivanje zapisa u međuspremniku

Međuspremnik se nalazi u radnoj memoriji računala i koristi se dok korisnik

izvršava radnju kopiranja i lijepljenja nekog teksta. Računalnom forenzikom radne

Page 11: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

11

memorije moguće je djelomično otkriti što je bilo zapisano u međuspremniku u

trenutku kad je slika spremljena. Naredbom volatility -f slikaRAMa3.raw --

profile=WinXPSP2x86 clipboard može se prepoznati da je u jedan dio spremnika

zapisano „Upi?ite ra?unalnu fore...je ba? dobar predmet :)“ što se može vidjeti na

Slika 8.

Slika 8. Otkrivanje sadržaja međuspremnika

Page 12: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

12

4. Zaključak

Radna memorija računala pohranjuje razne podatke među kojima su informacije

o procesima koji se trenutno izvršavaju, poruke, lozinke, privremeni tekstovi, mrežne

veze i priključci, podaci o datotečnom sustavu i razne druge stvari. [5] Zbog tog,

računalna forenzika radne memorije je jako zanimljiva i korisna forenzičarima u

mogućim napadima te se takvi dokazi koriste i u sudskim procesima. Kad se kreće u

analizu radne memorije iz bilo kojeg razloga vrlo je bitno utvrditi jednu od mnogih

metoda prikupljanja slike radne memorije. U sklopu ovog rada, slika je dobivena

korištenjem alata Magnet RAM Capturer, a analiza se provodila jako moćnim i

jednostavnim alatom Volatility. Iako su u radu prikazane samo neke od osnovnih i

najzanimljivijih naredbi, Volatility je alat otvorenog koda dostupan svima i često se

nadograđuje novim dodacima. Slika radne memorije koja se analizirala nije bila

zaražena zloćudnim programom, ali može se zaključiti kako je Volatility u mogućnosti

oporaviti veliku količinu podataka s kojim bi u obrnutom slučaju s malo znanja i volje

sigurno mogli doći do nekih tragova koji vode otkrivanju nepoznatih i zloćudnih

programa.

Page 13: Analiza slike radne memorije pomoću Volatility frameworkanevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · memorije računala koji nudi razne mogućnosti zbog kojeg ga koriste

13

5. Literatura

[1 ] Volatility, https://www.cert.hr/wp-content/uploads/2018/03/alat_volatility.pdf 13.6.2019

[2] Korištenje alata Volatility za forenzičku analizu radne memorije računala https://www.cert.hr/wp-content/uploads/2018/04/volatility.pdf 13.6.2019

[3] Windows memory analysis with Volatility https://www.forwarddefense.com/pdfs/Memory-Analysis-with-Volatility.pdf 13.06.2019

[4] Volatility Foundation: http://www.volatilityfoundation.org 10.06.2019

[5] FREE TOOL MAGNET Process Capture https://www.magnetforensics.com/resources/magnet-process-capture/ 13.06.2019

[6] Forenzika radne memorije, Viktor Kvaternjak, Predrag Pale https://www.fer.unizg.hr/_download/repository/RacFor-RAM-Slides-pp-v11.pdf 24.05.20019