12
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINARSKI RAD U OKVIRU PREDMETA „RAČUNALNA FORENZIKA“ ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek Zagreb, siječanj 2018.

ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

SEMINARSKI RAD U OKVIRU PREDMETA „RAČUNALNA FORENZIKA“

ICMP protokol sa stanovišta računalne forenzike

Jurica Hanžek

Zagreb, siječanj 2018.

Page 2: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek
Page 3: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

Sadržaj

1. Uvod ..................................................................................................................... 4

2. Napadi na ICMP protokol ..................................................................................... 5

2.1 ICMP sweep ................................................................................................... 5

2.2 Traceroute mapiranje ..................................................................................... 5

2.3 Firewalk .......................................................................................................... 5

2.4 Inverzno mapiranje ......................................................................................... 6

2.5 OS fingerprinting ............................................................................................ 6

2.6 ICMP route redirect ........................................................................................ 6

2.7 Ping of death, Teardrop .................................................................................. 6

2.8 ICMP smurf .................................................................................................... 7

3. Forenzika ICMP-a ................................................................................................ 8

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

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

Page 4: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

1. Uvod

ICMP je mrežni protokol koji služi za dojavu informacijskih poruka te poruka o pogreškama. Sukladno tome, ICMP poruke dijele se u dvije kategorije: ICMP Error Messages i ICMP Query Messages. ICMP poruke tipično se rabe za kontrolu isporuke paketa gdje usmjeritelj dobiva informaciju je li nastupila greška tijekom slanja, ali imaju i drugu svrhu. Primjerice, ICMP kontrolnim porukama usmjeritelji šalju kontrolne poruke drugim usmjeriteljima što može biti temelj za promjenu usmjeravanja paketa kroz mrežu prema odredištu. [1]

ICMP datagram dio je IP paketa. Slika 1.1[2] prikazuje enkapsulaciju ICMP datagrama u IP datagram.

Slika 1.1 ICMP datagram kao dio IP datagrama

Posljedično, ranjivosti IP protokola također se odnose i na ICMP protokol. Unatoč tome što su napadi na IP protokol također zanimljivi s forenzičke strane, ovaj seminar koncentrira se na napade koji su specifično namijenjeni za ICMP protokol. Zbog svoje specifične uporabe – slanje odgovora ili dojave o greškama, ICMP poruke često su ignorirane u konfiguraciji vatrozida (sigurnosna stijena, engl. Firewall) i IDS-a (engl. Intrusion Detection System) pa predstavljaju zanimljiv sigurnosni i forenzički izazov.

ICMP datagram sastoji se od ICMP zaglavlja i podatkovnog polja. Slika 1.2[3] prikazuje strukturu ICMP datagrama. ICMP zaglavlje sastoji se od tipa poruke, koda te kontrolne sume. Podatkovno polje je opcionalno, a najčešće se ne koristi.

Slika 1.2 ICMP datagram

Prvih 8 bitova zaglavlja predstavljaju tip ICMP poruke. To polje određuje ostatak ICMP datagrama jer govori o kakvoj je ICMP poruci riječ. Zatim slijedi kod ICMP poruke koji objašnjava prethodno navedeni tip ICMP poruke. Kontrolna suma duljine je 16 bita i služi za pronalazak potencijalne pogreške u prijenosu ICMP poruke. Podatkovno polje ima uporabu u nekim alatima za dijagnostiku kao što su ping i traceroute.

Page 5: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

2. Napadi na ICMP protokol

Postoji niz napada na ICMP protokol. U ovom poglavlju obrađeni su najznačajniji i najčešće izvođeni napadi.[1][4][5]

2.1 ICMP sweep

U ovom napadu napadač šalje niz ICMP ‘echo request’ poruka na cijelom mrežnom segmentu na kojem se nalazi i čeka ICMP odgovor, što sugerira da je host aktivan. ICMP sweep napadi spadaju u grupu pasivnih napada jer ne prouzrokuju izravnu štetu računalu žrtve, ali služe kao pripremni napad – napadač nastoji shvatiti koja su računala aktivna u nekoj mreži, a zatim protiv njih izvršava aktivne napade. Ta skeniranja mogu se jednostavnije izvoditi pomoću naredbe ping, ali mnogi automatizirani alati ubrzavaju proces koristeći ovakvo skeniranje nad svim mogućim IP adresama u nekoj podmreži. Lako se uočavaju jer generiraju veliki mrežni promet, a sprječavaju se ograničavanjem učestalosti slanja ICMP poruka.

