Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:mrezna_forenzika:napadi_na_tcp [2022/01/08 13:07] mrobic [TCP Session Hijacking (otmica veze)] |
racfor_wiki:mrezna_forenzika:napadi_na_tcp [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 11: | Redak 11: | ||
- | Napad uskraćivanjem resursa, sekvencijsko predviđanje, | + | Ključne riječi: Transmission Control Protocol; podatkovni okteti; web preglednici; |
- | + | ||
- | Keywords: Transmission Control Protocol; podatkovni okteti; web preglednici; | + | |
===== Uvod ===== | ===== Uvod ===== | ||
- | Transmission Control Protocol (TCP) nalazi se iznad IP sloja. Kako TCP omogućuje pouzdanu komunikaciju među procesima | + | Transmission Control Protocol (TCP) nalazi se iznad IP sloja. Kako TCP omogućuje pouzdanu komunikaciju među procesima |
- | Procedura uspostave je jednostavna, | + | Procedura uspostave je jednostavna, |
{{ : | {{ : | ||
- | Raskid | + | Prekid |
{{ : | {{ : | ||
- | U struktura | + | U strukturi |
====== Vrste napada ====== | ====== Vrste napada ====== | ||
- | TCP protokol može biti napadnut na mnogo načina, | + | TCP protokol može biti napadnut na mnogo načina. Napad otmice veze (eng. session hijacking), sekvencijsko predviđanje (koje je u osnovi slično TCP vetu), TCP resetiranje samo su neki od najčešćih TCP napada. |
+ | Rezultati | ||
- | + | ===== SYN preplavljivanje | |
- | ===== SYN Flooding napad ===== | + | |
Redak 40: | Redak 38: | ||
Ovaj napada događa se tijekom uspostave TCP konekcije, odnosno napada “three-way handshake” protokol. U slučaju DOS napada, napadač teško može server “srušiti” direktno, prvo mora naći serverovu Ahilovu tetivu. “Half-open connection queue” je upravo to. | Ovaj napada događa se tijekom uspostave TCP konekcije, odnosno napada “three-way handshake” protokol. U slučaju DOS napada, napadač teško može server “srušiti” direktno, prvo mora naći serverovu Ahilovu tetivu. “Half-open connection queue” je upravo to. | ||
- | Kada server zaprimi inicijalni SYN paket, on sprema posebnu strukturu u svoj red zvanu Transmission Control Block (TCB). U tom trenutku veza između klijenta | + | Kada server zaprimi inicijalni SYN paket, on sprema posebnu strukturu u svoj red zvanu Transmission Control Block (TCB). U tom trenutku veza između klijenta |
- | Prije nego “three-way handshake” završi server mora spremiti u red sve TCB strukture te ako napadač uspije popuniti sav kapacitet reda u kratkom razdoblju, server neće moći prihvaćati nove SYN pakete te tako neće više primati nove konekcije iako CPU I njegov bandwith nisu dostigli maksimum. | + | Prije nego "three-way handshake" |
Napadačev posao je jednostavan, | Napadačev posao je jednostavan, | ||
Redak 52: | Redak 50: | ||
Ova vrsta napada poznata je dulje vrijeme i postoji nekoliko pristupa koji pokušavaju prekriti ovu slabost. SYN kolačići (eng. cookies) predstavljaju rješenje problema. Ideja je sljedeća, server će nakon primitka SYN segmenta, napraviti hash koristeći privatni ključ koji je poznat samo njemu. Ključ sadržava informacije o IP adresi, broju vrata, broju u nizu. Server šalje vrijednost H u SYN+ACK paketu. Ako je klijent napadač, neće dobiti serverov paket (jer koristi lažnu IP adresu). Ako klijent nije napadač, dobit će paket te poslati natrag ACK paket, sa vrijednošću H+1. Naravno, napadač i dalje može napuniti server sa mnogo SYN paketa, ali oni neće dovesti do popunjavanja reda jer server ne alocira resurse sve dok ne dobije ACK paket od klijenta. | Ova vrsta napada poznata je dulje vrijeme i postoji nekoliko pristupa koji pokušavaju prekriti ovu slabost. SYN kolačići (eng. cookies) predstavljaju rješenje problema. Ideja je sljedeća, server će nakon primitka SYN segmenta, napraviti hash koristeći privatni ključ koji je poznat samo njemu. Ključ sadržava informacije o IP adresi, broju vrata, broju u nizu. Server šalje vrijednost H u SYN+ACK paketu. Ako je klijent napadač, neće dobiti serverov paket (jer koristi lažnu IP adresu). Ako klijent nije napadač, dobit će paket te poslati natrag ACK paket, sa vrijednošću H+1. Naravno, napadač i dalje može napuniti server sa mnogo SYN paketa, ali oni neće dovesti do popunjavanja reda jer server ne alocira resurse sve dok ne dobije ACK paket od klijenta. | ||
- | ===== TCP Reset napad ===== | + | ===== TCP resetiranje |
Cilj ove vrste napada je prekinuti postojeću vezu između dva servera. Iako TCP koristi TCP FIN protokol kako bi završio trenutnu konekciju, ako jedna strana pošalje segment sa bitom RST postavljenim na 1, konekcija se odmah završava. Treba uočiti kako su na meti uglavnom konekcije koje traje neko određeno vrijeme jer je teško vjerojatno da napadač može prekinuti vezu u trajanju nekoliko sekundi. | Cilj ove vrste napada je prekinuti postojeću vezu između dva servera. Iako TCP koristi TCP FIN protokol kako bi završio trenutnu konekciju, ako jedna strana pošalje segment sa bitom RST postavljenim na 1, konekcija se odmah završava. Treba uočiti kako su na meti uglavnom konekcije koje traje neko određeno vrijeme jer je teško vjerojatno da napadač može prekinuti vezu u trajanju nekoliko sekundi. | ||
Redak 72: | Redak 70: | ||
===== TCP veto napad ===== | ===== TCP veto napad ===== | ||
- | Napad koji može predvidjeti sljedeći | + | Napad koji može predvidjeti sljedeći |
+ | Sprječavanje ovakve vrste napada uključuje tcpcrypt, IPsec itd... | ||
===== Zaključak ===== | ===== Zaključak ===== | ||
- | TCP protokol nema ugrađene sigurnosne mehanizme kako bi zaštitio konekciju te podatke od napada. Rezultat toga su mnogobrojne vrste napada. SYN Flooding i TCP Reset spadaju pod DoS vrste napada, dok ostala dva napada omogućuju napadaču ubacivanje malicioznih podataka u postojeću TCP vezu. | + | TCP protokol nema ugrađene sigurnosne mehanizme kako bi zaštitio konekciju te podatke od napada. Rezultat toga su mnogobrojne vrste napada. SYN poplavljivanje |
- | Iako se napad oduzimanja veze (eng. session hijacking) može riješiti pomoću enkripcije, za ostale napade postoje rješenja (npr. SYN cookies | + | Iako se napad oduzimanja veze(eng. session hijacking) može riješiti pomoću enkripcije, za ostale napade postoje rješenja (npr. SYN kolačići |
- | Važna lekcija naučena iz ovog protokola, ali i bilo kojeg drugog mrežnog protokola je da se sigurnost mora odmah ugraditi kako bi odmah riješila potencijalne | + | Važna lekcija naučena iz ovog protokola, ali i bilo kojeg drugog mrežnog protokola je da se sigurnost mora odmah ugraditi kako bi odmah riješila potencijalne |
Redak 89: | Redak 88: | ||
[1] [[https:// | [1] [[https:// | ||
- | [2] [[https:// | + | [2] Komunikacijske mreže, FER predavanja, 2017. |
+ | |||
+ | [3] [[https:// | ||
- | [3] [[https:// | + | [4] [[https:// |