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

Similar documents
Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

Podešavanje za eduroam ios

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

SAS On Demand. Video: Upute za registraciju:

Brute force napadi CCERT-PUBDOC

Zaštita ranjivosti mreže od DoS napada

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

Windows Easy Transfer

1. Instalacija programske podrške

Port Community System

PROJEKTNI PRORAČUN 1

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

Upute za korištenje makronaredbi gml2dwg i gml2dgn

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

BENCHMARKING HOSTELA

Tutorijal za Štefice za upload slika na forum.

3. Obavljanje ulazno-izlaznih operacija, prekidni rad

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

Mindomo online aplikacija za izradu umnih mapa

Rainbows tablice CCERT-PUBDOC

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Uvod u relacione baze podataka

KONFIGURIRANJE VATROZIDA U LOKALNIM RAČUNALNIM MREŽAMA

Kooperativna meteorološka stanica za cestovni promet

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

Zero day ranjivosti NCERT-PUBDOC

LS&S, - laboratorij za sustave i signale pri Zavodu za

Office 365, upute za korištenje elektroničke pošte

STRUKTURNO KABLIRANJE

ZAVOD ZA AUTOMATIKU I PROCESNO RAČUNARSTVO FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SVEUČILIŠTE U ZAGREBU HTTP PROTOKOL OTVORENO RAČUNARSTVO

WELLNESS & SPA YOUR SERENITY IS OUR PRIORITY. VAŠ MIR JE NAŠ PRIORITET!

Nejednakosti s faktorijelima

Phishing napadi CCERT-PUBDOC

MREŽNI SLOJ INTERNETA

Raspodijeljeni sustav za pohranu i dohvat podataka

Osnove privatnosti na Internetu NCERT-PUBDOC

Otpremanje video snimka na YouTube

SIGURNOST WEB APLIKACIJA

ANALIZA METODA DODJELE KAPACITETA U VIŠEUSLUŽNIM MREŽAMA I UTJECAJ NA KVALITETU USLUGE

Osmišljavanje računalnog oblaka

RASPODIJELJENI SUSTAV ZA UPRAVLJANJE DOMENSKIM NAZIVIMA TEMELJEN NA MREŽI RAVNOPRAVNIH ČVOROVA

Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

Upravljanje kvalitetom usluga. doc.dr.sc. Ines Dužević

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

SVEUČILIŠTE U ZAGREBU FAKULTET STROJARSTVA I BRODOGRADNJE DIPLOMSKI RAD. Mario Mandir. Zagreb, 2015 godina.

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

Analiza mogućnosti povezivanja alata OSSIM s alatima za strojno učenje i statističku analizu

Advertising on the Web

11 Analiza i dizajn informacionih sistema

APLIKACIJA ZA PRIKAZ REZULTATA ANALIZE MREŽNOG SAOBRAĆAJA

Sveučilište Jurja Dobrile u Puli Fakultet ekonomije i turizma «Dr. Mijo Mirković» JAN PETROVIĆ DIGITALNI IDENTITET. Diplomski rad

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

SIGURNOST APLIKACIJA I STRANICA IZRAĐENIH U PHP-U

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

Bušilice nove generacije. ImpactDrill

DNSSEC NCERT-PUBDOC

STRUČNA PRAKSA B-PRO TEMA 13

Access number Pristupni broj: Telefonski broj kojim pretplatnik ostvaruje vezu s cvorom veze.

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Iskustva video konferencija u školskim projektima

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

VIŠEKORISNIČKA IGRA POGAĐANJA ZA OPERACIJSKI SUSTAV ANDROID

Otkrivanje zlonamjernih programa koji mijenjaju sustavske podatke i procese

Programiranje za Internet

Sedam it Sigurnosna rješenja. Napredna rješenja za vrhunsku it sigurnost

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports.

PE FORMAT (.EXE,.DLL)

Fizička zaštita informacijskih sustava

Sadržaj 1 UVOD KRATKI PREGLED VAŽNIJIH OPERACIJSKIH SUSTAVA SYMBIAN... 3

DANI BRANIMIRA GUŠICA - novi prilozi poznavanju prirodoslovlja otoka Mljeta. Hotel ODISEJ, POMENA, otok Mljet, listopad 2010.

EKSPLORATIVNA ANALIZA PODATAKA IZ SUSTAVA ZA ISPORUKU OGLASA

LS&S, - laboratorij za sustave i signale pri Zavodu za

ONLINE APLIKACIJA ZA SLANJE OBAVIJESTI U PREDDEFINIRANO VRIJEME

Mogudnosti za prilagođavanje

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU STRUČNI STUDIJ RAČUNARSTVA SMJER: MREŽNO INŽENJERSTVO MATKO MARTEK MREŽNA KONFIGURACIJA I PROTOKOLI ZA POVEZIVANJE

Proširiv autentifikacijski protokol

Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku. Sveučilišni preddiplomski studij matematike. Dino Turopoli. SSH protokol.

Informacijski sustav primarne zdravstvene zaštite Republike Hrvatske

DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO DOO PODGORICA

POSTUPCI RASPOREĐIVANJA ZADATAKA U SUSTAVIMA S JEDNIM I VIŠE POSLUŽITELJA

Upute za VDSL modem Innbox F60 FTTH

MEĐIMURSKO VELEUČILIŠTE U ČAKOVCU RAČUNARSTVO ROBERT PRAŠNIČKI

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima

Udaljeno upravljanje tablet računalima za edukaciju

Wired Equivalent Privacy

Naredba je uputa računalu za obavljanje određene operacije.

Usporedba sigurnosnih rizika poslužitelja Apache i IIS CCERT-PUBDOC

- je mreža koja služi za posluživanje prometa između centrala

SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI RAČUNALSTVO. Edouard Ivanjko, Mario Muštra. Zagreb, 2016.

Implementacija sparsnih matrica upotrebom listi u programskom jeziku C

ANALIZA PRIKUPLJENIH PODATAKA O KVALITETU ZRAKA NA PODRUČJU OPĆINE LUKAVAC ( ZA PERIOD OD DO GOD.)

Transcription:

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

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

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

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

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 4

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

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

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č 7

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

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: 9

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

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

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 12

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 13

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

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

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; 16