2.2 Traceroute mapiranje

ICMP protokol može se zlorabiti i za pronalazak konfiguracije neke mreže. Napadač šalje niz UDP datagrama prema nepostojećem portu žrtve. Pri tom TTL (Time-To-Live) postavlja na 1, što uzrokuje „timeout” čim datagram dođe do prvog usmjeritelja u mreži. Taj usmjeritelj odgovara s ICMP Time Exceeded Message (TEM), što označava da datagram nije stigao do cilja. Tako napadač preko odgovora saznaje IP adresu prvog usmjeritelja na putu. Postupak se ponavlja uz povećanje TTL-a za 1 u svakom sljedećem koraku. Napadač postupno saznaje čitavu topologiju ciljane mreže. Kad datagram usred ponavljanja postupka konačno dođe do žrtve, vraća se odgovor ICMP Port Unreachable, čime se sugerira da zadani port ne postoji, a postupak mapiranja je završen i napadač je saznao čitav put do računala žrtve u toj mreži. Ova tehnika također generira velik mrežni promet i može se uočiti pomoću IDS-a i log zapisa na vatrozidu.

2.3 Firewalk

Ideja ovog napada slična je kao kod Traceroutinga. Cilj je pronaći otvorene portove na vatrozidu koji koristi filtiriranje paketa. Napadač najprije traceroute tehnikom saznaje koliko mu skokova u mreži treba do ciljnog vatrozida. Nakon toga postavlja TTL vrijednost UDP paketa za jedan veću od vrijednosti koja ga dovodi do vatrozida. Ako primi ICMP odgovor „time exceeded“, može zaključiti da je paket stigao do čvora koji se u toj mreži nalazi neposredno nakon vatrozida, što znači da je paket prošao preko vatrozida. Ako ne dobije odgovor, očito je da postoji pravilo filtriranja na vatrozidu koje onemogućava prosljeđivanje tog paketa. Stvarna namjena ovog napada je shvaćanje koja su pravila filtriranja postavljena na vatrozidu i kako ih zaobići.

Page 6: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

2.4 Inverzno mapiranje

Vatrozidi često sprječavaju pristup „unutarnjim“ računalima izvana. Unatoč tome, odgovori na unutarnje upite se ne filtriraju. Zato napadač šalje ICMP odgovor na niz IP adresa. Zauzvrat će dobiti poruku ICMP „Host Unreachable“ od usmjeritelja koji ne može proslijediti poslani ICMP odgovor prema željenim krajnjim točkama. Tako će dobiti niz informacija o hostovima koji su neaktivni u toj mreži, iako paketi koje šalje nemaju smisla jer ICMP odgovor koji se šalje nije rezultat nikakvog upita od žrtve. S druge strane, napadač pretpostavlja da je računalo aktivno ako nije dobio „Host Unreacheble“ poruku. Takvo mapiranje je moguće izvesti samo ako vatrozid ne čuva stanja postojećih ICMP zahtjeva. Taj problem rješava se naprednijim vatrozidima koji čuvaju stanje odlaznih zahtjeva pa se takva komunikacija inicirana izvan mreže odbacuje, a dolazni paketi se mogu zapisati u dnevnike vatrozida.

2.5 OS fingerprinting

Svi operacijski sustavi šalju ponešto drugačije odgovore na ICMP pakete pa napadač ovim postupkom nastoji shvatiti koji operacijski sustav je instaliran na računalu žrtve preko strukture ICMP odgovora. Primjer korištenja ove ideje je kad napadač šalje UDP paket na UDP port žrtve koji je zatvoren. Odgovor koji će mu biti vraćen je ICMP poruka tipa „Destination unreachable port“ za koju se pretpostavlja da će na različitim operacijskim sustavima (a i na različitim verzijama istog operacijskog sustava) izgledati ponešto različito.

Svi dosad spomenuti napadi su iz kategorije pasivnih napada. Međutim, ICMP se može zlorabiti i za aktivne napade na računalo žrtve.

2.6 ICMP route redirect

Jedna od glavnih funkcija ICMP-a je mogućnost promjene rute slanja paketa kroz mrežu, što pomaže usmjeriteljima kod komutacije paketa. Ta činjenica može se iskoristiti za MITM (Man-in-the-middle) napad gdje se legitimni paketi namijenjeni za računalo žrtve preusmjeravaju preko napadačevog uređaja i zatim snimaju pomoću nekog programa (npr. Wireshark).

