Ovo je stara izmjena dokumenta!
Internet je javna i globalna mreža te kao takav nije siguran. Kada dva računala iz različitih lokalnih mreža komuniciraju podaci se šalju kroz nekoliko različitih usmjerivača i računala. Jedan od načina na koji napadači mogu krasti podatke je man in the middle napadom. Ime napada dobro opisuje i sam napad, a to je neovlašteno prisluškivanje komunikacijskog kanala. Man in the middle napadi ciljaju usmjeritelje i poslužitelje s nedovoljnom zaštitom. U ovom radu proći ću kroz vrste, primjere te načine prevencije i detekcije man in the middle napada.
Ključne riječi: man in the middle; mrežni napad; komunikacijski kanal
Man in the middle napad je moderna verzija prisluškivanja razgovora. Dok se to prije radilo prislanjanjem uha na vrata ili skrivanja iza zavjesa danas se prisluškuje komunikacija putem računala. U suštini man in the middle napad je čitanje podataka iz komunikacijskog kanala u kojem ne bi trebali biti. Osim čitanja podataka moguće je spremiti podatke te ih promijeniti u stvarnom vremenu te umetnuti vlastite maliciozne podatke. Cilj man in the middle napada su najčešće povjerljive informacije kao što su lozinke. U ovom radu ću prvo navesti i objasniti različite vrste man in the middle napada gledajući ciljane podatke ili ciljane žrtve, a nakon toga će slijediti teoretski i stvarni primjeri napada. Posljednje poglavlje je temeljeno na detekciji i prevenciji man in the middle napada.
Kako bi napadač došao u priliku čitati podatke iz komunikacijskog on se prvo treba neopaženo priključiti na kanal. Ako napadač samo promatra komunikaciju između žrtve i poslužitelja to je pasivni man in the middle napad, a ako napadač preusmjeri promet na drugi poslužitelj prije nego li se žrtva spoji to je aktivni man in the middle napad. Kako bi napadač uspješno izveo man in the middle napad prvo mora doći do toka podataka. Napadač to može napraviti na više načina. Slika 1. prikazuje kako općenito izgleda komunikacijski kanal pod napadom.
Slika 2[2]
Slika 3[6]
Nakon što se napadač uspješno “ubacio” u komunikacijski kanal između žrtve i poslužitelja on ne može čitati kriptirane podatke bez ključa. Najkorišteniji način za čitanje kriptiranih poruka u Internetu je Secure Sockets Layer(SSL) stripping. Cilj SSL strippinga je maknuti “s” iz HTTPS protokola koji stoji za SSL. SSL se koristi kao sigurnosni sloj između HTTP-a i TCP-a koji kriptira osjetljive podatke. U normalnom scenariju korisnik pošalje neosiguran HTTP zahtjev poslužitelju koji odgovara i preusmjerava korisnika na HTTPS. Korisnik tada šalje HTTPS zahtjev i postiže se sigurna komunikacija. Napadač koji se već uspješno ubacio u komunikacijski kanal prima žrtvine podatke. Napadač kada primi žrtvin HTTP zahtjev će ga proslijediti poslužitelju te dobiti odgovor za preusmjeravanje na HTTPS protokol. Napadač je uspostavio sigurnu vezu s poslužiteljem, ali prema žrtvi degradira HTTPS protokol na HTTP te je između njih nekriptirana komunikacija. Rezultat toga je da žrtva misli da je spojena sigurnom vezom s poslužiteljem dok šalje nekriptirane podatke napadaču. Poslužitelj ima sigurnu vezu, ali s napadačem, a ne žrtvom. Slika 4. prikazuje konačni prikaz protokola koji se koriste nakon SSL strippinga
Slika 4[9]
Man in the middle napadi se događaju svakodnevno i često prođu neopaženo i bez velike štete. Kvalitetni man in the middle napadi se fokusiraju na špijunažu te krađe novca u transakcijama. Najkvalitetniji napadi će zauvijek ostati neopaženi. Dolje je navedeno nekoliko poznatijih napada koji su otkriveni.
Osim navedenih napada postoji nebrojeno mnogo sitnih napada koji nisu na ovoj razini utjecaja. Takvi napadi rezultiraju krađom novca, a od takvih najpoznatiji je slučaj kada su napadači ukrali milijunsku transakciju između kineske i izraelske firme što pokazuje koliko je sigurnost od man in the middle napada potrebna. Kako se štiti od man in the middle napada piše u sljedećem poglavlju.
Korisnicima nije jednostavno detektirati man in the middle napade jer su oni napravljeni na način da korisnik vidi napadača kao legitimnog poslužitelja. Napade je ipak moguće detektirati prilikom ubacivanja napadača u komunikaciju. Detektirati ARP spoofing je moguće kroz komandnu liniju koristeći naredbu “arp -a” koja će ispisati ARP tablicu. Ukoliko dvije IP adrese imaju istu MAC adresu to znači da je računalo pod napadom. ARP spoofing se može donekle preventirati koristeći Virtual Private Network(VPN) koji kriptira komunikaciju koja onda čini ARP spoofing neučinkovitim. Ako računalo uvijek spajamo na isti usmjeravač onda možemo definirati statičku ARP tablicu, a onda računalo neće slušati ARP response poruke. Posljednji način je postaviti filter paketa koji će pokušati identificirati i odbaciti pakete s nelogičnim izvorima podataka. DNS spoofing je moguće detektirati slično kao i ARP spoofing, a to je koristeći alat dnstraceroute koji koristeći TTL polje u zaglavlju otkriva je li DNS request odgovoren od točnog DNS poslužitelja. DNS spoofing je moguće preventirati koristeći DNSSEC verziju DNS-a. DNSSEC uvodi dvije ključne stvari, a to su data origin authentication koji omogućava korisniku da potvrdi da su primljeni podaci došli odakle bi trebali i data integrity protection koji potvrđuje da podaci nisu izmijenjeni u komunikacijskom kanalu. IP spoofing je moguće detektirati pregledavanjem zaglavlja paketa i uočavati nepravilnosti. Slično kao i za ARP spoofing IP spoofing se preventira koristeći filtere paketa koji detektiraju i odbacuju sumnjive pakete. Detekcija navedenih spoofinga zahtjeva aktivno korištenje raznih alata kako bi se odmah primijetio napad dok se prevencija napada obavlja postavljenjem filtera i korištenjem sigurnijih protokola kao što su HTTPS i DNSSEC. Upute krajnjim korisnicima za detekciju i prevenciju man in the middle napada su izbjegavanje neslužbenih javnih pristupnih točaka. Ukoliko se primijeti višestruko odspajanje i spajanje na poslužitelj znači da je računalo pod napadom. Napadači na ovaj način pokušavaju uloviti korisnička imena i lozinke koji se šalju za ponovno spajanje. Čudni znakovi i nepravilna imena adresa u pretraživaču kao npr. Go0gle umjesto Google.
Svatko može biti žrtva man in the middle napada čak i ako se koriste navedene upute za detekciju i prevenciju napada. Problem cyber napada je što je napadač uvijek u prednosti. Problemi cyber sustava dolaze do izražaja tek nakon što je napad uspješno izveden. Man in the middle napadi postoje dulje nego računalo i ostati će opasnost na jedan ili drugi način zauvijek. Napadači će se prilagoditi novim sigurnosnim protokolima i tražiti rupe u sustavima. Man in the middle napadi se događaju svakodnevno, a eksponencijalnim povećanjem broja korisnika stvara se sve više mogućih žrtava koje nisu svjesne ovakvih napada.
[2] https://levelup.gitconnected.com/man-in-the-middle-attack-part-1-arp-spoofing-6f5b174dec59
[3] https://www.imperva.com/learn/application-security/man-in-the-middle-attack-mitm/
[4] https://doubleoctopus.com/security-wiki/threats-and-tools/ip-spoofing/
[5] https://www.cloudflare.com/learning/ddos/glossary/ip-spoofing/
[6] https://www.cloudflare.com/learning/dns/dns-cache-poisoning/
[7] https://www.varonis.com/blog/man-in-the-middle-attack/
[8] https://www.imperva.com/learn/application-security/arp-spoofing/
[9] https://www.venafi.com/blog/what-are-ssl-stripping-attacks
[10] https://en.wikipedia.org/wiki/Superfish
[11] https://weberblog.net/detect-dns-spoofing-dnstraceroute/