sveučilište u zagrebu fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup...

19
Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Seminarski rad Mrežni napadi Ante Grgat

Upload: others

Post on 08-Sep-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

Sveučilište u Zagrebu

Fakultet elektrotehnike i računarstva

Seminarski rad

Mrežni napadi

Ante Grgat

Page 2: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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

Page 3: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng
Page 4: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 5: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 6: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 7: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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

Page 8: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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).

Page 9: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 10: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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č

Page 11: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 12: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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:

Page 13: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 14: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 15: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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

Page 16: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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

Page 17: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 18: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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.

Page 19: Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva · napadi koji onemogućuju pristup (eng. access attacks) i DoS (eng. Denial of Service) napadi. Napadi izviđanja (eng

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;