2.7 Ping of death, Teardrop

Napadač iskorištava slabost u implementaciji TCP/IP protokola i šalje pakete koji prelaze maksimalnu veličinu od 65535 okteta, što dovodi do preljeva spremnika (buffer overflow) na računalu žrtve. Samo jedan takav predimenzionirani ICMP paket uzrokuje privremenu ili trajnu nedostupnost računala žrtve.

Sličan učinak može se postići i pomoću Teardrop napada gdje su ICMP paketi fragmentirani tako da njihovo sastavljanje na odredištu nije moguće zbog preklapanja uzrokovanog namjerno izmijenjenim zapisima veličine fragmenata.

Page 7: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

2.8 ICMP smurf

Ideja ovog napada je lažiranje adrese izvorišta i slanje takvog paketa (ICMP echo) na adresu neke mreže koja će generirati velik odgovor (ICMP reply) i tako izazvati pogoršanje performansi ili potpuni ispad (Denial of Service, DoS). Ovakav napad primjer je napada preplavljivanjem (engl. Flooding) uz posebnost u tome što smurf napad koristi čitavu mrežu računala koja generiraju takav odgovor. Zato su odgovori tipično mnogo veći od napadačevih zahtjeva s lažnom izvorišnom adresom pa se mogu kategorizirati i kao amplifikacijski napadi.

Page 8: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

3. Forenzika ICMP-a

Postoji niz predloženih modela za forenzičku analizu ICMP poruka. Svima im je zajednička ideja odvajanja „dobrih“ i „loših“ paketa, odnosno filtriranje prometa na način da se neki paketi za koje se sumnja da su maliciozni pohrane tako da se nad njima može vršiti analiza. Takvo odvajanje prvenstveno se bazira na pohrani prometa koji dolazi od sumnjivih IP adresa. Problem takvog načina filtriranja je stvaranje i osvježavanje te liste IP adresa – neki korisnik iza jedne IP adrese može biti legitimni korisnik i stvarati legitiman promet, ali može i postati uljez ako je i on sam prije toga postao žrtva napada. Pretpostavka je da je filtriranje paketa za analizu te označavanje nepoželjnih IP adresa izvedeno na zadovoljavajući način pa se i ICMP paketi (kao i svaki drugi paketi) mogu analizirati.

Promatramo dva modela za analizu ICMP prometa.

Prvi model[4] sastoji se od prikupljanja tragova, identifikacije zanimljivih paketa te njihova pohrana i kasnija analiza. Slika 3.1[4] prikazuje tu ideju kroz nekoliko koraka.

Slika 3.1. Model forenzičke analize mrežnog prometa

Page 9: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

Prvi korak svake forenzičke analize je prikupljanje tragova. S obzirom na to da je naše područje interesa ICMP protokol, jasno je da se prikupljanje tragova svodi na snimanje mrežnog prometa pomoću nekog od specijaliziranih alata poput Wiresharka, Snorta ili Tcpdumpa. Rezultat takvog prikupljanja paketa je datoteka u Libpcap formatu iz koje je potrebno izdvojiti zanimljive pakete. Ako promotrimo strukturu IP i ICMP paketa te obilježja napada opisanih u prethodnom poglavlju, možemo zaključiti da se identifikacija paketa lako može izvršiti ako poznajemo kako se pojedini napadi manifestiraju u strukturi ICMP paketa. Primjerice, paket čija je veličina postavljena na više od 65535 okteta očigledno je sumnjiv i predstavlja neku pogrešku u prijenosu ili napad tipa „Ping of death“.

Paketi filtrirani prema pravilnostima koje se uočavaju u strukturi najčešćih ICMP napada mogu se spremiti u bazu podataka. Da bi se uštedjelo na veličini podataka, spremaju se samo zaglavlja tih paketa jer podatkovna polja ionako nisu korisna u promatranim napadima. Uz svaki zapis potrebno je voditi i evidenciju o vremenu nastanka paketa, što je neophodno za forenzičku analizu.

Nakon toga slijedi analiza. Pomoću karakterističnih vrijednosti u poljima „tip“ i „kod“ u zaglavlju ICMP datagrama, možemo prepoznati neke od opisanih napada. ICMP route redirect napad, primjerice, možemo prepoznati po vrijednosti tipa jednakoj 5 i slično. Valja napomenuti da su pravila prepoznavanja napada ponešto drugačija od onih koja se nalaze u IDS-ima.

