Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Sveučilište u Zagrebu
Fakultet elektrotehnike i računarstva
Seminarski rad
Mrežni napadi
Ante Grgat
Sadržaj Uvod ........................................................................................................................................................ 1
Lanac napada ........................................................................................................................................... 2
Metode i alati mrežnih napada ............................................................................................................... 3
Zloćudni programi ............................................................................................................................... 3
Prisluškivanje ....................................................................................................................................... 4
ARP trovanje ........................................................................................................................................ 5
Obrana od ARP trovanja .................................................................................................................. 6
Preljev spremnika ................................................................................................................................ 7
Iskorištavanje propusta na stogu .................................................................................................... 7
Iskorištavanje propusta na hrpi ....................................................................................................... 8
NOP-sled tehnika ............................................................................................................................. 8
Napadi uskraćivanjem usluge .............................................................................................................. 9
Ping zatrpavanje ............................................................................................................................ 10
Ping smrti ....................................................................................................................................... 10
Smurf i Fraggle napad .................................................................................................................... 10
Teardrop napad ............................................................................................................................. 11
SYN zatrpavanje ............................................................................................................................. 11
Distributed Denial of Service – DDoS napad ................................................................................. 12
Napadi uzastopnim pokušavanjem ................................................................................................... 13
Napad rječnikom ........................................................................................................................... 13
Detekcija i zaštita od brute-force napada ..................................................................................... 13
Zaključak ................................................................................................................................................ 15
Literatura ............................................................................................................................................... 16
1
Uvod
Internet je nedvojbeno postao najveća mreža javnih podataka, a njegovim razvojem raste i
mogućnost sigurnosnih prijetnji, ranjivosti i štetnih napada. Mrežni napadi koji najčešće dolaze
iz javne mreže interneta su po svojoj prilici puno ozbiljniji kada nanesu štetu tvrtkama koje
pohranjuju osjetljive podatke kao što su osobni, medicinski ili financijski zapisi. Posljedice
takvih napada mogu načiniti blagu štetu ili kompletno oslabiti mrežu i podatke te tvrtke na
način da važni podaci mogu biti izgubljeni, privatnost može biti narušena, ili da na dulje
vremensko razdoblje mreža bude srušena i neupotrebljiva za korištenje.
Napad na mrežu mogu izvršiti hakeri na takav način da prouzroče štetu na podacima ili da
mrežu učine nedostupnom. Postoji velik broj mrežnih napada koji su dokumentirani i koji su
uglavnom klasificirani u tri osnovne kategorije: napadi izviđanja (eng. reconnaissance attacks),
napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi.
Napadi izviđanja (eng. reconnaissance attacks) daju korisne informacije o meti (eng. target),
koje hakeri mogu iskoristiti za kompromitiranje mreže. Najčešće su to softverski alati, kao što
su skeneri koji snime mrežne resurse i iskoriste potencijalne slabosti u ciljanoj mreži i
aplikacijama.
Pristupni napadi (eng. access attacks) provode se nakon što se otkriju ranjivosti u mrežnim
prostorima, kao što je autentifikacijski servis i FTP s ciljem da pronađu korisnički račun e-pošte,
bazu podataka i ostale povjerljive informacije.
DoS (eng. Denial of Service) napadi sprječavaju pristup dijelovima ili cijelim računalnim
sistemima. DoS napadi obično šalju veliku količinu nekontroliranih podataka na uređaj koji je
spojen na mrežu neke tvrtke ili Internet, blokirajući tako protok ispravnog prometa. Štoviše,
takav napad može prerasti u DDoS (eng. Distributed Denial of Service) u kojem napadač
kompromitira više uređaja ili korisničkih stanica.
2
Lanac napada
U 2009. godini, Mike Cloppert iz Lockheed Martin uveo je koncept koji je danas poznat kao
lanac napada (eng. attacker kill chain). Lanac napada sadrži uobičajene korake potrebne da bi
se uspješno izvršio napad na mrežu.
Tipični lanac napada može se podijeliti u tri faze:
Izviđanje (eng. recconaissance phase) – potrebno saznati što više informacija o meti
prije napada.
Postoje dva tipa izviđanja:
o Pasivno izviđanje (eng. passive recconaissance) – nema direktne interakcije
napadača s metom. Napadač pregledava javno dostupne izvore informacija u
potrazi za korisnim podatcima kako bi odredio površinu napada. Jedan od
zadataka je pronalazak imena svih trenutnih i bivših zaposlenika koja čine
osnovu za provedbu napada uzastopnim pokušavanjem (eng. brute-force)
napada, kako i socijalni inženjering (eng. social engineering) napada.
o Aktivno izviđanje (eng. active recconaissance) – Tijekom aktivnog izviđanja
provodi se port skeniranje (eng. port scanning) i procjena ranjivosti računalnih
sustava (eng. remote vaulnerability scanning). Može biti detektirano od mete,
ali je jako teško razaznati napadača od ostalog prometa.
Eksploatacija ranjivosti (eng. exploit phase) – napadač pokreće napad i traži znakove
uspješnog proboja ili neuspjeha.
Nakon eksploatacije (eng. post exploit phase) – jednom kad je napadač uspješno
uspostavio vezu s računalnom mrežom organizacije, on pokušava ustanoviti gdje se
nalazi u mreži. Podizanjem razine prava nastoji biti izjednačen s administratorskim
računom. Nakon što napadač identificira podatke od interesa, on pokušava skupiti (iz
baze podataka, repozitorija, poruka elektroničke pošte ili datoteka) te podatke na
jedno računalo i izvući ih iz mreže. Napadač nastoji održati pristup mreži kroz dulje
vremensko razdoblje. Nakon izvršenog napada napadači obično pokušavaju prikriti
tragove svoje prisutnosti na sustavu. Za sakrivanje aktivnosti često se koriste posebnim
zloćudnim programima koji se nazivaju rootkit programi. Oni zahtijevaju
administratorske ovlasti za izvršavanje i sakrivaju procese koje je napadač pokrenuo
od drugih korisnika u sustava. Još neke od metoda sakrivanja tragova su
onemogućavanje praćenja, odnosno zapisivanja u dnevnike tijekom aktivnosti
napadača u sustavu te brisanje dnevničkih zapisa.
3
Metode i alati mrežnih napada
Pri izvođenju napada i za vrijeme interakcije s napadnutom mrežom, napadač koristi određen
skup metoda i alata za upravljanje zaraženim računalima, pregled mreže te identifikaciju
podataka od interesa. Također, on koristi i popratnu infrastrukturu za pristup mreži
organizacije koju napada. U sljedećim potpoglavljima slijedi detaljniji pregled nekih metoda i
alata koje napadači koriste.
Zloćudni programi
Pojam zlonamjernog programa označava bilo koju vrstu programa kojem je namjera
uzrokovati štetu, kako računalnom sustavu tako i njegovim korisnicima, bila ona materijalna,
podatkovna ili novčana. Postoji puno vrsta zlonamjernih programa, no većinom se mogu
svrstati u pet kategorija: viruse, crve, trojance, adware i spyware.
Virusi su zlonamjerni programi koji koriste druge legitimne programe za svoje širenje na način
da na izvršni program legitimne aplikacije dodaju zlonamjerni izvršni program (eng. payload).
Prilikom pokretanja legitimnog programa koji je zaražen virusom prvo se izvršava zlonamjerni
program tako da korisnik nije svjestan toga. Nakon što zlonamjerni program obavi svoju
zadaću, kontrola izvršavanja se vraća legitimnom programu koji normalno nastavlja svoj rad.
Upravo zbog činjenice da virusi, nakon što obave svoju zadaću, vraćaju kontrolu legitimnom
programu, korisnici najčešće nisu svjesni da su izvršne datoteke na računalu zaražene virusom.
Crvi su zlonamjerni programi koji za razliku od virusa imaju mogućnost samostalnog širenja
nakon što su inicijalno pokrenuti od strane napadača, dakle nije im potrebna pomoć korisnika.
Crvi za širenje najčešće iskorištavaju jako poznate i neispravljene greške u operacijskim
sustavima ili drugim programima. Priroda crva čini ga puno destruktivnijim od bilo kojeg virusa
jer je crv u stanju zaraziti velik broj računala u vrlo malom vremenskom roku. Jednom zaražena
računala mogu biti iskorištena od strane napadača na više načina. Najčešće se ta računala
koriste za napade protiv nekih drugih računala pretvarajući ih u sudionike raspodijeljenog
napada uskraćivanjem usluge.
Trojanci su zlonamjerni programi koji se predstavljaju kao legitimni programi a u pozadini
izvršavaju zlonamjerni program koji najčešće otvara pozadinska vrata (eng. backdoor) u
računalnom sustavu, dopuštajući napadaču neometan pristup resursima sustava.
Adware je vrsta programa koji je najčešće besplatan za korištenje zbog činjenice da se unutar
programa prikazuju oglasi kojima se proizvođači programa financiraju. Prikazivanje oglasa
unutar programa nije sporno, no proizvođači softvera kao sustave za prikazivanje oglasa
koriste druge programe koji su napisani tako da ciljano prikazuju oglase koristeći podatke o
navikama korisnika koje prikupljaju sa računala na koja su instalirana. Time je narušena
privatnost korisnika računalnih sustava.
4
Spyware je vrsta zlonamjernog programa kojem je jedina namjera prikupljanje statistika o
korištenju programa i radnih navika korisnika koji se potom šalju proizvođačima spyware-a
koji ih iskorištavaju u marketinške svrhe. Spyware programi se koriste raznim tehnikama
kojima prikupljaju podatke kao što su praćenje teksta koji korisnik tipka po tipkovnici ili
pohranjivanje sadržaja ekrana te na taj način mogu prikupiti vrlo povjerljive informacije kao
što su lozinke, brojevi kreditnih kartica, podaci zaštićeni intelektualnim vlasništvom itd.
Prisluškivanje
Prisluškivanje (eng. eavesdropping) je metoda hvatanja mrežnog prometa. Alati koji se koriste
za prisluškivanje nazivaju se snifferi. Neki sofisticiraniji snifferi imaju mogućnost interpretacije
toka paketa kao originalnog podatka koji se prenosi, npr. poruke elektroničke pošte ili običnog
dokumenta. Obično se koriste za prisluškivanje prometa između dva sustava.
U ovisnosti o načinu upotrebe sniffera i sigurnosnih mjera u okolini u kojoj ih koriste, napadači
mogu otkriti povjerljive podatke poput korisničkih imena i lozinki. Većina napadačkih alata
koriste sniffere za dohvaćanje važnih podataka poslanih od strane ciljnog sustava.
Svi protokoli koji ne koriste enkripciju podataka koje prenose ranjivi su na prisluškivanje. Tu
se ubrajaju protokoli kao što su HTTP, POP3, SNMP, te FTP koji se najčešće hvataju snifferima i
koriste za prikupljanje važnih informacija poput lozinki.
S obzirom na aktivnosti sniffera tijekom prisluškivanja razlikujemo dvije osnovne vrste: aktivno i pasivno prisluškivanje. Kod pasivnog prisluškivanja sniffer samo sluša i hvata promet na mrežnom priključku koji mu je dodijeljen. Ova vrsta prisluškivanja korisna je kod mreža spojenih preko obnavljača (eng. hub) jer su paketi poslani preko obnavljača vidljivi na svim računalima spojenima na mrežu.
Slika 1. Pasivno prisluškivanje
5
Aktivno prisluškivanje koristi se na mrežama koje koriste preklopnike (eng. switch) za spajanje
računala. Karakteristika tih mreža je da se paketi poslani preklopniku prosljeđuju samo
odredišnom računalu čime je sigurnost mreže povećana u odnosu na mreže spojene
obnavljačima. Kako bi sniffer ipak vidio promet poslan drugim računalima koriste se tehnike
kao što je ARP trovanje koja je detaljnije opisana u ovom poglavlju. Kod ovih tehnika promet
namijenjen računalima koja se prisluškuju preusmjeruje se na računalo na kojem je
pokrenut sniffer.
Slika 2. Aktivno prisluškivanje
Najučinkovitija zaštita od prisluškivanja je kriptiranje podataka koji putuju mrežom. Iako samo
kriptiranje ne sprječava napadače da prisluškuju promet, podaci koji su dohvaćeni nisu im od
nikakve koristi. Korištenje VPN (eng. Virtual Private Network) tehnologije s enkripcijom
najčešća je praksa u korporativnim okruženjima.
ARP trovanje
ARP (eng. Address Resolution Protocol) je komunikacijski protokol koji djeluje između mrežnog
sloja i sloja podatkovne poveznice u OSI modelu. Koristi se za pretvorbu adresa iz mrežnog
sloja u adrese sloja podatkovne poveznice i obrnuto. Najčešće se radi o pretvorbi IP (eng.
Internet Protocol) adresa s mrežnog sloja u MAC (eng. Media Access Control) adrese na sloju
podatkovne poveznice. IP adrese se koriste za usmjeravanje paketa u mreži, ali kako bi se
paketi dostavili do odredišnog računala potrebno je poznavati i njegovu MAC adresu. ARP
omogućuje dinamičko povezivanje IP adresa s odgovarajućim MAC adresama (i obrnuto) u
jednoj lokalnoj mreži.
Protokol ARP je podložan napadima zbog nedovoljnih provjera primljenih ARP poruka. Naime,
u protokolu nije definiran način provjere valjanosti primljenih ARP poruka što znači da napadač
može poslati ARP poruku s proizvoljnom MAC ili IP adresom koju će napadnuti uređaj prihvatiti
i pohraniti u svoju ARP tablicu. Ovaj postupak se zove ARP trovanje (eng. ARP poisoning).
6
Najčešće napadač veže svoju MAC adresu s nekom IP adresom koju ostali uređaji u lokalnoj
mreži koriste. Na taj način preusmjerava sav promet prema toj IP adresi na svoje računalo.
Slika 3. ARP trovanje
U nekim sustavima protokol ARP je uveden na još nesigurniji način jer uređaji obrađuju ARP
odgovore čak i ako nisu prethodno poslali ARP zahtjev. Napadi temeljeni na ARP trovanju su:
DoS (eng. Denial of Service) napad
Man-in-the-middle (MITM) napad
MAC preplavljivanje (eng. MAC flooding)
Obrana od ARP trovanja
Napadi koji iskorištavaju propust u ARP protokolu predstavljaju veliki problem jer su vrlo
jednostavni za izvesti ukoliko napadač ima pristup lokalnoj mreži. Zbog toga je potrebno svaku
mrežu osigurati od ovakvog oblika napada. Jedan vrlo jednostavan način za obranu je
korištenje statičkih ARP tablica. Ukoliko svako računalo zna parove IP i MAC adresa za sva
računala u svojoj lokalnoj mreži neće postojati potreba za ARP porukama, pa se uređaje može
podesiti da ne primaju ARP poruke. Zbog toga će se odbacivati i zlonamjerne ARP poruke koji
bi inače uzrokovale DoS ili MITM napade. Međutim, ovaj pristup je moguć samo kod malih
mreža jer administrator mreže mora ručno održavati ARP tablice na svakom računalu u mreži.
Kod velikih mreža je to nemoguće za izvesti jer, primjerice, dodavanje jednog novog računala
u mrežu ili promjena IP adrese postojećeg računala zahtijeva ažuriranje ARP tablica u svim
ostalim računalima. Za velike mreže se preporuča korištenje nekog alata za zaštitu poput
ArpOn ili ARPDefender.
7
Preljev spremnika
Preljev spremnika (eng. buffer overflow) predstavlja programsku grešku koja rezultira
prekidom rada programa na način da program u nekom trenutku u polje fiksno određene
duljine želi zapisati podatak koji je veći od veličine polja. Uslijed toga dolazi do prepisivanja
memorijskih lokacija koje nisu namijenjene za smještanje podataka koji se zapisuju u polje.
Takve memorijske lokacije mogu biti rezervirane za neki drugi podatak unutar istog programa
ili za potpuno drugi program kojem je operacijski sustav dodijelio tu memorijsku lokaciju.
Jedan od načina iskorištavanja takvih propusta je izvršavanje malicioznog koda pažljivim
prepisivanjem dodatnih lokacija. Dakle, prelijevanje međuspremnika predstavlja sigurnosni
problem koji iskorištavaju mnogi štetni programi poput virusa, crva, trojanskih konja i sl.
Prelijevanje međuspremnika može se spriječiti provjerom veličine međuspremnika prije
izvršavanja operacije zapisivanja. Algoritam provjere veličine međuspremnika može ručno
ugraditi programer ili automatski prevoditelj koda.
Iskorištavanje propusta na stogu
Većina napada izvedenih pomoću preljeva spremnika funkcionira iskorištavajući dobro poznati
princip rada poziva funkcija sa parametrima unutar programa. Pri pozivu funkcija unutar bilo
kojeg programa koristi se podatkovna struktura nazvana stog. Stog je organiziran na LIFO ili
"zadnji unutra, prvi vani" principu (eng. LIFO - Last In, First Out). Takva organizacija stoga
omogućuje programu da pri pozivu funkcije na njega pohranjuje parametre koji se prenose
funkciji, da pohranjuje povratnu adresu na kojoj program nastavlja izvršavanje nakon
završetka funkcije i da pohranjuje lokalno definirane varijable funkcije. Svakom stogu je
pridijeljena i kazaljka na vrh stoga koja se dinamički mijenja kako se pozivaju funkcije unutar
programa.
Prilikom poziva funkcije, na stog se prvo pohranjuju parametri koji se predaju funkciji, a zatim
se na stog pohranjuje sadržaj instrukcijskog registra u procesoru koji služi kao kazaljka na
instrukciju koja se izvodi nakon trenutne (eng. IR - Instruction Register). Ta se kazaljka na stog
pohranjuje da program, nakon što se izvođenje preusmjeri na funkciju i nakon što ona obavi
svoj posao, može nastaviti na mjestu gdje je izvođenje prekinuto pozivom funkcije. Nakon što
se na stog pohrani vrijednost instrukcijskog registra i nakon što funkcija započne s izvođenjem,
ona na stog pohranjuje svoje lokalne varijable. To je trenutak u kojem napadač može iskoristiti
prije opisanu grešku. Naime, ako se u neku od lokalnih varijabli koja je polje određene duljine,
pokuša zapisati podatak koji je veći od veličine tog polja, zbog organizacije stoga može doći do
prepisivanja sadržaja instrukcijskog registra. Pažljivim biranjem podatka koji će se zapisati na
mjesto na kojem je pohranjen sadržaj instrukcijskog registra napadač može kontrolirati koju
će instrukciju program izvesti nakon što završi izvođenje funkcije. Napad se izvodi tako da se
sadržaj instrukcijskog registra prepiše sa adresom memorijske lokacije na koju je napadač
8
prethodno pohranio nekakav zlonamjerni program koji se dalje izvršava neprimjetno za
korisnika.
Iskorištavanje propusta na hrpi
Prelijevanje međuspremnika na hrpi iskorištava se na drugačiji način nego prelijevanje
međuspremnika na stogu. Aplikacija tijekom izvođenja dinamički alocira spremnik na hrpi (na
koji se obično smještaju programski podaci). Iskorištavanje propusta odvija se korumpiranjem
podataka tako da aplikacija prepiše interne strukture kao što su povezane liste kazaljki. Ova
tehnika napada se može iskoristiti primjerice za programe pisane u C++-u. U C++ programskom
jeziku svaki objekt ima tabelu virtualnih funkcija u kojoj se nalaze zapisi koji pokazuju na
metode tog objekta. Korumpiranjem tabele virtualnih funkcija nekog objekta, moguće je
preuzeti kontrolu nad izvršavanjem metoda. Svaki objektno orijentiran programski jezik radi
na sličan način pa bi se ova tehnika mogla primijeniti i na druge jezike. Problem kod
iskorištavanja propusta na hrpi je to što je teško predvidjeti kako će izgledati poredak objekata
koji su alocirani jer se sama alokacija događa prilikom izvođenja programa. Na kraju se može
zaključiti da su šanse za uspješan napad korištenjem propusta na hrpi puno manje od šansi
izvršenja napada na stogu.
NOP-sled tehnika
NOP-sled je najstarija i najpoznatija tehnika koja se koristi za uspješno iskorištavanje propusta
međuspremnika na stogu. Jedan od većih problema iskorištavanja propusta na stogu je izračun
adrese na koju treba skočiti da bi se izvršio ubačeni kod. Kako bi se dozvolila pogreška u tom
izračunu, ubačeni kod (eng. shellcode) omeđuje se NOP naredbama. Ta naredba je instrukcija
koja u biti ne radi ništa. Čim procesor naiđe na skup tih naredbi poredanih jedna za drugom
on će doslovno “prokliziti“ (eng. sled) kroz njih dok ne dođe do neke instrukcije koja nešto radi,
a u ovom slučaju to je ubačeni kod. NOP naredba (opcode 0x90) je specifična i time lako
prepoznatljiva. Skup takvih naredbi može se lako prepoznati i identificirati što olakšava
detekciju malicioznog koda. Kako bi se taj problem izbjegao izradio se skup i drugih naredbi
koje ne rade ništa i time omogućila funkcionalnost NOP naredbe.
9
Slika 4. Prikaz NOP-sled tehnike
Napadi uskraćivanjem usluge
Napad uskraćivanjem usluge (eng. Denial of Service - DoS) je vrsta napada na računalni sustav
koja se provodi s namjerom da se legitimnim korisnicima računalnog sustava privremeno ili
trajno onemogući pristup resursima tog sustava. Obično su mete takvih napada servisi koji se
puno koriste, kao što su banke, servisi za plaćanje putem Interneta, pa čak i DNS root
poslužitelji. Najčešći pristup provođenju DoS napada je slanje velike količine zahtjeva
računalnom sustavu u vrlo kratkom vremenskom roku. Posljedica toga je da računalni sustav
ne može u nekom normalnom vremenskom okviru odgovoriti na one zahtjeve koje šalju
legitimni korisnici, tako da sustav, gledajući sa strane legitimnog korisnika, postaje
neupotrebljiv.
Do neupotrebljivosti resursa računalnog sustava koji je napadnut DoS napadom najčešće
dolazi zbog dvije stvari:
10
zagušenja strojeva koji su dio napadnutog računalnog sustava, tako da sustav
jednostavno prestaje obrađivati zahtjeve koji mu stalno pristižu, ili
prekida komunikacije između korisnika i računalnih sustava.
Ping zatrpavanje
Ping zatrpavanje (eng. ping flood) jedan je od najosnovnijih DoS napada. Zasniva se na ICMP
(eng. Internet Control Message Protocol) “echo“ naredbi, popularnijeg naziva ping.
U napadu zatrpavanjem ping naredbom šalju se žrtvi velike količine paketa kako bi se izazvalo
preopterećenje. Na većim mrežama ili web stranicama ova vrsta napada općenito je
beskorisna. To je zbog toga što će samo jedno računalo biti zahvaćeno ovim napadom. Ako
bismo željeli napasti grupu računala onda bi taj napad bio DDoS (eng. Distributed Denial of
Service). Najjednostavnija obrana od ovog napada je zatvaranje pristupa ping usluzi.
Ping smrti
Napad ping smrti (engl. PoD – Ping of Death) zasniva se na propustu u implementaciji TCP/IP
protokola. Najveća dopuštena veličina TCP paketa je 65 535 okteta. Ako bi netko poslao paket
veći od te vrijednosti došlo bi do rušenja zbog nepoštivanja pravila TCP/IP protokola.
Slanje ping naredbe ove veličine protivno je pravilima TCP/IP protokola, međutim napadači
mogu ovo izbjeći tako da pošalju pakete u dijelovima. Kada se takav paket sastavi na
odredišnom računalu doći će do izazivanja prelijevanja međuspremnika jer je ukupna veličina
sastavljenog paketa veća od dopuštene veličine. Srećom, većina uređaja proizvedena nakon
1998. godine imuna je na ovu vrstu napada.
Smurf i Fraggle napad
Smurf napad oslanja se na neispravno podešene mreže računala koje dozvoljavaju slanje
paketa na sva računala u mreži putem mrežne adrese za razašiljanje paketa (eng. broadcast
address). Izvršava se tako da napadač prekrije (eng. spoof) IP adresu izvorišta paketa IP
adresom žrtvinog računala, tako da sva računala koja dobiju pakete preko adrese za
razašiljanje odgovaraju meti napada koja postaje zatrpana.
11
Slika 5. Primjer Smurf napada
Fraggle napad isto je što i Smurf napad, samo što koristi UDP (eng. User Datagram Protocol)
umjesto TCP (eng. Transmission Control Protocol) protokola. Kao i smurf napadi, ovi napadi su
zastarjeli i zaustavlja ih većina današnjih sigurnosnih stijena i usmjernika.
Teardrop napad
Teardrop napad izvršava se tako da se šalju paketi s prevelikim podatkovnim dijelom ili s
podatkovnim dijelovima koji se preklapaju u fragmentima nekog paketa. Napad se oslanja na
grešku u funkciji za sastavljanje paketa u raznim operacijskim sustavima.
SYN zatrpavanje
SYN zatrpavanje (eng. SYN flooding) iskorištava „propust“ u načinu rukovanja TCP protokola
(eng. three way handshake) i ova vrsta napada zastupljena je sa 50% svih DoS napada. TCP
konekcija se uspostavlja u 3 stupnja gdje klijent i poslužitelj izmjenjuju poruke za
uspostavljanje konekcije:
1) Komunikacija počinje tako da klijent poslužitelju šalje SYN poruku
2) Kada poslužitelj primi SYN poruku, on rezervira neke od potrebnih resursa za očekivanu
konekciju i šalje klijentu poruku SYN-ACK
3) Klijent završava uspostavu konekcije šaljući ACK poruku
4) Nakon što poslužitelj primi ACK poruku, konekcija je uspješno uspostavljena i klijent i
poslužitelj mogu početi izmjenjivati podatke
SYN zatrpavanje može se izvršiti u trećem koraku three way handshake-a tako da klijent nikada
ne pošalje potvrdu konekcije ACK (eng. acknowledge request). Alocirani resursi poslužitelja na
polu otvorenoj TCP konekciji bit će oslobođeni tek nakon određenog vremena. U današnje
vrijeme propust u ovom dijelu TCP protokola je ispravljen te se ovakav napad može izvršiti
samo na starija računala.
12
Slika 6. Primjer SYN zatrpavanje napada
Distributed Denial of Service – DDoS napad
Ukoliko između napadača i žrtve postoji još niz posrednika, napad prelazi u DDoS. Napadač
prije samog napada „zaposli“ jednog ili više klijenata, zatim klijenti šalju svoj zahtjev na
računala znana kao „master“, koji pak dalje šalju zahtjeve na računala agente (eng. agent) s
kojih se šalju napadi na žrtvu. Svi posrednici pokreću specijalan program koji generira pakete
koji odlaze ka žrtvi.
Ako se u napadu uvede još jedan stupanj tako da računala agenti šalju zahtjeve na računala
koja dalje reflektiraju napad prema žrtvi, napad prelazi u DRDoS (eng. Distributed Reflective
Denial of Service) napad. Kod ovakvog napada, napadač upravlja posrednicima tako da oni
šalju napadački promet do reflektora s podvaljenom IP adresom žrtve, i onda reflektori šalju
dalje promet prema žrtvi uzrokujući DoS. Reflektori su još jedan nivo računala koji povećavaju
količinu prometa. Na taj način reflektori omogućuju napadaču da se uvelike oteža pokušaj
pronalaska izvorišne mreže iz koje je došao napad.
Slika 7. DDoS napad
13
Napadi uzastopnim pokušavanjem
Brute-force napad ili napad uzastopnim pokušavanjem je jednostavna, ali uspješna tehnika
rješavanja problema koja se sastoji od sustavnog pronalaženja svih mogućih kandidata za
rješenje i isprobavanja svakog od njih. Brute-force napad je jednostavan za implementaciju i
često se koristi za probijanje zaporki ili raznih enkripcija, a osim toga, on uvijek i pronalazi
rješenje, ako ono postoji. Međutim, vrijeme i resursi potrebni za rješavanje problema ovom
metodom rastu proporcionalno broju mogućih kandidata za rješenje. Zbog toga se algoritam
napada često optimizira heurističkim dodacima koji bitno umanjuju broj mogućih kandidata.
Općenito, strategija bi trebala biti takva da se kao slijedeći uvijek uzima kandidat za koji je
vjerojatnost rješenja najveća, uzevši pritom u obzir neuspjeh prethodnih pokušaja. Drugim
riječima, ako su rješenja donekle grupirana, svaki novi kandidat treba biti što dalje od
prethodnih ili obrnuto – ako su rješenja distribuirana jednoliko, onda je optimalna strategija
odabira kandidata što bližeg prethodnom.
Napad rječnikom
Napad rječnikom (eng. dictionary attack) je tehnika za probijanje šifri ili autentikacije kod koje
se pokušava pronaći tražena zaporka ili tajni ključ uzastopnim isprobavanjem velikog broja
riječi ili kombinacija riječi. Napad rječnikom je varijacija brute-force napada kod koje je izbor
mogućih kandidata sužen sa skupa svih mogućih kombinacija slova na one kombinacije koje
imaju neko značenje na određenom jeziku. Izbor je logičan jer je veća vjerojatnost da je
zaporka ili ključ neki skup slova koji ima značenje nego neki niz znakova koji korisniku ništa ne
znači i koji mu je zbog toga teško pamtljiv. Riječi za napad rječnikom se uzimaju iz rječnika koji
su dostupni na Internetu i ne predstavljaju potpun rječnik određenog jezika već uključuju veći
ili manji skup najvjerojatnijih riječi, tj. riječi koje se najčešće koriste u zaporkama. Budući da
ljudi pokazuju sklonost odabiru zaporki od 7 ili manje znakova koje su, k tome, još i riječi s
nekim značenjem ili neki predvidivi anagrami / skraćenice ili pak riječi nadopunjene
jednoznamenkastim brojem napadi rječnikom su prilično uspješni. Napadi rječnikom se
uglavnom upotrebljavaju u dvije svrhe:
U kriptografskoj analizi za otkrivanje ključa za dekripciju određenog teksta, ili
Za probijanje autentikacije, tj. otkrivanje zaporke nekog sustava sa svrhom ostvarenja
neovlaštenog pristupa.
Detekcija i zaštita od brute-force napada
Brute-force napadi se obično provode na jedan od slijedeća tri načina:
1. ručnim pokušajima autentikacije uzastopnim unošenjem korisničkih imena i zaporki,
2. napadima rječnikom pomoću automatiziranih skripti i programa koje unose tisuće
raznih kombinacija korisničkih imena i zaporki iz rječničkih datoteka, te
14
3. generiranim korisničkim računima – zlonamjerno oblikovanim programom generiraju
se slučajna korisnička imena i zaporke pomoću kojih se pokušava pristupiti sustavu.
Bilo koji od ovih napada se lako može uočiti pregledom dnevničkih (eng. log) zapisa
računala. Ako u dnevniku postoje zapisi o velikom broju neuspješnih pokušaja
autentikacije onda se vrlo vjerojatno radi o brute-force napadu.
Postoji i nekoliko osnovnih metoda zaštite od ovakvih napada. One uključuju slijedeće korake:
ograničenje broja neuspješnih pokušaja pristupa sustavu,
zabranu pristupa s IP adrese s koje su došli neuspjeli pokušaji pristupa,
redovito traženje zapisa o neuspješnim pokušajima pristupa u dnevničkim zapisima,
zatvaranje korisničkih računa za tzv. "gost" korisnike jer će oni biti prva točka upada za
potencijalne napadače, te
kreiranje samo jednog korisničkog računa s najvišim ovlastima.
Uz to postoje i alati za zaštitu od brute-force napada koji se uglavnom temelje na prethodno
navedenim koracima. Njihova uloga svodi se na automatizaciju opisanih postupaka tj. na
analizu dnevničkih zapisa i onemogućavanje pristupa sustavu s napadajućih IP adresa. Primjeri
takvih alata koji se distribuiraju besplatno su:
APF vatrozid & BFD skripta – zaštita se temelji na analizi dnevničkih zapisa na osnovu
kojih se poduzimaju određene akcije;
LogWatch – alat za praćenje i analizu dnevničkih zapisa koji kreira periodičke izvještaje
o aktivnosti poslužitelja. Izvještaji sadrže podatke o utrošenom diskovnom prostoru,
uspjelim i neuspjelim pokušajima pristupa poslužitelju i slične informacije.
15
Zaključak
Mrežni napadi postaju rastući problem današnjih država, vlada i kompanija javnog i privatnog
sektora. Gubici informacija koje mrežni napadi prouzrokuju mogu u potpunosti uništiti
poslovanje napadnute organizacije te čak ugroziti i državnu sigurnost. Mrežni napade posebno
opasnima čine sposobnost prilagodbe napadača i ustrajnost u napadu na specifičnu metu.
Tehnike i alati kojima se napadači koriste najčešće nisu posebno napredni, no napadači prema
potrebi mogu sami proizvesti vrlo učinkovite alate da bi došli do željenih informacija. Pošto se
u početnim stadijima napada napadači vrlo često oslanjaju na socijalni inženjering, vrlo važnu
ulogu u sprječavanju gubitka informacija ima edukacija svih korisnika, poticanje istih na oprez,
uvođenje posebnih ograničenja i održavanje stalne komunikacije u svrhu dobivanja povratnih
informacija od korisnika sustava.
U središtu svakog mrežnog napada nalazi se mogućnost udaljenog upravljanja. Napadači se
oslanjaju na te mogućnosti u svrhu pronalaženja specifičnih računala unutar ciljne
organizacije, iskorištavanja propusta, upravljanja sustavima i dobivanja stalnog pristupa
osjetljivim informacijama. Jednom kad je ta veza onemogućena i napad može biti prekinut.
Iako zlonamjerni programi mogu ostati prikriveni, mrežni je promet povezan s napadačima
mnogo lakše otkriti specijaliziranim alatima. Unatoč tome, hakerske skupine uspijevaju
pronaći nove metode dobivanja pristupa računalnim i mrežnim sustavima. Ovo područje
ostaje stalno bojno polje sigurnosnih timova organizacija pod napadom i APT skupina.
Budućnost će donijeti nove mogućnosti napada i otkrivanja informacija, ali i nove metode
zaštite sustava. Važno je poduzeti sve moguće osnovne mjere zaštite u svrhu sprječavanja
takve vrste napada.
16
Literatura
[1] Binde B. E., McRee R., O’Connor T. J.; Assessing Outbound Traffic to Uncover Advanced
Persistent Threat; svibanj 2011.
[2] Li, F.; A Detailed Analysis of an Advanced Persistent Threat Malware; listopad 2011.
[3] Corey Nachreiner: Anatomy of an ARP Poisoning Attack; listopad 2011.
[4] https://en.wikipedia.org/wiki/ARP_spoofing
[5] https://en.wikipedia.org/wiki/Address_Resolution_Protocol
[6] M. Matijević; Mrežni napadi, metode osobne zaštite i zaštite podataka u poduzećima; rujan
2015.
[7] D. Ravnić; Otkrivanje i zaštita od napada u mrežnim sigurnosnim sustavima; siječanj 2008.
[8] E. Modrić; Sigurnosni sustavi za otkrivanje napada; lipanj 2008.
[9] R.Beggs; Mastering Kali Linux for Advanced Penetration Testing;