Na temelju analize mogu se izraditi statistike učestalosti i uspješnosti pojedinih napada. Dobiveni podaci mogu se iskoristiti kako bi se ubuduće lakše mogli prepoznati slični obrasci u napadima.

Drugi model[5] također se može opisati u nekoliko jednostavnih koraka: prikupljanje mrežnog prometa, identifikacija ICMP paketa, provjera atributa koji sugeriraju napad, označavanje sumnjivih paketa, pohrana informacija i generiranje rezultata. Taj model prikazuje slika 3.2[5].

Kao i u prvom modelu, prvi korak je prikupljanje mrežnog prometa koji će se koristiti u analizi. U ovom modelu predloženo je snimanje prometa korištenjem WinPcap alata. Iako je u ova dva modela riječ o različitim alatima, krajnji rezultat forenzičke analize fokusira se na sadržaj, a ne na format snimljenih podataka. Pomoću WinPcapa snimljeni paketi mogu se i identificirati te se iz njih izdvajaju ICMP paketi koji su predmet analize u ovom modelu.

Sljedeći korak je identifikacija potencijalno malicioznih paketa pomoću provjere pojedinih atributa izdvojenih paketa. Princip te identifikacije jednak je kao u prvom modelu. Promatraju se zanimljiva polja ICMP zaglavlja – „tip“ i „kod“, što nam omogućuje da prepoznamo pojedine napade ako znamo kako se ti napadi manifestiraju u strukturi paketa. Tablica 1 donosi nekoliko primjera napada uz tipične vrijednosti zaglavlja ICMP-a.

Tablica 1: Primjeri napada i njihove karakteristične vrijednosti

Tip napada na ICMP Karakteristične vrijednosti

ICMP Sweep tip = 8, kod = 0

ICMP Smurf tip = 0, bez slanja tip = 8

Traceroute mapiranje TTL = 0, tip = 8

Inverzno mapiranje tip = 0, bez slanja tip = 8

Page 10: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

Na osnovi te provjere atributa, paketi se mogu označiti sumnjivima, a IP adrese s kojih su poslani mogu se označiti kao adrese neželjenih pošiljatelja.

Slika 3.2 Prikaz modela forenzičke analize mrežnog prometa po koracima

Informacije dobivene iz prethodnog koraka pohranjuju se u bazu. Isto kao i kod prethodnog

modela, uz informaciju o napadu potrebna je i vremenska oznaka snimljenog paketa.

Konačno, kao i u prethodnom modelu, iz spremljenih podataka moguće je napraviti analize,

statistike i izvući zaključke.

Page 11: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

4. Zaključak

Napadi na ICMP protokol vrlo su raznoliki. Zbog toga je osnovna pretpostavka detekcije

pojedinog napada dobro razumijevanje strukture ICMP paketa. Razumijevanje

karakterističnih vrijednosti za pojedini napad u zaglavlju ICMP-a omogućava jednostavniju

analizu snimljenih paketa.

Oba obrađena modela imaju mnogo sličnosti, a prema tome i mnogo sličnih prednosti i

nedostataka. Pokazuje se da ICMP protokol, baš kao i IP protokol, unutar kojeg je ICMP

datagram sadržan, podliježe raznolikim napadima, pogotovo kad nisu poduzete potrebne

sigurnosne mjere. Važno je razumjeti da se spomenuti modeli ne moraju doslovno

primjenjivati – kroz varijacije u izvedbi pojedinih koraka može se doći do novih, sličnih i

učinkovitih analiza mrežnog prometa s perspektive ICMP protokola.

Page 12: ICMP protokol sa stanovišta računalne forenzikenevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2018-01-14 · ICMP protokol sa stanovišta računalne forenzike Jurica Hanžek

5. Literatura

1. ICMP Attacks Illustrated, SANS Institute InfoSec Reading Room, 2017. 2. http://telescript.denayer.wenk.be/~hcr/cn/idoceo/images/icmp_encap.gif 3. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAScAAACrCAMA 4. Network Forensics System for ICMP Attacks, A.K.Kaushik, R.C.Joshi, 2010. 5. Network Forensics System for ICMP Attacks Using Real Time Approach, M. N. Turup,

B. M. Patil, 2015.