SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

 

 

 

 

 

 

 

 

 

DIPLOMSKI RAD br. 1775

 

Sustavi za otkrivanje napada

Nikolina Pavković

0036405479

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zagreb, rujan, 2008.


Sadržaj

 

Sažetak. 4

Abstract 4

1. Uvod. 5

2. Sigurnost računalnih sustava. 7

2.1. Vrste napada. 7

2.2. Sigurnosni zahtjevi i ponuđena rješenja. 8

2.3. Sigurnosne prijetnje. 9

2.3.1. Programske ranjivosti 9

2.3.2. Zlonamjerni programi 10

2.3.3. Socijalni inženjering. 11

3. Što je sustav za otkrivanje napada?. 13

3.1. Sustav za otkrivanje napada i sigurnosna stijena. 13

3.2. Svojstva dobrog sustava za otkrivanje napada. 14

3.3. Zašto je poželjno koristiti detekciju upada u sustav?. 14

3.4. Gdje bi sustav za detekciju napada trebao biti smješten u mrežnoj topologiji?. 15

3.5. Funkcionalne komponente sustava za otkrivanje napada. 18

3.6. Prednosti i ograničenja sustava za otkrivanje napada. 19

3.6.1. Dobre strane sustava za otkrivanje napada. 19

3.6.2. Ograničenja sustava za otkrivanje napada. 19

4. Podjela sustava za otkrivanje napada. 20

4.1. Kontrolna strategija. 20

4.2. Informacijski izvori 21

4.2.1. Mrežno zasnivani sustav za otkrivanje napada. 21

4.2.2. Sustav za otkrivanje napada na računalu. 22

4.2.3. Sustav za otkrivanje napada zasnovan na programskoj podršci 23

4.3. Analiza. 24

4.3.1. Detekcija zloupotrebe. 24

4.3.2. Otkrivanje nepravilnosti 25

4.4. Reakcija. 26

4.4.1. Aktivni odgovori 26

4.4.2. Pasivni odgovori 27

4.4.3. Izvještavanje i sposobnost arhiviranja. 27

5. Alati koji se koriste za otkrivanje napada. 28

5.1. Alati kojima je glavna zadaća otkrivanje napada. 28

5.2. Nadopuna sustava za otkrivanje napada. 29

5.2.1. Analiza ranjivosti sustava. 30

5.2.2. Alat za provjeru integriteta datoteka. 31

5.2.3. Sustavi za privlačenje napadača. 32

5.2.4. Padded Cell 32

5.3. Ostali alati 33

6. Programsko rješenje OSSEC HIDS.. 34

6.1. Funkcije OSSEC HIDS alata. 35

6.1.1. Analiza zapisa. 35

6.1.2. Provjera integriteta datoteka. 37

6.1.3. Detekcija rootkit-a. 38

6.1.4. Alarmiranje u stvarnom vremenu. 39

6.1.5. Aktivni odgovori 40

6.2. Instalacija OSSEC HIDS-a. 41

6.3. Konfiguriranje OSSEC HIDS-a. 45

7. Sustav za otkrivanje napada NetPatrol 50

7.1. Mogućnosti NetPatrol alata. 51

7.1.1. Analiza mrežnog prometa i detekcija poznatih napada. 52

7.1.2. Qbik Portlist alat 52

7.1.3. NetPatrol senzori 53

7.1.4. Alarmiranje u stvarnom vremenu. 53

7.1.5. Aktivni odgovori 54

7.1.6. Grafičko sučelje. 54

7.2. Instalacija NetPatrol sustava za otkrivanje napada. 55

7.3. Konfiguracija NetPatrol sustava za otkrivanje napada. 58

7.3.1. Konfiguracija sustava. 58

7.3.2. Konfiguracija modula. 59

7.3.3. Konfiguracija obavijesti i razine osjetljivosti 60

8. Ispitivanje sustava za otkrivanje napada. 61

8.1. Alati korišteni za testiranje sustava za detekciju napada. 61

8.1.1. Nikto. 61

8.1.2. Wikto. 63

8.1.3. Nmap. 64

8.2. OSSEC HIDS - Skeniranje Web poslužitelja. 65

8.2.1. Lokalno skeniranje. 66

8.2.2. Skeniranje s drugog računala. 67

8.3. OSSEC HIDS - Skeniranje pristupa. 68

8.3.1. Lokalno skeniranje pristupa. 68

8.3.2. Skeniranje pristupa s drugog računala. 69

8.4. NetPatrol – Skeniranje Web servera. 70

8.4.1. Lokalno skeniranje. 70

8.4.2. Skeniranje s drugog računala. 71

8.5. NetPatrol – Skeniranje pristupa. 71

8.5.1. Lokalno skeniranje pristupa. 71

8.5.2. Skeniranje pristupa s drugog računala. 72

8.6. Usporedba obrađenih sustava za otkrivanje napada. 73

9. Zaključak. 75

Literatura. 76

Dodatak A. Konfiguracijska datoteka. 77

 


Sažetak

 

 

Mrežna sigurnost je značajan dio informacijske sigurnosti. Uz neophodne sigurnosne alate, poput sigurnosne stijene i anti-virusnog programa, sve se više spominju i sustavi za detekciju napada. Sustavi za otkrivanje napada nadziru računalo ili mrežu s ciljem otkrivanja sumnjivih aktivnosti. OSSEC HIDS je besplatan, host zasnivani alat za otkrivanje napada, dok je NetPatrol komercijalni, mrežno zasnivani sustav. Alati koriste različite informacijske izvore za analiziranje događaja u računalnom sustavu, zbog čega su u mogućnosti detektirati različite skupine napada.

 

 

 

Abstract

 

 

Network security is the most important part of information security. Beside essential security tools, like firewalls and antivirus programms, Intrusion Detection Systems (IDS) gain more and more attention. Intrusion detection systems monitor host or network, trying to detect suspicious activity. OSSEC HIDS is free, host-based IDS, whereas NetPatrol is commercial, network based system. These tools use different information sources for analyzing events in computer systems, so they can detect different groups of attacks.

 

 


1. Uvod

 

 

Informacije su vjerojatno najvrjednija imovina današnjih poduzeća i vlada. Stoga ne čudi pažnja koja se posvećuje njihovoj zaštiti. Računalni podaci, marketinške strategije, porezi, osobni zapisi, vojne strategije, financijski podaci i poslovni planovi su samo neki od niza pojmova koji se kriju iza riječi informacija.

 

Gubitak informacija se najčešće odražava kao financijski gubitak. Isto tako, posjedovanje veće količine informacija od konkurencije može garantirati opstanak. Ukoliko je riječ o ratu, veća količina informacija donosi ne samo prednost nego i kontrolu nad daljnjim događajima. Budući se većina odluka donosi na osnovu raspoloživih informacija, njihov integritet mora biti zajamčen. Upravo iz tih razloga se razvojem računalnih sustava razvija i informacijska sigurnost. Pod informacijskom sigurnosti se podrazumijeva provođenje skupa nužnih mjera u svrhu nadzora i zaštite povjerljivih informacija. Za postizanje sigurnosti informacija potrebno se pridržavati nekih pravila. Svaka raspodjela informacija mora se provoditi na siguran način. Svi pojedinci koji imaju pristup kritičnim informacijama moraju se educirati. Informacije je nužno klasificirati i razgraničiti na različite sigurnosne nivoe. Naposljetku, potrebnu ih je nadzirati i pratiti konzistentno i kontinuirano za sve vrijeme njihovog postojanja.

 

Mrežna sigurnost jest najznačajniji dio informacijske sigurnosti. Naime upravo kroz mrežu vrebaju najveće opasnosti. "Mrežna sigurnost se odnosi na sve funkcije, značajke, operacijske procedure, sigurnosne mjere, kontrole te politike, potrebne za postizanje prihvatljivog nivoa zaštite za sklopovsku i programsku podršku te informacije u mreži." [1].

 

Ideja o mrežnoj sigurnosti sazrijeva krajem 60-tih i početkom 70-tih godina prošlog stoljeća, potaknuta otkrićem prijevare jednog programera u financijskom odsjeku jedne velike tvrtke. Naime, njemu je pošlo za rukom prebaciti novac, koji se zbog zaokruživanja gubio pri novčanim transferima, na poseban račun. Iako se o mrežnoj sigurnosti počelo pričati, ona se u to vrijeme većim dijelom vezala uz interne probleme pojedinih organizacija. Naime, to je bilo vrijeme nastajanja Interneta, u kojem su sretnici s mrežnim pristupom težili otkrivanju, a ne uništavanju. 80-te donose osobna računala i lokalne mreže, a s njima i sve veći broj sigurnosnih prijetnji. Internet virus koji je lansiran u jesen 1988. onesposobio je 60.000 računala povezanih na Internet na dva cijela dana. To je bacilo novo svijetlo na stanje mrežne sigurnosti i osiguralo promjenu načina razmišljanja. U narednim desetljećima cjelokupna tehnologija i broj korisnika računalnih sustava rastu, a s njima i količina sigurnosnih prijetnji. Upravo zato ne čudi podatak da je danas upravo sigurnost top tema u računalnom svijetu.


Niti jedna ozbiljnija tvrtka danas ne može opstati bez sigurnosnog administratora i jasne sigurnosne politike. Na žalost, prijetnje koje dolaze kroz mrežu i ostvaruju se kroz različite oblike napada nisu njihova jedina briga. Naime prijetnje dolaze i od strane zaposlenika. Nedovoljna educiranost ili sama sklonost destruktivnom ponašanju također su prijetnja sustavu i informacijama koje su na njima. Upravo je iz tog razloga potrebno imati jasnu sigurnosnu politiku koja će definirati dopuštene radnje te kroz sigurnosne nadzorne alate u samom začetku spriječiti delikventno ponašanje.

 

Osim tvrtki, opasnosti su svjesni i "obični kućni" korisnici. Oni možda ne brinu o zaštiti nekih kritičnih informacija, ali im je u interesu očuvati ispravnu funkcionalnost svoj računala.

 

Upravo zbog navedenih razloga ne čudi činjenica da su uz operacijski sustav, za računala postali neophodni i brojni sigurnosni alati, poput sigurnosne stijene (firewall) i dobrog anti-virusnog programa. Korak više su sustavi za detekciju napada (IDS). Područje mrežne sigurnosti je vrlo široko i složeno, zbog čega ne postoji idealan multifunkcionalan alat, koji bi se odupro svim prijetnjama. Međutim, kombinacija spomenutih alata daje i više nego dobre rezultate.

 


2. Sigurnost računalnih sustava

 

 

Danas je svaki računalni sustav ugrožen, neovisno o vrsti i količini informacija koje sadrži. Ciljevi napada i ranjivosti, koje iskorištavaju, toliko su raznoliki da više nije upitno treba li sustav štiti nego koliko je jaka sigurnosna arhitektura potrebna.

 

 

2.1. Vrste napada

 

 

Ovisno o načinu narušavanja sigurnosti prijenosa informacija, razlikuju se sljedeći tipovi napada:

 

  1. Prisluškivanje - oblik pasivnog napada u kojem napadač prikuplja i one pakete/informacije koje nisu namijenjene njemu. Na taj način se ugrožava tajnost informacija no ne i njen integritet. Do primatelja će doći ispravna poruka, no on neće biti svjestan da je sadržaj te poruke podijelio s napadačem.
  2. Prekidanje - oblik aktivnog napada gdje napadač onemogućuje isporučivanje informacije do krajnjeg primatelja. Jednostavnim prekidom komunikacijskog kanala između pošiljatelja poruke i primatelja, napadač će spriječiti njeno dostavljanje i time narušiti svojstvo raspoloživosti informacije.
  3. Lažno predstavljanje - oblik napada u kojem napadač prikriva svoj pravi identitet lažno se predstavljajući kao neki drugi korisnik.
  4. Izmišljanje poruka - napadač se lažno predstavlja kao pošiljatelj kojem primatelj vjeruje, šaljući pritom izmišljene ili stare, prethodno prikupljene, poruke. Napad, koji između ostalog narušava integritet informacija, je uvijek opasan, posebno ako se on ne otkrije, a napadač dobro odglumi pošiljatelja kojem se vjeruje.
  5. Promjena sadržaja poruka - oblik aktivnog napada, koji kombinira tri prethodno opisane vrste napada. Napadač prvo prekida komunikacijski kanal u cilju presretanja poruke, potom joj mijenja sadržaj te ju prosljeđuje do primatelja, lažno se predstavljajući kao izvorni pošiljatelj.
  6. Poricanje – kao što i samo ime daje naslutiti, korisnik/napadač poriče autorstvo poruke koju je poslao. Ova vrsta napada se temelji na činjenici (ali i bojazni) da se bilo tko može lažno predstaviti i poslati poruku bilo kakvog sadržaja. Ovaj na oko bezazleni napad ostavlja korisniku mogućnost predomišljanja i izbjegavanja odgovornosti za svoje postupke.

 


2.2. Sigurnosni zahtjevi i ponuđena rješenja

 

 

Spomenute tehnike napada koriste slabe toče komunikacijskog kanala. U želji da se računalni sustav zaštiti, a razina sigurnosti komunikacije podigne na jedan viši nivo, postavljeni su neki sigurnosni zahtjevi. Njihovim ispunjavanjem neki sasvim novi elementi, postaju sastavni dijelovi komunikacije računalnih sustava.

 

Razmotrimo redom te zahtjeve:

 

  1. Povjerljivost (tajnost) – zahtjev za tajnošću informacija je intuitivno jasan. Samo ovlašteni korisnici smiju imati pristup tim informacijama. Između ostalog, ovom mjerom se žele suzbiti napadi prisluškivanjem.
  2. Raspoloživost – ovlaštene osobe bi uvijek trebale imati mogućnost pristupa željenim informacija, bez obzira na različite vanjske okolnosti (npr. nestanak struje..) i zlonamjerne napade (npr. napad prekidanjem).
  3. Besprijekornost (integritet) – potrebno je osigurati ispravnost svih informacija koje se nalaze pohranjene u sustavu ili sudjeluju u komunikaciji s drugim sustavom. Želi se izbjeći mogućnost neprimijećenog provođenja napada promjene sadržaja poruke.
  4. Autentičnost – zahtjev za mogućnošću jednoznačne identifikacije svakog ovlaštenog korisnika. Cilj zahtjev je onemogućiti lažno predstavljanje.
  5. Autorizacija – zahtjev za mogućnošću definiranja dodatnih prava pristupa određenim sredstvima/informacijama. Ovim zahtjevom se pokušava doskočiti napadu prisluškivanjem.
  6. Neporecivost – zahtjev je nastao kao odgovor na napad poricanjem. Ideja je onemogućiti opovrgavanje slanja poruka, koje je korisnik prethodno poslao.

 

Zahtjev raspoloživosti se u najvećoj mjeri rješava, podizanjem fizičke sigurnosti sustava na kojem su informacije pohranjene. Nadalje, pokazalo se da se svi ostali zahtjevi komunikacije računalnih sustava u mrežnom okruženju mogu zadovoljiti, uvođenjem samo jednog zaštitnog mehanizma - kriptiranja sadržaja. Primjerice, komuniciranje korištenjem digitalnog pečata će u prvom redu jamčiti tajnost, integritet i autentičnost poruke, dok će posredno i ostali zahtjevi biti zadovoljeni.

 

Nije za svaki oblik komunikacije nužno zadovoljiti sve navedene zahtjeve. Ukoliko na primjer šef šalje javnu obavijest svim svojim zaposlenicima, neće nužno biti važna tajnost sadržaja, koliko će biti bitno osigurati autentičnost i integritet te obavijesti.

 


2.3. Sigurnosne prijetnje

 

 

Glavni razlog sveopćeg zanimanja za računalnu sigurnost, proizlazi vjerojatno iz ogromnog broja prijetnji koje vrebaju računalne sustave. Gotovo svaki legitimni alat se danas može (zlo)uporabiti za provođenje nekog oblika napada.

 

Glavni sigurnosni problemi se mogu podijeliti u tri skupine:

·        programske ranjivosti,

·        zlonamjerni programi i

·        socijalni inženjering.

 

 

2.3.1. Programske ranjivosti

 

Programske ranjivosti predstavljaju nedosljednosti i greške u programskoj podršci. Mnogi su uzroci tome: pritisci vremenskih rokova i želje za konkurentnošću, nedovoljno kvalitetna konfiguracija programske podrške i slično. U vrijeme u kojem milijuni korisnika rabe tisuće alata, od kojih svaki sadrži tisuće i tisuće linija koda, jednostavno ne može čuditi potkradanje "pokoje" greške.

 

Proizvođačima se često ne isplati gubiti vrijeme na dugotrajno i detaljno testiranje programskih rješenja. Jednostavnije im je plasirati proizvod i čekati da im sami korisnici prijave greške. Periodičkim objavljivanjem zakrpa za pojedini sustav se poznate greške otklanjaju, a sustavi štite.

 

Iako se tako na prvi pogled ne čini, ispravljanje grešaka u kodu je prilično zahtjevan posao. Tome svjedoči i izjava Wietse Venema: "Veći dio truda u poslovanju s programskom podrškom se troši na održavanje koda koji već postoji.". Wietse Venema je nizozemski programer najpoznatiji po kreiranju Postfix sustava elektroničke pošte.

 

Glavni problem postojanja grešaka u kodu, jest taj što te greške zlonamjernici koriste za napad na sustav. Ovisno o tipu greške, šteta prouzročena napadom će imati različite razmjere. Kako ne postoji savršena programska podrška, svaki sustav je izložen sigurnosnom riziku. Sigurnosne zakrpe nisu dovoljno rješenje. Naime, činjenica je da svi korisnici ne nadograđuje redovito svoje sustave. S druge strane nisu potpuno sigurni ni oni osviješteni, koji  redovito provode nadogradnju, jer su neizbježno izloženi napadima u vremenu između otkrivanja ranjivosti i izdavanja zakrpe.

 


2.3.2. Zlonamjerni programi

 

U zlonamjernu programska podršku spadaju programski odsječci ili cijeli programi čija glavna namjena je nanošenje štete računalnom sustavu. U ovu skupinu spadaju virusi, crvi, trojani, rootkit-i, exploit kod. Najčešći su virusi i crvi, potom slijedi različiti oblici trojana, i tek onda svi ostali.

 

Virusi su odsječci programskog koda koji se dodaju u neke postojeće programe. Tek pokretanjem tih programa, virusi postaju aktivni, a računalo zaraženo. Šire se tako da nakon aktivacije zaraze i druge datoteke na zaraženom računalom. Prenošenjem zaražene datoteke, prenosi se i virus.

 

Crvi su nasuprot toga samostalni programi, koji koriste ranjivosti informacijskog sustava za štetno djelovanje i širenje od čvora do čvora. Najveća opasnost leži u njihovoj mogućnosti širenja. Primjerice, na zaraženom se računalu, crv može višestruko replicirati i onda poslati sve svoje kopije na sve pronađene adrese elektroničke pošte. Na taj način crv može zauzeti veliku količinu memorije ili mrežnih resursa, što direktno može uzrokovati prestanak rada sustava (DoS -Denial of Service).

 

Trojanac izgleda kao regularan i koristan program iz nekog sasvim legitimnog izvora. Korisnik ga ništa ne sluteći instalira i time zarazi računalo. Jednom instalirani trojanac može obavljati mnoge neželjene, u većoj ili manjoj mjeri štetne, akcije. Za razliku od virusa i crva, ne šire se zaraženim datotekama niti se samostalno repliciraju.

 

Rootkit je program čija je namjena tajno preuzimanje kontrole operacijskog sustava, izbjegavajući pritom interakciju sa samim sustavom na kojem je instaliran. Rootkit može skrivati usluge, procese, pristupe (port), datoteke, direktorije te ključeve registara od ostatka operacijskog sustava i korisnika.

 

Exploit je kod koji iskorištava neku programsku ranjivosti sustava s ciljem uzrokovanja neočekivanog/neželjenog ponašanja sustava i/ili preuzimanja kontrole nad istim.

 

Zaštita od ovakvog zloćudnog koda ostvaruje se uporabom sigurnosnih alata, poput sigurnosnih stijena, anti-virusnih programa i IDS-a. Sigurnosne stijene su tu da kontroliraju koji paketi dolaze u sustav i unaprijed blokiraju sumnjive, anti-virusni programi detektiraju i uklanjaju viruse, crve i trojance, dok IDS alati nadziru sustav, detektiraju napade i bilo kakve oblike sumnjivog ponašanja.


2.3.3. Socijalni inženjering

 

Socijalni inženjering predstavlja skup vještina putem kojih se nagovara korisnika na ispunjavanje zahtjeva napadača. Nažalost, pokazalo se da su upravo korisnici sustava ujedno i njegova najslabija karika, zbog čega je ovo vrlo efikasna metoda ostvarivanja neovlaštenog pristupa računalima.

 

Najjednostavniji tip napada izvodi se upravo putem telefona. Dovoljno je nazvati korisnika, predstaviti se kao netko koga taj korisnik poštuje, uvjerljivo ispričati izmišljenu priču i zatražiti informaciju. Pokazalo se da je ovo vrlo jednostavan način prikupljanja tajnih informacija. Slijedi jedan tipičan primjer. Korisnik se javlja na telefon, nakon čega mu se osoba s druge strane linije predstavlja kao IT administrator. Navodno se pojavio neki problem/testiranje je u tijeku/nešto drugo, te mu treba korisnikova lozinka. U poražavajuće velikom broju slučajeva, ti će korisnici bez imalo sumnje odati svoju lozinku nepoznatoj osobi preko telefona. Rješenje ovog problema leži educiranju korisnika i podizanju razine svijesti o sigurnosnim prijetnjama i tajnosti podataka. Clifford Stoll je jednom lijepo rekao: "Tretirajte svoju lozinku kao četkicu za zube. Ne dopustite da ju itko drugi koristi, i nabavite novu svakih šest mjeseci."

 

Spam, hoax i phishing su neke tehnike socijalnog inženjerstva. Spam je naziv za neželjenu poštu koja zatrpava korisnikov spremnik dolazeće pošte. Sadržaj neželjene pošte je raznolik, često sadrži reklame i lažne linkove. Korisnik se od primanja spam poruka može zaštiti, tako da ne objavljuje javno svoju e-mail adresu, ne slijedi linkove u spam porukama, ne preplaćuje se na mailing-liste za primanje obavijesti o novim proizvodima, te koristi anti-spam filter u svom pregledniku elektroničke pošte.

 

Hoax je poruka elektroničke pošte neistinitog sadržaja. Njen glavni cilj je zastrašivanje ili dezinformiranje primatelja, te prosljeđivanje te poruke na što veći broj adresa. Često ih korisnici doista i prosljeđuju, jer su uvjereni da time pomažu drugima. Vjerojatno najpoznatiji primjeri hoax-a su razni lanci sreće i zarade, upozorenja o štetnim programima, te lažni zahtjevi za pomoć.

 

Nakon pregleda nešto bezazlenijih tehnika slijedi jedan ozbiljniji oblik socijalnog inženjeringa –phishing. Riječ je o rasprostranjenom obliku prijevare na Internetu. Korisnik se susreće s lažnom e-mail porukom ili čak cijelom web stranicom koje izgledom jako nalikuju originalima. Njihova glavna namjena jest prijevarom doći do osobnih i povjerljivih korisničkih informacija. Korisnik tako može biti uvjeren da je pristupio npr. službenoj Facebook stranici. U želji za logiranjem ukucava svoje podatke, ni ne sluteći pritom da je upravo svoj profil učinio dostupnim i napadaču. Ovo je jednostavniji i bezazleniji primjer phishing-a. Ozbiljnija varijanta po korisnika bi bila da je na nekoj od lažnih stranica ostavio npr. detalje svoje kreditne kartice.

 

Slika 2.1. E-mail phishing

 

Slika 2.1 prikazuje primjer e-mail phishing-a. Kako bi poruka elektroničke pošte izgledala što uvjerljivije, umjetnici u varanju prilažu link za koji se čini da vodi do legitimne web stranice (1). U slučaju phishing-a taj link vodi do lažne stranice (2) koja obično izgleda točno kao i službena.

 


3. Što je sustav za otkrivanje napada?

 

Detekcija upada u sustav je proces praćenja događaja u računalnom sustavu i/ili mreži i analiziranja istih u svrhu pronalaženja znakova upada. Upade (intrusions) možemo definirati kao pokušaj kompromitiranja povjerljivosti, integriteta, dostupnosti te zaobilaženja sigurnosnih mehanizama računala ili mreže. Ne uzrokuju ih samo, kako bi se na prvi mah zaključilo, napadači koji pristupaju sustavu putem Interneta, već i autorizirani korisnici sustava koji pokušavaju ili priskrbiti dodatne povlastice ili zloupotrijebiti povlastice koje već posjeduju.

 

Detekcija upada u sustav ostvarena je pomoću programske ili sklopovske podrške. Oni automatiziraju proces nadgledanja i analiziranja svih radnji koje se odvijaju unutar našeg računala ili mreže,  kako bi se otkrili znakovi sigurnosnih problema. Kako se povećavao broj i učestalost napada sustava kroz mrežu, tako je detekcija upada u sustav vremenom dobivala sve više na značaju. Ne čudi stoga činjenica da se IDS danas smatra jednim od nužnih dodataka sigurnosnoj infrastrukturi većine organizacija. No treba još jednom naglasiti da IDS kao takav nije sveobuhvatno sigurnosno riješene. Ono je samo jedan dio sigurnosne strategije, koji pridonosi podizanju sigurnosti našeg sustava na viši nivo.

 

 

3.1. Sustav za otkrivanje napada i sigurnosna stijena

 

 

Iako i sigurnosnu stijenu i IDS možemo po funkciji smjestiti u područje mrežne sigurnosti, oni se značajno razlikuju. Naime IDS konstantno osluškuje sustav tražeći znakove napada (bilo da oni dolaze izvana bilo da izviru u samom sustava) te u trenutku kada uoči sumnjivu aktivnost to i signalizira. S druge strane, sigurnosna stijena ''samo'' ograničava pristup između mreža.

 

Mnogi IDS-ovi imaju mogućnost povezivanja aktivnosti uočenih u nekom vremenu i slanja obavijesti osoblju o napadu u tijeku. Nasuprot tome sigurnosna stijena obično reagira na svaki paket pojedinačno i u principu ne ''razmišlja'' o onome što je bilo ranije.

 

Može se zaključiti da sigurnosna stijena i IDS igraju različite uloge u sigurnosnoj infrastrukturi, i ne isključuju jedan drugog. Sigurnosne stijene u biti predstavljaju prvu crtu obrane. Najbolje ih je konfigurirati tako da se prvo zabrani sav nadolazeći promet, a potom se otvaraju pristupi kada se za to ukaže potreba. Primjerice, obično se koriste pristupi (port) 80 i 21. No otvoreni pristupi istovremeno povlače i opasnost ulaska zlonamjernog prometa u mrežu. Upravo bi tu trebao nastupiti IDS. On nadzire sav ulazni i izlazni promet i identificira onaj zlonamjerni.

 

 

3.2. Svojstva dobrog sustava za otkrivanje napada

 

 

Neovisno o tipu IDS-a i mehanizmu na kojem je baziran, postoje neke stavke koje su često izdvajane kao karakteristike dobrog IDS-a.

 

U skladu s njima IDS bi trebao zadovoljavati sljedeće:

 

 

3.3. Zašto je poželjno koristiti detekciju upada u sustav?

 

 

Danas je nemoguće pratiti korak sa svim potencijalnim prijetnjama i ranjivostima kompjutorskih sustava. Nove tehnologije i Internet, svakim danom unose promjene u računalna okruženja, koje hakeri često znaju prepoznati kao prilike za napad.  Upravo iz toga proizlazi potreba za Detekcijom upada u sustav, kao alatom u funkciji zaštite sustava od prijetnji koje se javljaju uslijed povećanja stupnja povezanosti sustava na mrežu i oslanjanja na sam informatički sustav.

 


Osim detektiranja, identificiranja i zaustavljanja napadača, IDS pomaže i u otkrivanju načina na koji je napad izvršen i sprječavanja ponavljanja istog. Nadalje informacije prikupljene od strane IDS-a, mogu se koristiti u istrazi i kaznenom gonjenju napadača.

 

Pokazalo se da i samo postojanje IDS-a na sustavu, djeluje na psihu potencijalnih napadača. Naime povećanje rizika pronalaženja i kažnjavanja onih koji bi napali ili na bilo koji način zlouporabili sustav, već u samom startu sprječava problematično ponašanje.

Osim što otkriva napade i sigurnosne prekršaje, koji nisu spriječeni ostalim sigurnosnim mjerama, prednost IDS-a je i u tome što može detektirati i sam uvod u napad, te pružiti osoblju šansu da ga pravilnom reakcijom blokiraju. Za organizacije se IDS pokazuje korisnim i kod dokumentiranja prijetnji i prikupljanju informacija o napadima, u cilju poboljšanja sigurnosne infrastrukture, ali i same kontrole kvalitete sigurnosnog dizajna. Dokumentiranje prijetnji pruža uvid u frekvencije i karakteristike napada te predstavlja smjernicu kod odabira sigurnosnih mehanizama. Uz korištenje IDS-a kroz duže vrijeme, iskristalizirat će se slabe točke dizajna i upravljanja sigurnošću sustava omogućujući pritom njihovo ispravljanje.

 

Napadi međusobno mogu uvelike varirati po načinu izvođenja, cilju napad i sl. no svima je zajednička prva faza, a to je ispitivanje sustava ili mreže. Svaki napadač mora prvo ispitivanjem sustava pronaći način da uđe u sustav. U sustavu bez IDS-a, to je lako izvedivo jer napadača nitko ne sprječava da temeljito ispita sustav. S druge strane, isti taj sustav s IDS-om koji ga nadgleda, predstavljat će veliki izazov napadaču u pokušaju pronalaženja njegove slabe točke.

 

Priložena razmatranja navode na zaključak da pitanje koje se postavlja nije treba li se IDS koristiti, već koji njegov oblik odabrati.

 

 

3.4. Gdje bi sustav za detekciju napada trebao biti smješten u mrežnoj topologiji?

 

 

Smještaj IDS-a u mreži sustava, ovisit će prvenstveno o dvije stvari: topologiji mreže i potrebi korisnika. Naime, mrežni IDS radi tako da analizira sav promet na mreži. Iz tog razloga će se katkad pojaviti potreba za uključivanjem više od jednog IDS-a u mrežu, kako niti jedan dio mrežnog prometa ne bi bio izostavljen iz analize.


Potreba korisnika podrazumijeva vrstu napadačeve aktivnosti koja se želi otkriti. Tako može biti riječ o unutarnjoj (internoj) aktivnosti, vanjskoj (eksternoj) aktivnosti ili obje.

 

Gotovo sve mreže danas, osiguravaju pristup Internetu. Ova veze je vrlo često primarna meta raznih potencijalnih napada, stoga ne čudi da je to i prvo mjesto koje se treba zaštiti IDS-om. Kako bi IDS imao smisla, trebao bi  pokrivate sve pristupne veze Internetu koje postoje u sustavu.

 

Često postavljeno pitanje tiče se samog smještaja IDS-a u odnosu na sigurnosnu stijenu. Treba li IDS postaviti u vanjski dio mreže prije sigurnosne stijene ili nakon nje? U svakom slučaju oba pristupa imaju i prednosti i nedostatke. Ukoliko se IDS postavi, nakon sigurnosne stijene (ili na samo unutrašnje sučelje sigurnosne stijene), on će analizirati samo one podatke koje sigurnosna stijena propusti i u skladu s time, moći će detektirati samo one napade koji su uspješni. S druge strane, IDS postavljen izvan sigurnosne stijene (ili na njenom vanjskom sučelju) će detektirati i one napade koji ne uspiju proći sigurnosnu stijenu, te time imati i bolji uvid u sve prijetnje upućene sustavu, odražavajući u svojoj dokumentaciji pravo stanje stvari. Nedostatak postavljanja IDS-a s vanjske strane, leži u tome što s te strane ima više prometa pa time i više podataka za analizu. To može uzrokovati pad performansi i nemogućnost analiziranja svih paketa, pa time i ne detektiranja svih napada.

 

Osim Internet veza, potrebno je osigurati i veze s drugim organizacijama. Riječ je o vezama koje se uspostavljaju s poslovnim partnerima ili drugim organizacijama s kojima se redovito komunicira. Takvim vezama su obje strane izložene potencijalnim napadima, zbog čega i njih treba uključiti u IDS sustav nadgledanja.

 

Kako mnogi zaposlenici imaju potrebu komunicirati s lokalnom mrežom i kad su primjerice na putu, omogućen im je neki oblik udaljenog pristupa (remote acces). Obzirom da napadači ne prezaju ni pred iskorištavanjem udaljenog pristupa za svoje napade, važno je i njih uključiti u IDS strategiju.

 

Slika 3.1. pokazuje mogući raspored IDS senzora u mreži neke organizacije. Tako senzori 1 i 2 nadgledaju mrežni promet koji dolazi izvana. Senzor1 nadgleda sve što se događa vani, dok Senzor2 ima pristup samo onom prometu kojeg sigurnosna stijena propusti. Senzor 3 nadgleda promet između štićene mreže i mreže poslovnih partnera. Senzor4 ima sličnu funkciju. On nadgleda promet koji dolazi od strane korisnika s udaljenim pristupom. Spomenimo i Senzor5 i Senzor6 koji ilustriraju način na koji se može nadgledati prometa između različitih internih grupa (primjerice odjela) u mreži. U slučaju kad mreža sadrži i demilitariziranu zonu[1] (skraćeno DMZ)  IDS može biti postavljen i u njoj. Kako god, politika podizanja uzbune ne bi trebala biti jednako stroga u demilitariziranoj zoni kao ona u privatnim dijelovima mreže.

 

Slika 3.1. Tipična mrežna konfiguracija

 

Kod planiranja ovakve mrežne infrastrukture, treba voditi računa o činjenici da više IDS-ova znači i više posla i više troškova održavanja istih. Odluka korisnika se zato treba temeljiti na sigurnosnoj politici, koja to sve uzima u obzir i definira što se uistinu želi zaštiti od napadača.

 


3.5. Funkcionalne komponente sustava za otkrivanje napada

 

 

U načelu IDS možemo opisati kroz tri osnovne funkcionalne komponente:

 

·  Izvor informacija – Za otkrivanje upada, koriste se različiti izvori informacija o događajima u sustavu. Oni variraju, ovisno o dijelu sustava koji se prati. Najčešće govorimo o mrežnom, host ili aplikacijskom nadziranju (monitoring).

·  Analiza – Dio detekcije upada u sustav koji analizira prikupljene informacije o događajima u sustavu i na osnovu istih razabire je li došlo do upada u sustav. Najčešći analitički pristupi su otkrivanje zloupotrebe (misuse detection) i otkrivanje nepravilnosti (anomaly detection).

·  Reakcija – Jednom kad otkrije upad, sustav će izvršiti određeni skup akcija. Razlikujemo aktivne i pasivne akcije. Dok aktivne  uključuju i neke automatske intervencije na određenom dijelu sustava, pasivne, samo prijavljuju otkrića osoblju, kojem je potom prepuštena daljnja briga oko blokiranja napada.

 

                                           Slika 3.2. Funkcionalne komponente IDS-a

 

Informacije, dobivene iz informacijskih izvora, sustav analizira. Ovisno o onome što detektira, IDS će generirati odgovore, koji mogu varirati od izvještaja do aktivne intervencije kada je napad u pitanju.

 

Glavne funkcije IDS-a su nadziranje, detekcija te reakcija na neautorizirane aktivnosti. Reakcija IDS-a se temelji na unaprijed definiranoj politici. Ako je pojedini događaj unaprijed okarakteriziran kao sigurnosni incident, IDS će u trenutku njegovog otkrivanja podići uzbunu. Neki IDS-ovi imaju mogućnost slanja obavijesti u obliku SMS-a, elektronske pošte ili SNMP poruke, dok drugi idu i korak dalje, pa osim slanja obavijesti poduzimaju i neke aktivne mjere poput pokretanja skripti, onemogućivanja korisničkog računa i slično.

3.6. Prednosti i ograničenja sustava za otkrivanje napada

 

 

Kako ništa nije savršeno, tako i IDS ima svoje dobre i loše strane, pa i neka ograničenja. Dobro ih je poznavati, kako bi se znalo što se od njega može očekivati.

 

 

3.6.1. Dobre strane sustava za otkrivanje napada

 

·  Nadgledanje i analiza kako aktivnosti u sustavu, tako i ponašanja korisnika

·  Ispitivanje stanja sustavskih konfiguracija

·  Prepoznavanje uzoraka aktivnosti, koje statistički variraju od normalne aktivnosti (detekcija nepravilnosti)

·  Prepoznavanje uzoraka događaja u sustavu, koji odgovaraju poznatim napadima (detekcija zlouporabe)

·  Upravljanje zapisima operacijskog sustava i mehanizmima zapisivanja logova

·  Alarmiranje adekvatnog osoblja prikladnim sredstvima u trenutku otkrivanja napada

·  Mjerenje koliki se dio sigurnosne politike  uistinu provodi u djelo

·  Omogućavanje, po pitanju sigurnosti, nestručnom osoblju izvođenje važnih sigurnosnih funkcija nadgledanja

 

 

3.6.2. Ograničenja sustava za otkrivanje napada

 

IDS ne može izvoditi ništa od sljedećeg:

 

·  Nadomjestiti slabe ili nepostojeće sigurnosne mehanizme , kao što su sigurnosna stijena, identifikacija i autentifikacija, enkripcija veze, mehanizam za kontrolu pristupa, detekcija i uklanjanje virusa

·  Istovremeno otkrivati, izvještavati i reagirati na napad, u trenutku velikog opterećenja mreže ili procesora

·  Otkrivati nove napade ili varijacije poznatih

·  Efektivno odgovarati na napade sofisticiranih napadača

·  Automatski istraživati napad bez ljudske intervencije

·  Onemogućavati svoje zaobilaženje ili rušenje

·  Efektivno raditi s komutiranim mrežama


4. Podjela sustava za otkrivanje napada

 

 

IDS je složen alat pa ne čudi činjenica da postoji više načina njegove podjele. U nastavku su navedeni svi pristupi u klasifikaciji, dok su detaljnije obrađeni samo oni najvažniji. Uvid u složenost IDS-a otkriva prednosti i nedostatke pojedinih konfiguracija te omogućava lakši odabir upravo onog tipa IDS-a koji će najbolje zadovoljiti potrebe određenog sustava.

 

Pristupi u klasifikaciji IDS-a:

 

                                          1.      Arhitektura

                                          2.      Ciljevi

                                          3.      Kontrolna strategija

                                          4.      Vrijeme

                                          5.      Informacijski izvori

                                          6.      IDS Analiza

                                          7.      Reakcija IDS-a

 

 

4.1. Kontrolna strategija

 

 

Kontrolna strategija opisuje kako IDS organizira elemente nadgledanja, detekcije, slanja izvještaja te upravljanja ulazom i izlazom u funkcionalnu cjelinu.

 

Kontrolna strategija može biti:

 

a)     Centralizirana - sva nadgledanja, detekcije i prijavljivanja su kontrolirana direktno s centralne lokacije.

b)     Djelomično distribuirana – nadgledanje i detekcija su kontrolirane iz lokalnog kontrolnog čvora, s hijerarhijskim prijavljivanjem jednoj od centralnih lokacija.

c)      Potpuno distribuirana – nadgledanje i detekcija se ostvaruju agentskim pristupom, gdje se odluke o odgovarajućoj reakciji donose u točki analize.

 

 


4.2. Informacijski izvori

 

 

Najčešći pristup podjeli IDS-a se temelji na informacijskom izvoru. Drugim riječima, onaj dio sustava koji IDS nadzire, je ujedno i njegov informacijski izvor. Tako najčešće govorimo o mrežno baziranom IDS-u (nadzire rad mreže) i host baziranom IDS-u (nadzire rad host-a). Neki tu uvrštavaju i aplikacijsko bazirani IDS iako je on ustvari podvrsta host baziranog IDS-a.

 

 

4.2.1. Mrežno zasnivani sustav za otkrivanje napada

 

Mrežno bazirani IDS (Network based IDS), kako mu i sam naziv kaže nadzire cijelu mrežu ili neki njen segment, ovisno o poziciji koja mu je dodijeljena u mrežnoj topologiji. Princip rada se temelji na hvatanju i analiziranju paketa koji putuju mrežom. Većinu komercijalnih IDS-a možemo smjestiti u ovu skupinu.

 

Mrežno bazirani IDS se često sastoji od niza jednostavnih senzora, razmještenih po različitim točkama mreže (kao što je to prikazano na Slici 1.). Senzori nadziru i lokalno analiziraju mrežni promet, te potom prijavljuju otkrivene napade centralnoj upravljačkoj konzoli. Mnogo senzora je dizajnirano za ''potajni'' način rada, kako bi napadaču bilo teže otkriti njihovu prisutnost i lokaciju.

 

 

Prednosti mrežno baziranog IDS-a:

 

·        Nekoliko dobro raspoređenih mrežno baziranih IDS-ova može nadgledati veliku mrežu.

·        Implementacija mrežno baziranog IDS-a ima mali utjecaj na postojeću mrežu. Naime obično je riječ o pasivnom uređaj koji samo osluškuje mrežu bez utjecaja na normalne operacije koje se odvijaju na mreži.

·        Dobro napravljen mrežno bazirani IDS je vrlo siguran od napada i često nevidljiv za napadača.

 

Nedostatci mrežno baziranog IDS-a:

 

·        Mrežno orijentirani IDS može imati poteškoće kod obrade paketa u velikoj ili zaposlenoj mreži, što može dovesti do ne detektiranja napada u periodu visokog prometa. Naime, cijela poanta priče leži u tome da IDS cijelo vrijeme osluškuje mrežu i analizira svaki mrežni paket koji naiđe. Upravo će tu nastati problem u trenucima odvijanja velikog prometa kroz mrežu, jer IDS nije u stanju toliko brzo sve pakete pregledati. Neki proizvođači pokušavaju doskočiti ovom problemu sklopovski implementirajući cijeli IDS, što je gotovo uvijek brže od programskog rješenja. Nadalje, ta potreba za brzom analizom paketa, primorava proizvođače da se fokusiraju na otkrivanje manjeg broja konkretnih tipova napada i da detekciju vrše sa što je moguće manje kompjuterskih resursa. To naposljetku može dovesti do smanjenja efikasnosti samog IDS-a, jer ako IDS ne može detektirati sve poznate vrste napada, onda će svaki, malo uporniji, haker prije ili kasnije pronaći način za upad u naš sustav.

·        Mnoge se prednosti ovog pristupa ne odnose na moderne komutatorski-orijentirane mreže. Komutatori (switch) dijele mrežu na mnogo manjih segmenata, no većinom ne osiguravaju univerzalne nadzorne pristupe (port), zbog čega se nadzorni domet senzora ograničava na samo jedan host.

·        Mrežno bazirani IDS ne može analizirati kriptiranu informaciju. Ovaj se problem povećava porastom upotrebe virtualnih privatnih mreža[2] jer kroz njih svi podaci putuju isključivo u kriptiranom obliku.

·        Većina mrežno baziranih IDS-ova može samo razlučiti da je napad započeo, a ne i je li bio uspješan.

·        Neki IDS-ovi ovog tipa nailaze na probleme kod pojave mrežno orijentiranih napada koji uključuju fragmentirane pakete. Naime oni mogu uzrokovati nestabilnost i rušenje IDS-a.

 

 

4.2.2. Sustav za otkrivanje napada na računalu

 

Host zasnivani IDS (Host-Based IDS) nadzire promet pojedinog računala (host). Može biti instaliran na svaki host u sustavu, ili samo na one kritične.

 

Neki host bazirani IDS dijele obzirom na korišteni izvor informacija: zapisi operacijskog sustava (operating system audit trails) ili sustavski logovi. Zapisi operacijskog sustava su obično generirani u jezgri operacijskog sustava, te su u skladu s time detaljniji i zaštićeniji od sustavskih logova. Ipak, sustavski logovi su manje ograničeni i kraći od zapisa operacijskog sustava, te ih je mnogo lakše shvatiti.

 


Prednosti host baziranog IDS-a:

 

 

Nedostatci host baziranog IDS-a:

 

·        Teže je upravljati s njim.

·        Izvor informacija (ako ne i drugi dijelovi IDS-a) nalaze se na nadziranom hostu. U slučaju napada i sam IDS može biti onesposobljen.

·        Nije pogodan za otkrivanje napada pretraživanja ili sličnih ispitivanja cijele mreže, jer vidi samo one pakete koje je primio njegov host.

·        Može biti onesposobljen pomoću denial-of-service napada.

·        IDS koji koristi zapise operacijskog sustava kao izvor informacija, zbog dobivene količine informacija, može zahtijevati dodatne lokalne spremnike u sustavu.

·        Budući da koristi kompjutorske resurse host-a kojeg nadziru, može doći do pada performansi sustava, odnosno povećanja njegove cijene u cilju održavanja performansi.

 

 

4.2.3. Sustav za otkrivanje napada zasnovan na programskoj podršci

 

Aplikacijski zasnovani IDS (Application-Based IDS) je posebna podvrsta host zasnovanog IDS-a koja provodi detaljniju analizu događaja koji se odvijaju unutar programske aplikacije. Kao izvor informacija,  obično se koriste aplikacijske transakcijske log datoteke.


U praksi postoje kombinacije host baziranih i mrežno baziranih pristupa, pa se tada govori o hibridnom IDS-u.

 

 

4.3. Analiza

 

Ovaj pristup dijeli IDS ovisno o načinu na koji analizira prikupljene informacije. Postoje dvije mogućnosti. Prva se temelji na otkrivanju zloupotrebe, dok druga traži nepravilnosti. Iako je prvi pristup trenutno popularniji i koristi se u većini komercijalnih sustava, drugi je obećavajući, ali još uvijek nedovoljno istražen.

 

 

4.3.1. Detekcija zloupotrebe

 

Danas su poznati mnogi tipovi napada. Svaki od njih specifičan je po cilju i načinu izvršavanja. Jednom kad je izvršen, napad ostavlja specifičan trag u sustavu, poput potpisa. IDS može detektirati te potpise, prepoznati napade i obavijestiti korisnika.

 

Potpisi se pohranjuju u liste, koje se redovito nadopunjuju pojavom novih napada. O čemu se zapravo radi? Ti potpisi predstavljaju specifične uzorke u paketima. Uslijed analize, IDS pregledava mrežne pakete tražeći u njima bilo koji uzorak iz svoje liste potpisa. Jednom kad nađe potpis, detektirao je i napad ili bar pokušaj istog. Upravo je zato važno održavati listu potpisa ažuriranom. Ukoliko IDS u svojoj listi nema novi potpis, on vjerojatno neće moći prepoznati ni taj novi tip napada (ukoliko do njega dođe).

 

Obzirom da detektori zloupotrebe analiziraju aktivnosti tražeći događaj koji se podudara s unaprijed definiranim potpisom (koji opisuje poznati napad), ovaj pristup analizi se još naziva i detekcija bazirana na potpisu (signature-based detection).

 

Kad bi se za prepoznavanje svakog tipa napada koristio zaseban potpis, liste potpisa bi bile ogromne i zahtijevale bi mnogo vremena za obradu te uzrokovalo pad performansi IDS-a. Zato danas postoje sofisticirani pristupi otkrivanju zloupotrebe (Misuse detection), ''state-based'' analitičke tehnike, koje mogu koristiti jedan potpis za detekciju čitave grupe napada.

 


Prednosti detekcije zloupotrebe:

 

·        Visoka efikasnost pri otkrivanju napada, bez podizanja velikog broja lažnih uzbuna.

·        Brzo i pouzdano dijagnosticiranje upotrebe specifičnog alata ili tehnike izvršavanja napada.

·        Pruža uvid u sigurnosne probleme u sustavu.

 

Nedostatci detekcije zloupotrebe:

 

·        Mogu se otkriti samo oni napade za koje IDS zna.

·        Korištenje dobro definiranih potpisa onemogućava otkrivanje varijacija poznatih napada.

 

 

4.3.2. Otkrivanje nepravilnosti

 

Za razliku od prethodnog pristupa, ovdje se traže tragovi nenormalnog/nepravilnog ponašanja na host-u ili mreži. Kako napadi nisu dio normalnog rada sustava, samim njihovih odvijanjem javljaju se neke popratne aktivnosti i stanja koja odudaraju od onoga što je ''normalno''. Upravo tu činjenicu koriste detektori nepravilnosti.

 

Na osnovu podataka, prikupljenih u periodu normalnog rada, detektori nepravilnosti (Anomaly Detection) konstruiraju profile koji predstavljaju normalno ponašanje korisnika, host-a ili mrežne veze. Senzori potom nadziru podatke o događajima u sustave te koriste razne mjere (granično otkrivanje i statističke mjere) kako bi ustvrdili da li se nadzirana aktivnost razlikuje od norme.

 

Obzirom da ponašanje korisnika može biti vrlo promjenjivo, ponekad je teško napraviti ispravan profil onoga što je normalno, pa detektori nepravilnosti mogu podizati mnogo lažnih uzbuna. Ipak, u nekim slučajevima ovaj pristup analizi daje bolje rezultate u odnosu na IDS temeljen na potpisu.

 

Iako neki komercijalni IDS-ovi uključuju ograničene oblike otkrivanja nepravilnosti, rijetki se u potpunosti oslanjaju na ovu tehnologiju.

 

 

Prednosti otkrivanja nepravilnosti:

 

·        Mogu se detektirati novi tipovi napada bez posjedovanja specifičnog znanja o tom napadu.

·        Generirane informacije se mogu koristiti za definiranje potpisa u detektorima zloupotrebe.

 

Nedostatci otkrivanja nepravilnosti:

 

·        Podizanje velikog broja lažnih uzbuna uslijed nepredviđenog ponašanja korisnika.

·        Složenost definiranja obrazaca ''normalnog'' ponašanja.

 

 

4.4. Reakcija

 

U trenutku prepoznavanja znakova napada u analiziranoj informaciji, IDS generira dogovor. Taj odgovor može podrazumijevati slanje izvještaja na unaprijed definiranu lokaciju (pasivni odgovori), kao i neku vrstu aktivne reakcije na otkriveni napad (aktivni odgovori)  

 

 

4.4.1. Aktivni odgovori

 

Pod aktivne odgovore svrstavaju se automatske akcije koje IDS poduzima u slučaju detektiranja određenog tipa upada u sustav.

 

Razlikujemo tri kategorije aktivnih odgovora:

·        Prikupi dodatne informacije (Collect additional information)- podizanjem razine osjetljivosti informacijskog sustava prikupljaju se dodatne informacije o napadu, ranjivostima iskorištenim za upad u sustav te samom napadaču.

·        Promijeni okruženje (Change the environment) - cilj je zaustavljanje napada u tijeku i blokiranje naknadnog pristupa napadača. Između ostalog to se postiže okončavanjem svih veza koje je napadač uspostavio sa sustavom, kao i ponovnom konfiguracijom rutera i sigurnosne stijene (npr. u svrhu blokiranje paketa upućenih s prividne napadačeve lokacije).

·        Poduzmi akciju protiv uljeza (Take action against the intruder) - uključuje pokretanje protunapada ili pokušaj aktivnog prikupljanja informacija o napadačevom host-u ili stranici. No kako mnogi napadači koriste lažne mrežne adrese, prilikom izvođenja napada, postoji velik rizik da se kroz protuudar napadne potpuno nedužan sustav, što povlači i pravnu odgovornost.

 


4.4.2. Pasivni odgovori

 

Pasivni odgovori temelje se isključivo na slanju obavijesti o napadu odgovornom osoblju. Tu prestaje odgovornost IDS-a. Osoblju je dalje prepušteno poduzimanje odgovarajućih reakcijskih mjera. Mnogo komercijalnih IDS-ova se oslanja isključivo na pasivne reakcije.

 

·        Alarmi i obavijesti  - pružaju korisniku informaciju o napadu u tijeku. Kada će oni biti generirani, na koji način i kome prezentirani, s koliko detaljnim sadržajem ovisi o željama korisnika. Osim unutar sustava, izvješća o alarmima i obavijestima se mogu slati i na udaljene lokacije, poput mobitela, pager-a, pa čak i elektroničke pošte. Doduše, elektroničku poštu nije preporučljivo koristiti zbog napadačeve mogućnosti blokiranja tih poruka.

·        SNMP zamke i dodaci (plug-ins) – neki IDS-ovi koriste SNMP trapove i poruke za slanje alarma i obavijesti centralnim konzolama za  upravljanje mrežom.

 

 

4.4.3. Izvještavanje i sposobnost arhiviranja

 

Većina komercijalnih IDS-ova pruža mogućnost generiranja rutinskih izvještaja i ostalih detaljnih informacijskih dokumenata, kao i njihovo arhiviranje.


5. Alati koji se koriste za otkrivanje napada

 

 

Iako se pretraživanjem Interneta može doći do pozamašne liste[4] IDS alata, oni nisu svi potpuno ravnopravni. Naime, kako raste popularnost IDS tehnologije, tako skupina IDS alata postaje sve raznolikija. Prosječnom korisniku to znatno otežava snalaženje i pravilan odabir IDS sustava. Upravo iz tog razloga pokazalo se praktičnim grupirati IDS alate unutar tri skupine, ovisno o njihovoj prvobitnoj namjeni i funkcionalnosti.

 

1.      Programska podrška specijalizirana isključivo za detekciju upada u sustav

2.      Alati koji nadopunjuju IDS, izvodeći slične funkcije

3.      Alati kojima glavna namjena nije detekcija upada u sustav, ali ih upućeniji korisnici mogu upotrebljavati u te svrhe

 

Nažalost, obično IDS liste nemaju ovakve ni slične podjele, što znatno otežava poziciju korisnika. Naime nije lako od nekoliko stotina alata u ponudi odabrati onaj pravi, posebno iz razloga što je često u listi navedeno samo ime alata, a ne i njegova namjena. Tako se lako može izgubiti puno vremena na istraživanje alata iz, u startu neželjene,  skupine.

 

 

5.1. Alati kojima je glavna zadaća otkrivanje napada

 

 

Prvu skupinu IDS alata čine ona programska rješenja koja su razvijana s ciljem detekcije upada u sustav. Znači njihova glavna funkcija je detektiranje napada i podizanje razine sigurnosti.

 

IDS kao alat je obično vrlo složen, pa zahtjeva određenu stručnost prilikom instalacije, konfiguracije i samog nadgledanja.

 

Za odabir pravilnog IDS-a, potrebno je dobro poznavati sustav koji će taj IDS nadgledati. Naime danas postoji mnogo vrsta IDS-a, ovisno o njihovom načinu rada, lokaciji rada i slično. Dobro poznavanje sustava, omogućit će osoblju zaduženom za sigurnost računalnih sustava, pravilan odabir vrste IDS-a i na kraju i konkretnog IDS proizvoda. Treba imati na umu da je detekcija upada u sustav vrlo složen pojam i da ne postoji savršen IDS koji bi potpuno ostvario svu željenu funkcionalnost i time učinio sustav apsolutno sigurnim. Nadalje, kao i što svaki pojedinac ima uvjete rada i poslove na kojima bolje ili lošije funkcionira i sam IDS ima sustave i namjene u kojima daje bolje ili lošije rezultate. Dakle, korisnik mora znati koje su najveće slabosti njegovog sustava, te dalje na temelju važnosti brze reakcije, osposobljenosti osoblja, raspolaganja resursima odabrati pravi IDS.

 

Kao i u slučaju drugih alata, postoje besplatni i komercijalni IDS proizvodi. Iako se teško odlučiti na kupovanje programske podrške, uz dobru i prilično kvalitetnu besplatnu ponudu, komercijalni proizvodi ipak imaju neke prednosti. Naime besplatni IDS proizvodi funkcioniraju na elementarnom nivou i zahtijevaju osoblje s puno znanja i iskustva. Nadalje nisu toliko korisnički orijentirani, pa je nekad uistinu teško raditi s podacima koje generiraju. Nasuprot tome, komercijalni proizvodi su često automatizirani i generiraju ''ljepša'' izvješća, praktičniji su i omogućuju jednostavniju instalaciju i upotrebu.

 

Ovisno o složenosti nadziranog sustava, nekad će se pokazati praktičnom upotreba baze podataka za pohranjivanje podataka koje IDS obradio. Isto tako, za neke alate razvijena su posebna, korisniku orijentirana, grafička rješenja za analizu generiranih izvješća.

 

Vjerojatno jedan od najpoznatijih i najviše korištenih IDS alata današnjice je Snort, koji je besplatan i svima dostupan. Riječ je o mrežno baziranom IDS alatu koji se danas može upotrebljavati na gotovo svim platformama.

 

Nasuprot Snort-a, veliku popularnost ima i OSSEC HIDS, koji je također besplatan i svima dostupan. OSSEC HIDS je host bazirani IDS, što čini glavnu razliku između ova dva alata. Ta razlika je ujedno i njihova najveća prednost jer mogu istovremeno štititi neki računalni sustav, zaokružujući pritom cjelokupnu sigurnosnu arhitekturu.

 

 

5.2. Nadopuna sustava za otkrivanje napada

 

 

Kao što je već spomenuto, postoje alati koji obavljaju sličnu funkcionalnost kao IDS, ali im se ipak ne može potpuno  povjeriti zadatak detekcije upada u sustav. Iako mogu raditi samostalno na sustavu, njihova prava namjena je  nadopuna IDS-u. Naime upravo iz suradnje s IDS-om proizlazi prava snaga i učinkovitost ovih alata.

                                                                                                                        

Ovisno o načinu rada, alati ove skupine se dijele u četiri podgrupe: Analiza ranjivosti sustava, Alat za provjeru integriteta datoteka , Honey Pots i Padded Cells.

 

 

5.2.1. Analiza ranjivosti sustava

 

Prva činjenica koju vjerojatno svaka osoba, koja se bavi sigurnošću, ima na umu jest da računalni sustav i njegovi dijelovi nisu savršeni. Bilo da je riječ o fizičkoj komponenti sustava ili o komponenti programske podrške, nepobitno jest da ona ima slabosti. Neke se od tih slabosti mogu popraviti u cijelosti, neke djelomično, neke tek trebaju biti otkrivene, a nekih jednostavno korisnik treba biti svjestan pri provođenju sigurnosnih mjera.

 

Druga činjenica koju vjerojatno svaka osoba, koja se bavi sigurnošću, ima na umu jest da su upravo te slabosti sustava česta meta napadača. Naime, kroz slabosti sustava, spretan napadač pronalazi način upada u sustava. Iz tog razloga ih je važno pronaći nego ih napadač pronađe, te poduzeti odgovarajuće sigurnosne protumjere. Tu u priču uskače Alat za analizu ranjivosti[5] (Vulnerability Analysis). Zadatak ovog alata je, kako mu i ime kaže, pronalaženje ranjivosti sustava. Naime, putem niza ispitivanja mreže i/ili host-a, Alat za analizu ranjivosti testira njihovu otpornost na poznate napade. Zaključci o ranjivosti sustava donose se na temelju povratnih informacija, kao što su obilježja stanja sustava nakon ispitivanja te sami ishodi pokušavanih napada.

 

Iako je analiza ranjivosti moćna tehnika upravljanja sigurnošću, ona ne predstavlja zamjenu IDS-a već njegovu nadopunu. Naime IDS je taj koji kontinuirano nadgleda sustav, dok analizatori ranjivosti periodički testiraju njegovu otpornost na napade.

 

Postupak analize ranjivosti temelji se na testiranju određenog skupa obilježja sustava i pohranjivanju rezultata. Oni se potom uspoređuju s referentnim skupom podataka te se na osnovu uočenih razlika zaključuje o slabostima sustava.

 

Tipovi analize ranjivosti

 

Ovisno o dijelu sustava čija se ranjivost ispituje, razlikujemo:

·        Mrežno bazirani alat za otkrivanje ranjivosti – s udaljene lokacije, izvršava različite napade na sustav, bilježeći pritom odgovore na njih. Riječ je o aktivnom napadanju ili skeniranje ciljanog sustava, odnosno o aktivnoj procjeni ranjivosti. U upotrebi su dvije metode: testiranje ispitivanjem i metode zaključivanja.

·        Host bazirani alat za otkrivanje ranjivosti - provjerava ranjivost standardnim ispitivanjem izvora podataka sustava (sadržaji datoteka, konfiguracijske postavke..), pa se još naziva i pasivnom procjenom. Korisnost se pokazuje kod otkrivanje napada temeljenih na korištenju povlastica (privilege escalation attacks).

 

Prednosti i nedostaci analize ranjivosti

 

Prednosti:

·        Može poslužiti za detekciju problema na sustavima koji ne mogu podržati IDS.

·        Omogućuje testiranje i dokumentiranje stanja sigurnosti.

·        Pouzdano upućuje na sigurnosne probleme koji zahtijevaju ispravak.

·        Osoblju zaduženom za sigurnost pruža se mogućnost dvostruke provjere svake unesene promjene u sustav, kako rješavanje jednog problema ne bi stvorio niz novih.

 

Nedostatci:

·        Uska povezanost host baziranog analizatora ranjivosti s pojedinim operacijskim sustavima i aplikacijama,  poskupljuje njegovu izgradnju, održavanje i upravljanje.

·        Mrežno bazirani analizatori ranjivosti često podliježu podizanju lažnih uzbuna.

·        Mrežno bazirano testiranje sustava na DOS napada ga može srušiti.

·        IDS može blokirati pokušaje procjene.

·        Treba voditi računa da se testiranje ranjivosti zadrži unutar političkih i upravljačkih granice sustava.

 

 

5.2.2. Alat za provjeru integriteta datoteka

 

Kako napadači, uslijed upada u sustav, često kompromitiraju sadržaj sustavskih datoteka, često se javlja potreba za provjerom njihovih integriteta. Alat za provjeru integriteta datoteka (File Integrity Checkers), kao što i njegovo ime daje naslutiti, odgovor je na ovaj problem.

 

Ovaj alat koristi sažetak poruke[6] (message digest), ili neku sličnu metodu, za utvrđivanje njihove ispravnosti.

 

Nadalje, alat za provjeru integriteta datoteka se pokazao korisnim i kod forenzičkih pregleda sustava koji su napadnuti, jer pruža brzu i pouzdanu dijagnozu otiska napada.

 

Tripwire je vjerojatno jedan od najpoznatijih primjera alata za provjeru integriteta datoteka.

 

 

5.2.3. Sustavi za privlačenje napadača

 

Honey pot je lažni sustav dizajniran s namjerom privlačenja potencijalnih napadača, kako bi se skrenula pažnja sa stvarnih sustava i podataka pohranjenih na njima.

 

Idealno, honey pot bi trebao izgledati kao pravi sustav. Datoteke s lažnim podacima, korisnički računi i slično doprinose toj uvjerljivosti. Namjernim izlaganjem  ranjivosti sustava, privlače se napadači. Isto tako, poželjno je honey pot smjestiti u blizini produkcijskog servera, kako bi ga napadač lako zamijenio za pravi. Za vrijeme boravka napadača na sustavu, pomno se nadziru njegove aktivnosti, tehnike i ciljevi napada. Te informacije se potom koriste za povećanje razine sigurnosti pravog sustava.

 

 

Kada koristit honey pot?

 

·        Preporučljivo ga je instalirati kada organizacija ima dovoljno resursa (fizička podrška i osoblje) kako bi otkrila napadača.

·        Isplativ je jedino ako se prikupljene informacije žele i mogu iskoristiti.

·        Može se koristiti i za prikupljanje dokaza o aktivnostima napadača, kako bi ih se dalje moglo kazneno goniti.

 

 

5.2.4. Padded Cell

 

Padded cell  izvorno predstavlja prostoriju u psihijatrijskoj bolnici koja je obložena mekim materijalom, kako si bolesnici ne bi mogli nauditi. Slično tome, u kompjuterskom svijetu Padded Cell predstavlja simulirano okruženje unutar kojeg napadač ne može napraviti nikakvu štetu.

 

Rad ovog alata je temeljen na suradnji s IDS-om. Naime, kad IDS otkrije napad, on neprimjetno premješta napadača na Padded cell host. Kao i kod Honey pot-a, ovo simulirano okruženje se puni napadaču zanimljivim informacijama, u svrhu uvjeravanja istog da se napad odvija prema planu. Cijelo to vrijeme napadačeve aktivnosti se nadziru.

 

Honey pot i Padded cell zahtijevaju veliku stručnost osoblja koje njima rukuje. Upravo je to glavni nedostatak ovih alata.

 

 

5.3. Ostali alati

 

 

Ovo je vrlo široka skupina u koju se može uvrstiti čitav niz sigurnosnih alata. Naime, upravo iz razloga što detekcija upada u sustav pokriva vrlo široko područje, funkcionalnost se čitavog niza sigurnosnih programskih rješenja može  promatrati upravo sa stajališta otkrivanja nepravilnosti u radu.

 

Pobližim razmatranjem pitanja mrežne sigurnosti, alat za hvatanje i snimanje svih paketa na mreži (packet sniffer) se nameće kao jedan od najosnovnijih i funkcionalno vjerojatno najjednostavnijih sigurnosnih alata. Wireshark (poznatiji kao Ethereal), Kismet, Tcpdump (i njegova Windows inačica Windump) su neke poznatije verzije tog alata. Nameće se pitanje, ima li to kakve veze s IDS-om? Odgovor je da. Naime svaki mrežni IDS se temelji upravo na analiziranju mrežnog prometa. Spomenuti alat, taj promet dobavlja. Iako nema funkcionalnost analiziranja prometa, obično ima funkcionalnost njegovog filtriranja. Upravo to omogućuje upućenijem korisniku, odvajanje normalnog i očekivanog mrežnog prometa, od onog sumnjivog i potencijalno štetnog za sustav. To korisniku dalje omogućuje da dodatnim uvidom u "zlonamjerne" pakete ustvrdi je li riječ o napadu. Naravno, da bi ovo sve bilo izvedivo, korisnik mora biti vrlo stručan u području mrežne sigurnosti i poznavati sve vrste napada i njihovih oblika na razini paketa. Isto tako treba imati na umu da je, u današnje vrijeme, količina dnevnog mrežnog prometa vrlo visoka, zbog čega je ovakav IDS pristup po pitanju vremena, osoblja i resursa krajnje nepraktičan i skup. Navedeni primjer pokazuje tijek razmišljanja (i/ili razmatranja načina upotrebe), kojim se jedan krajnje jednostavan alat može koristiti u svrhu detekcije upada u sustav. Upravo zbog toga ne čudi što se čitav niz drugih alata, sa mnogo složnijom funkcionalnošću, na ovaj ili onaj način svrstava u IDS ili njegovu nadopunu.

 

 

 


6. Programsko rješenje OSSEC HIDS

 

 

Danas se na tržištu može pronaći čitav niz IDS programskih rješenja. Jedno od njih jest OSSEC HIDS (Open source Host-based Intrusion Detection System). Riječ je o besplatnoj programskoj podršci koju je LinuxWorld 2007. proglasio najboljim open source sigurnosnim alatom[7]. Isto tako, u velikoj anketi sigurnosnih alata, provedenoj 2006. godine od strane organizacije Insecure.Org, OSSEC HIDS je, u kategoriji najboljih IDS alata, smješten na drugo mjesto, odmah iza popularnog Snort-a[8].

 

Oznaka HIDS u nazivu ovog alata sugerira da je riječ o host baziranom IDS-u (Host IDS). To znači da je glavna funkcija OSSEC HIDS-a nadgledanje  računala i računalnih sustava.

 

Veliku popularnost OSSEC HIDS vjerojatno može zahvaliti širokom spektru funkcionalnosti. Neke od njih su: analiza logova, provjera integriteta datoteka, detekcija rootkit[9]-a, alarmiranje u stvarnom vremenu i aktivni odgovori. Ovaj IDS omogućuje lakše detektiranje napada, zlouporabe programske podrške, povrede sigurnosne politike i ostalih neprikladnih aktivnosti.

 

OSSEC HIDS se može instalirati na čitav niz operacijskih sustava, uključujući Linux, Open BSD, Free BSD, MacOs, Solaris i Windows[10].  Valja napomenuti da je Windows korisnicima dostupna samo agent verzija instalacije OSSEC HIDS-a, što ih ne čini ravnopravnima Unix/Linux korisnicima koji imaju na raspolaganju sve verzije.

 

Kako je OSSEC HIDS host bazirani alat, logično je da on mora biti instaliran i pokrenut na svakom računalu koje se nadzire. Ukoliko se nadgleda samo jedno računalo, stvar je jednostavna Potrebno je provesti samo jednu lokalnu instalaciju i konfiguraciju. Međutim kad je riječ o sustavu s više računala ovakav pristup nije idealan. Naime koliko bi samo vremena bilo izgubljeno za svaku pojedinačnu instalaciju i konfiguraciju, te potom nadgledanje svakog pojedinačnog računala. Upravo zato postoji server/agent vrsta instalacije. Glavna ideja je da se jedno računalo proglasi serverom i njemu se instalira server inačica OSSEC HIDS-a, a na svim ostalim računalima agent verzija. Funkcija agenata jest prikupljanje informacija o svim događajima na sustavu i prosljeđivanje tih informacija serveru. Server potom vrši analizu pristiglih podataka, generira obavijesti i slično. Dakle, server je taj na kojem je u stvarnosti pokrenut IDS što olakšava administriranje i konfiguriranje.  Valja napomenuti da je ovakvim pristupom opterećen samo server, dok ostala računala agenti neće osjetiti povećanje opterećenja, usporavanje i slične promjene koje instalacija IDS-a donosi.

 

Dobra strana OSSEC HIDS-a jest i ta da može raditi i u kombinaciji s mnogim sigurnosnim alatima. Od njih se najčešće izdvaja Snort. Suradnja ta dva izrazito popularna alata omogućuje administratorima potpun nadzor svojih sustava počevši od mreže do samih računala.

 

U knjizi OSSEC HIDS Host-Based Intrusion Detection Guide [2] iznesen je sljedeći podatak:: "Od kad je lansiran u listopadu 2003., OSSEC je dostigao zamah od 10 000 dohvata mjesečno iz cijelog svijeta.". O popularnosti OSSEC HIDS-a svjedoči i članak objavljen na Third Brigade web stranici[11]. "OSSEC zajednica posjeduje aktivne korisnike u 40 zemalja. U SAD-u ta zajednica uključuje dvije od najvećih komercijalnih banaka, tri od top pet tvrtki koje se bave financijskim uslugama, top tri tvrtke koje se bave zabavom, top šest tvrtki koje se bave zaštitom zračnog prostora i više od 150 sveučilišta i fakulteta. ".

 

 

6.1. Funkcije OSSEC HIDS alata

 

 

Najčešće izdvajane funkcije OSSEC HIDS-a su analiza logova, provjera integriteta datoteka, detekcija rootkit-a, alarmiranje u stvarnom vremenu i aktivni odgovori.

 

 

6.1.1. Analiza zapisa

 

Sigurnosnu analizu logova predstavljaju procesi ili tehnike namijenjene za detekciju napada na konkretne mreže,  sustave ili aplikacije korištenjem logova kao primarnog izvora informacija.

 

Iza pojma logovi podrazumijeva se skupina najrazličitijih računalnih dnevnika. Računalne dnevnike vode aplikacije, operacijski sustavi i ostali oblici programske podrške kako bi se evidentirali svi događaji u sustavu. Osim što se njihovom analizom detektiraju napadi i slične sigurnosne prijetnje, korisni su i za otkrivanje grešaka koje se događaju, potencijalnih problema, uzroka kvarova, nadziranje rada sustava ali i korisnika ukoliko se za tim pokaže potreba.  Tako može biti riječ o logovima sigurnosne stijene (firewall) i web servera, sustavskim logovima kao i logovima IDS ili Windows događaja.

 

Logovi se mogu podijeliti u različite kategorije ovisno o:

 

  1. sadržaju – logovi mogu sadržavati neke specifične informacije, obavijesti, upozorenja ili npr. fatalne pogreške
  2. izvoru – ovisno o tome tko logove generira, izvor može biti aplikacija, sustav, driver ili biblioteka,
  3. formatu – zapis može biti u tekstualnom ili binarnom obliku. Tekstualni oblik je logično popularniji iz perspektive onih koji te logove čitaju.

 

Osim samih napada, analizom logova  se mogu detektirati i zloupotreba programske podrške, povreda sigurnosne politike te ostali oblici nepodobnih aktivnosti.

 

Analiza logova je u ovom slučaju samo jedna od funkcija složenog alata OSSEC HIDS-a, no korisnicima je dostupno i mnogo verzija analizatora logova kao zasebnog alata.

 

Slika 6.1. OSSEC HIDS analiza događaja


Slika 6.1. prikazuje tijek analize zaprimljenog log zapisa. Čim se dogodi neki događaj, OSSEC HIDS pokušava iz zapisa o njemu izvući što je više moguće informacija. Te informacije podrazumijevaju lokaciju, ime host-a, ime programa, izvornu i odredišnu IP adresu događaja, izvorni i odredišni pristup (port), protokol, akciju izvršena u sklopu s tim događajem, status, naredbu pozvanu u sklopu događaja i slične podatke koje zapis sadržava. To je faza dekodiranja zapisa. Slijedi faza u kojoj se prikupljene informacije uspoređuju sa svim pravilima. Ukoliko se pronađe poklapanje s nekim od njih, provodi se postupak alarmiranja. Tu spadaju upisivanje u bazu podataka, slanje e-mail obavijesti te aktivni odgovori.

 

Dekoderi su definirani unutar decoders.xml datoteke u /var/ossec/etc direktoriju, koja se učitava prilikom pokretanja IDS-a. Bez njih ne bi bilo moguće iz sirovih zapisa o događajima dobiti za OSSEC HIDS korisne informacije.

 

 

6.1.2. Provjera integriteta datoteka

 

 

Iz samog popisa funkcionalnosti OSSEC HIDS-a može se zaključiti da on objedinjuje više alata. Alat za provjeru integriteta datoteka jest jedan od njih.

 

U poglavlju 5.2.2. su objašnjeni namjena i način rada alata za provjeru integriteta datoteka. Ukratko, riječ je o programskoj podršci koja upotrebom hash algoritama stvara jedinstven otisak svake datoteke. Ti se otisci pohranjuju. Kad se želi provjeriti integritet neke datoteke, izračuna se novi otisak i usporedi s prethodno pohranjenim. Ukoliko se oni razlikuju znači da je ta datoteka u međuvremenu mijenjana.

 

OSSEC istovremeno koristi dva algoritma, MD5 i SH1, što znači da se za svaku datoteku računaju i pohranjuju po dva otiska. Provjera integriteta se potom vrši u fiksnim vremenskim intervalima. Početno je duljina tog intervala postavljena na 6 sati, a svaki korisnik može tu duljinu prilagoditi svojim potrebama, promjenom postavki unutar konfiguracijske datoteke.

 

Nadalje, OSSEC HIDS se brine da, prevelikom uporabom procesora i memorije, ne uspori rad ostalih procesa na računalu. To se postiže tako da se provjera integriteta ne vrši u komadu. Naime, nakon što se obradi točno određen broj datoteka proces se pauzira ("uspava") na određen broj sekundi, nakon čega se postupak ponavlja. Broj datoteka koje se u komadu obrađuju, kao i duljina trajanja pauze, specificirani su u datoteci internal_options.conf koja se nalazi u direktoriju /var/ossec/etc/. Isječak te datoteke prikazan je na slici 6.2.

 

                        Slika 6.2. Dio datoteke internal_options.conf

 

 

6.1.3. Detekcija rootkit-a

 

Rootkit je program čija je namjena tajno preuzimanje kontrole operacijskog sustava, izbjegavajući pritom interakciju sa samim sustavom na kojem je instaliran. Rootkit može skrivati usluge, procese, pristupe, datoteke, direktorije te ključeve registara od ostatka operacijskog sustava i korisnika.

 

Postoji više tipova rootkit-a:

 

  1. Ugrađeni program (firmware) – ovaj tip rootkit-a iskorištava povjerenje korisnika prema nekom programu, kako bi se instalirao na njegovo računalo. Naime ideja napadača jest nalijepiti rootkit na neki koristan program, te ga učiniti dostupnim svojim žrtvama. Žrtva potom, ne sumnjajući ništa, instalira program, koji joj treba, na računalo te predaje kontrolu napadaču. Upravo iz razloga što korisnik ništa niti ne sumnja, ovaj oblik rootkit-a je teško otkriti.
  2. Virtualizirani (virtualized) – ovaj tip rootkit-a iskorištava mogućnost postojanja više operacijskih sustava pokrenutih na istom host-u istovremeno. To svojstvo omogućava virtualizacijska platforma (hypervisor, virtual machine monitor).  Virtualizirani rootkit će se instalirati između programske podrške sustava i samog operacijskog sustava. Rootkit će operacijski sustav tretirati kao virtualni te presretati i potiho mijenjati svaki njegov pokušaj komunikacije sa sklopovskom podrškom.
  3. Na razini jezgre (kernel level) – riječ je o rootkit-u koji, u većoj ili manjoj mjeri, mijenja kôd same jezgre sustava, kako bi se prikrilo postojanje rootkit procesa. Obično se to sve izvodi putem upravljačkih programa (device drivers). Naime, većina operacijskih sustava dopušta izvođenje upravljačkih programa sa svim pravima koje ima i sam operacijski sustav. Upravo su to svojstvo napadači znali iskoristiti za ostvarivanje svojih napada.  Ovaj tip rootkit-a je teško otkriti jer sustav misli da je sve u redu.
  4. Na razini biblioteke (library level) – ovaj rootkit mijenja pozive sustava kako bi prikrio podatke o napadaču. Može ga se otkriti pregledavanjem samog kôda biblioteka (na Windows platformi obično se misli na DLL) ili uporabom digitalnog potpisa.

  5. Na razini aplikacije (aplication level) – riječ je o najčešćem tipu rootkit-a, koji mijenja binarni zapis aplikacije sa napadačevom verzijom istog. Poznat je pod nazivom Trojanski konj (Trojan horse, Trojan)

 

OSSEC HIDS otkriva rootkit-e na razini aplikacija i na razini jezgre. Na žalost, to se ne odnosi za Windows operacijski sustav. Naime OSSEC HIDS trenutno nema mogućnost detektiranja rootkit-a na Windows operacijskom sustavu.

 

U datotekama rootkit_files.txt i rootkit_trojans.txt nalaze se potpisi svih poznatih rootkit-a na razini aplikacije za Unix platformu. Datoteke se mogu pronaći u direktoriju /var/ossec/etc/shared.

 

Otkrivanje rootkit-a OSSEC provodi u dva koraka. Prvo traži rootkit-e na razini aplikacija, koristeći prethodno spomenute dvije datoteke. Drugi korak je traženje rootkit-a na razini jezgre, bazirano na tehnologiji za otkrivanje nepravilnosti. Između ostalog, otkrivanje nepravilnosti podrazumijeva skeniranje /dev[12] direktorija u cilju pronalaženja datoteka koje tamo ne pripadaju. Općenito se skenira cijeli datotečni sustav kako bi se otkrili neobične datoteke i dozvole. Npr. datoteka u vlasništvu root-a, za koju neki drugi korisnici posjeduju pravo pisanja. Provjeravaju se i skriveni direktoriji i datoteke. Isto teko temeljito se provjeravaju svi procesi. Npr. sumnjivo je ukoliko se pokaže da je PID (process ID) u upotrebi, a naredba ps[13] ne ispisuje taj proces. Može biti da je instalirana lažna verzija te naredbe u sklopu rootkit-a na razini jezgre. Na posljetku valja spomenuti i provjeru pristupa. Provjerava se svaki TCP i UDP pristup (port) na sustavu. Ukoliko se pokaže da je pristup u upotrebi, ali ga naredba netstat[14] ne prikazuje može biti riječ o rootkit-u koji radi na tom pristupu.

 

 

6.1.4. Alarmiranje u stvarnom vremenu

 

Već je spomenuto da OSSEC vrši svoje sigurnosne provjere u određenim vremenskim intervalima. Tom prilikom stvaraju se i logovi unutar kojih su zapisani svi bitniji događaji i pronalasci. Administrator sustava može prolaskom kroz te logove stječi saznanja o svemu što se događalo u sustavu, naravno s aspekta sigurnosti, te potom poduzeti određene protumjere, ukoliko se za to ukaže potreba. Međutim, nekad bi bilo prikladnije dobivati obavijesti u stvarnom vremenu o bitnim događajima u sustavu, kako bi se moglo pravodobno reagirati. OSSEC ima vrlo jednostavno rješenje za to: elektronska pošta. Naime prilikom instalacije i/ili konfiguracije OSSEC HIDS-a može se odabrati opcija alarmiranja u stvarnom vremenu, koja podrazumijeva slanje obavijesti na e-mail adresu korisnika. Više o samom podešavanju ove postavke može se pročitati u poglavlju 6.3. Konfiguracija OSSEC HIDS-a.

 

OSSEC HIDS svim obavijestima (alarmima) dodjeljuje stupanj ozbiljnosti koji se kreće u rasponu od 0 do 15. Alarm stupnja 15 jest najozbiljniji, dok se onaj razine 0 obično ignorira. Po početnim postavka, OSSEC u svojim logovima bilježi obavijesti od 1 do 15, dok se poruke elektroničke pošte generiraju za svaki alarm stupnja ozbiljnosti 7 ili više. Kao i sve ostalo, i ove postavke se mogu prilagoditi potrebama korisnika, putem postavki unutar konfiguracijske datoteke.

 

Iako se ne čini tako, i stupanj ozbiljnosti 0 jest itekako koristan. Budući da je svaki sustav drugačiji, teško je definirati univerzalna pravila koja bi bila prikladna i optimalna za sve sustave. Upravo zbog toga može se desiti, da neka pravila definiraju, očekivane aktivnosti za neki sustav, sumnjivima te u skladu s time podignu određen broj lažnih uzbuna. Kako bi se smanjio broj takvih slučajeva korisniku se pruža mogućnost promjene stupnja ozbiljnosti određenog pravila u vrijednost 0, kao i stvaranje novog pravila stupnja 0 koje opisuje neku normalnu aktivnost. OSSEC će, uz takve postavke, i dalje klasificirati to ponašanje kao sumnjivo, ali će ga zbog stupnja ozbiljnost 0 ignorirati. Dakle, o tome neće biti zapisa u logovima, kao niti slanja elektroničke obavijesti. Ovakav pristup može znatno smanjiti broj lažno podignutih uzbuna, ali zahtjeva stručnost i dobro poznavanje i razumijevanje nadgledanog sustava.

 

 

6.1.5. Aktivni odgovori

 

Aktivni odgovori su još jedna funkcionalnost OSSEC HIDS-a. Riječ je o, unaprijed definiranoj, reakciji OSSEC-a na otkrivenu neprimjerenu aktivnost, napad ili narušavanje sigurnosne politike.

 

Aktivni odgovor se veže uz neko pravilo. Za jedno pravilo može biti definiran proizvoljan broj aktivnih odgovora. Podsjetimo, svako pravilo opisuje neki oblik sigurnosne prijetnje. Ukoliko se, prilikom nadgledanja sustava, dogodi poklapanje pojedinih događaja sa određenim pravilom, znači da je sigurnost sustava na neki način ugrožena. Slijedi izvršavanje svih aktivnih odgovora definiranih za to pravilo. Korisnik/administrator će o svemu biti informiran standardnim putovima (elektronička pošta, logovi).

 

Kreiranje aktivnog odgovora se provodi u nekoliko koraka. Prvo je potrebno napisati skriptu ili izvršni program koje treba pokrenuti kao reakciju na određenu prijetnju. Te se skripte/izvršni programi pohranjuju u direktorij /var/ossec/active-response/bin/. Samom instalacijom se dobiva paket gotovih skripti koje su korisniku  na raspolaganju. Te skripte su pisane s ciljem blokiranja ili sprečavanja nekih akcija. Proces stvaranja jedne ovakve skripte zahtjeva potpunu koncentriranost, kako ona ne bi prouzročila više štete nego koristi. Naime potpuno bi bilo neprihvatljivo, da spretniji i upućeniji napadač iskoristi loše napisanu skriptu protiv samog sustava, kao pomoć u izvršavanju svog napada.

 

Sljedeći korak u kreiranju aktivnog odgovora jest pisanje naredbe (command) koja se veže uz postojeću skriptu. Naredba se piše u sklopu konfiguracijske datoteke. Vrlo je jednostavna, potrebno je pravilno namjestiti svega nekoliko postavki.

 

Treći i završni korak jest korak povezivanja naredbe (koja upućuje na određenu skriptu) i samog pravila na koje se ona odnosi. Ovaj korak, baš kao i prethodni, navodi se u konfiguracijskoj datoteci i stvara aktivni odgovor. On između ostalog definira izvođenje specificirane naredbe svaki put kad se pronađe poklapanje s navedenim pravilom ili za svaki događaj koji se podudara sa zadanim stupnjem ozbiljnosti.

 

Podjelom na međukorake je u biti olakšano kreiranje samog aktivnog odgovora, dok dodatne postavke, u svakom koraku, omogućuju maksimalnu prilagodbu stvarnim potrebama sustava.

 

 

6.2. Instalacija OSSEC HIDS-a

 

 

OSSEC HIDS može raditi na čitavom nizu operacijskih sustava. Već je spomenuto da tu spada širok skup Unix, Linux i BSD operacijskih sustava, te Windows u verziji OSSEC agenta.

 

Instalacija OSSEC HIDS-a započinje pravilnim odabirom tipa instalacije. Za početak je važno znati operacijski sustav na koji se OSSEC instalira te što sve OSSEC treba nadgledati. Postoje lokalni te server/agent tip instalacije. Tablica 1. detaljnije prikazuje kojim slučajevima odgovara koji tip instalacije.

 

Spomenimo i da ne postoji mogućnost promjene tipa instalacije nakon što je OSSEC instaliran na sustav. Primjerice, ukoliko je provedena lokalna instalacija, ali se naknadno pokazala potreba da OSSEC HIDS radi kao agent, jednostavne promjene tipa nema. Dakle, potrebno je potpuno obrisati lokalnu instalaciju te iz početka provesti agent instalaciju OSSECA. Stoga je vrlo važno unaprijed pravilno odabrati tip instalacije, koji najbolje odgovara potrebama sustava.

 

Prije same instalacije treba se zapitati koliko vjerujemo host-u kojeg OSSEC treba nadgledati. Naime vrlo je važno instalirati OSSEC na siguran host, inače cijeli koncept zaštite pada u vodu. Naime uvijek postoji mogućnost da je rootkit instaliran na host prije samog OSSEC-a. Na taj način bi u startu integritet bio narušen, a time i lažan svaki OSSEC-ov sigurnosni izvještaj. Idealno bi bilo reinstalirati sve sustave na koje se planira instalirati OSSEC. Naravno, to nije uvijek moguće. No u borbi protiv rootkit-a postoje mnogi alati. Sami autori OSSEC-a preporučuju web stranicu AntiRootkit.com na adresi www.antirootkit.com, kao mjesto gdje se mogu naći odgovori na mnoga pitanja vezana uz otkrivanje i eliminiranje rootkit-a na računalnim sustavima.

 

Sama instalacija OSSEC HIDS-a je vrlo jednostavna. U nastavku slijedi kratki opis lokalne OSSEC HIDS instalacije na Ubuntu platformi.

 

U grubo rečeno postupak se sastoji od dohvata (download) instalacijskog paketa sa službene stranice http://www.ossec.net/. Potom slijedi kompajliranje i instalacija.

 

Krenimo redom. Prije instalacije, treba se osigurati da će se paket moći kompajlirati na sustavu. Dakle potrebno je instalirati pakete vezane uz sam operacijski sustav. Odgovarajuća naredba za Ubuntu platformu jest:

 

sudo apt-get install build-essential           

 

Potom slijedi dohvaćanje instalacijskog paketa, te verifikacija sažetaka, kako bi se provjerio njegov integritet.

 

wget http://www.ossec.net/files/ossec-hids-latest.tar.gz

wget http://www.ossec.net/files/ossec-hids-latest_sum.txt

 

cat ossec-hids-latest_sum.txt

MD5 (ossec-hids-latest.tar.gz) = XXXXXXX

SHA1 (ossec-hids-latest.tar.gz) = YYYYYYYY

 

md5 ossec-hids-latest.tar.gz

MD5 (ossec-hids-latest.tar.gz) = XXXXXXX

 

sha1 ossec-hids-latest.tar.gz

SHA1 (ossec-hids-latest.tar.gz) = YYYYYYYY

 

Potom je potrebno izvući (extract) OSSEC iz paketa i započeti instalaciju.

 

tar -zxvf ossec-hids-*.tar.gz (or gunzip -d; tar -xvf)

cd ossec-hids-*

 

./install.sh

 

U nastavku je potrebno izabrati jezik instalacije, te odgovoriti na nekoliko pitanja. Prvo se odabire vrsta instalacije, u ovom primjeru je to lokalna. Potom se nudi odabir direktorija u koji će se OSSEC instalirati. Početno (default) je postavljen /var/ossec direktorij. U načelu to može biti bilo koji direktorij kojem isključivo root korisnici imaju pristup. Ovaj rad je pisan uz pretpostavku da je instalacija provedena u početno ponuđenom direktoriju.

 

Tablica 6.1. Odabir tipa instalacije

 

Slučaj

Lokalna instalacija

Agent/Server instalacija

Treba štititi jedan sustav

X

 

Više sustava treba slati izvještaje na jednu lokaciju

 

X

Imam korisnike s udaljenim pristupom, koji zahtijevaju zaštitu, ali moja mreža nije jedina na koju se spajaju

X

 

Moje organizacije propisuje poštivanje regulacija, koje zahtijevaju centralizirano upravljanje logovima

 

X

Imam jedan server na drugoj lokaciji, koji ne može komunicirati s mojom mrežom gdje je OSSEC server

X

 

Zadužen sam za pregledavanje pitanja/problema što je više sustava moguće

 

X

Kod kuće imam laptop koji se na internet spaja putem spore dial-up veze

X

 

Želim skupiti sustavske logove sigurnosne stijene

 

X

 

Slijede koraci u kojima se konfiguriraju svojstva OSSEC-a. Sve postavke iz narednih koraka se mogu naknadno mijenjati unutar konfiguracijske datoteke (vidi sljedeće poglavlje). Moguće je odabrati primanje obavijesti elektroničkom poštom. U tom slučaju potrebno je navesti adresu elektroničke pošte te SMTP server. U ponudi su i pokretanje provjere integriteta datoteka i alata za otkrivanje rootkit-a kao i aktiviranje unaprijed ugrađenih aktivnih odgovora.

 

Kad je postupak instalacije završen, preostaje još samo pokrenuti OSSEC HIDS. To se izvršava naredbom:

 

            /var/ossec/bin/ossec-control start

 

Slično, za potrebe zaustavljanja IDS-a izvodi se naredba:

 

            /var/ossec/bin/ossec-control stop

 

Instalacijom OSSEC-a, nastaje velik broj direktorija i datoteka. Ovisno o samoj funkciji datoteke, korisnik će s njom biti u većoj ili manjoj mjeri upoznat. Tipičnog korisnika najviše će zanimati sadržaj glavne konfiguracijske datoteke (ossec.conf) te direktorija s logovima (/var/ossec/logs)  U tablici 6.2. slijedi pregledan popis svega što Linux/Unix/BSD instalacija OSSEC-a donosi na računalo.

 

Tablica 6.2.. OSSEC HIDS direktoriji i datoteke

 

Direktorij/datoteka

Opis

/var/ossec/bin

direktorij sadrži sve izvršne (binarne) datoteke

/var/ossec/etc

direktorij sadrži sve konfiguracijske datoteke

ossec.conf

glavna OSSEC HIDS konfiguracijska datoteka

internal_options.conf

datoteka s dodatnim konfiguracijskim opcijama

decoders.xml

datoteka  sadrži sve dekodere za obradu logova

client.keys

datoteka  sadrži autentifikacijski ključ korišten za agent/server komunikaciju

/var/ossec/logs

direktorij sadrži sve logove vezane uz OSSEC HIDS

ossec.log

OSSEC HIDS glavni logovi (greške, upozorenja, info)

alerts/alerts.log

OSSEC HIDS zapis uzbuna

active-responses.log

OSSEC HIDS logovi aktivnih odgovora

/var/ossec/queue

direktorij sadrži OSSEC HIDS red datoteka

agent-info

direktorij sadrži specifične Informacije o agentu

syscheck

direktorij sadrži podatke provjere integriteta s posebnim log datotekama za svakog agenta

rootcheck

direktorij sadrži rootkit informacije i podatke o nadziranju sigurnosne politike za svakog agenta

rids

direktorij sadrži ID-ove poruka agenata

fts

datoteka sadrži unose o prvom putu pojavljivanja

/var/ossec/rules

direktorij sadrži sva OSSEC HIDS pravila

/var/ossec/stats

direktorij sadrži OSSEC HIDS statističke informacije

 

Uklanjanje OSSEC HIDS-a

 

Postupak uklanjanja OSSEC HIDS-a sa sustava, sastoji se od brisanja /var/ossec direktorija i inicijalizacijske skripte /etc/init.d/ossec. Ukoliko korisnik želi sačuvati OSSEC-ove log datoteke, mora ih prethodno pohraniti na drugu lokaciju.


6.3. Konfiguriranje OSSEC HIDS-a

 

 

Konfiguriranje OSSEC HIDS-a u najvećoj mjeri vrši se mijenjanjem postavki u (već više puta spominjanoj) datoteci ossec.conf. Glavna konfiguracijska datoteka pisana je u XML[15] (Extensible Markup Language) formatu, što znatno olakšava razumijevanje i konfiguriranje te doprinosi preglednosti cijelog dokumenta.

 

Sve opcije su definirane unutar korijenskog elementa (tag) <ossec_config> </ossec_config> te podijeljene unutar 12 podelemenata:

 

1.      <global> - općenite konfiguracijske opcije postavljane prilikom instalacije

  1. <alerts> -  opcije e-mail i log obavijesti/uzbuna
  2. <email_alerts> - dodatne opcije e-mail obavijesti
  3. <remote> - opcije vezane za udaljene konekcije i agente (samo za server)
  4. <database_output> - izlazne opcije baze podataka
  5. <rules> - lista uključenih pravila
  6. <client> - opcije vezane uz agente
  7. <localfile> - opcije za nadziranje log datoteka
  8. <syscheck> - opcije vezane za provjeru integriteta
  9.  <rootcheck> - opcije vezane uz detekciju rootkit-a i sigurnosnu politiku
  10.  <command> - opcije aktivnih odgovora
  11.  <active-response> - dodatne opcije aktivnih odgovora

 

Kod lokalnog tipa instalacije OSSEC HIDS-a, bitno je pravilno konfigurirati postavke podelemenata <global>, <alerts>, <email_alerts>, <rules>, <localfile>, <syscheck>, <rootcheck>, <command> i <active-response>.

 

Iako svaki od ovih podelemenata ima čitav niz opcija, u ovom radu će biti izdvojene i obrađene samo one najznačajnije.

 

Od općenitih konfiguracijskih opcija, vjerojatno je najvažnija mogućnost primanja e-mail obavijesti o događajima u sustavu. Nema potrebe odvajati posebno vrijeme za pregledavanje svih log zapisa. Jednostavnim namještanjem opcija elektroničke pošte, korisnik/administrator dobiva slobodu bavljenja drugim poslovima uz kontinuirani uvid u sva, sa sigurnosnog aspekta, bitna zbivanjima u nadziranom sustavu.

 


Osim odabira primanja e-mail obavijesti, potrebno je unesti važeću adresu elektroničke pošte te SMTP server (Slika 6.3.). Ukoliko se ove postavke namještaju prilikom instalacije, OSSEC će sam pronaći i ponuditi odgovarajući SMTP server. Istovremeno može više ljudi primati e-mail obavijesti, potrebno je samo navesti svaku adresu unutar zasebnih <email_to> oznaka.

 

Slika 6.3. Primjer postavljanja e-mail postavki.

 

 

Opcije e-mail i log obavijesti (Slika 6.4.) definiraju minimalan stupanj ozbiljnosti, nekog događaja, potreban da se pošalje e-mail obavijest, odnosno doda zapis u log datoteku. Ukoliko nije zadovoljan početnim stanjem, korisniku su na raspolaganju  vrijednosti u rasponu 0 – 15.

 

Slika 6.4. Primjer postavljanja opcija obavijesti

 

 

Element <email_alerts> sadrži dodatne postavke obavijesti. Primjerice, može se podesiti da osoba zadužena za sigurnost Web servera dobiva obavijesti isključivo o onim događajima koji se poklapaju s pravilima vezanim uz Apache HTTP server. Isto tako, može se podesiti slanje e-mail obavijest u SMS formatu i slično.

 

Unutar <rules></rules> oznaka definiraju se sva pravila koja se učitavaju prilikom pokretanja OSSEC HIDS-a. Ovisno o onom što opisuju, pravila se grupiraju i definiraju unutar posebne XML datoteke. Tako se primjerice, sva pravila vezana uz Apache HTTP server nalaze se u apache_rules.xml datoteci. Spomenuta datoteka, kao i čitav niz drugih dolaze u paketu s OSSEC HIDS-om i nalaze se u  /var/ossec/rules/ direktoriju. I sva ostala pravila koja sam korisnik kreira moraju biti smješteni u ovom direktoriju, inače ih OSSEC neće moći pronaći niti upotrebljavati. Oznaka <rules>  je vrlo jednostavna, jer sadrži samo opciju za uključivanje nekog pravila. Kako to izgleda u konfiguracijskoj datoteci može se vidjeti na slici 6.5.

Slika 6.5.  Konfiguriranje pravila

 

Već je spomenuto da OSSEC HIDS detektira sumnjive aktivnosti analiziranjem logova različitih aplikacija, programa i sustava. Većina takvih datoteka, koje obično postoje u sustavu, je automatski dodana u skup nadziranih datoteka. No, svaki sustav je drugačiji tako da će se povremeno pojaviti potreba da se još neke datoteke uključe u nadziranje. To se može podesiti unutar oznaka <localfile></localfile>.  Potrebno je definirati lokaciju, gdje se datoteka nalazi te format u kojem je pisana. Podržani su formati syslog, snort-full, snort-fast, squid, iis, eventlog, nmapg, mysql_log, postgresql_log, apache. Ukoliko aplikacija unosi jedan zapis po liniji datoteke preporučeno je odabrati syslog format. Slika 6.6. pokazuje primjer kako to izgleda u praksi.

 

Slika 6.6. Konfiguriranje logova

 

O provjeri integriteta datoteka je već dosta toga rečeno. Svaki tip instalacije podržava ovu funkcionalnost OSSEC HIDS-a. Tri su glavne točke podešavanja. Prva se tiče frekvencije provjere integriteta. Početno je postavljeno da se integritet provjerava svakih 6 sati. Ukoliko korisniku to ne odgovara može unesti novu vrijednost, izraženu u sekundama. Druga stvar se tiče direktorija koji se trebaju pregledavati. Početno su to direktoriji: /etc, /usr/bin, /usr/sbin te /bin  i /sbin. Nasuprot toga, treće bitno podešavanje se tiče datoteka ili direktorija koje treba ignorirati. Naime u svakom sustavu postoje datoteke koje se stalno mijenjaju (npr. logovi). To je njihovo očekivano ponašanje te nema smisla svako malo dobivati obavijest da se njihov sadržaj promijenio. Upravo tu uskače opcija <ignore>.

 

Kako bi se izvukao maksimum iz OSSEC-a spomenute opcije bi svi trebali prilagoditi svojim potrebama. Kao i u prethodnim slučajevima, slijedi primjer <syscheck> opcija konfiguracijske datoteke (Slika 6.7.).

 

 

Slika 6.7. Postavke provjere integriteta datoteka

 

Kako bi se moglo provoditi otkrivanja rootkit-a (rootcheck), unutar <rootcheck> oznake se moraju specificirati datoteke koje sadrže sve poznate rootkit-e. Riječ je o datotekama rootkit_files.txt i rootkit_trojans.txt. Ukoliko postoje posebne datoteke koje definiraju određena pravila sigurnosne politike, one se također trebaju ovdje navesti. Naime, zadaća rootcheck-a osim otkrivanja rootkit-a jest i nadziranje provođenja sigurnosne politike. Slično kao i s pravilima i ove se datoteke trebaju učitati prilikom pokretanja OSSEC HIDS-a. Druga korisna opcija <rootcheck> elementa jest namještanje frekvencije izvršavanja ove funkcije. Vrijeme izraženo u sekundama predstavlja koliko će se često tragati za znakovima rootkit napada.

 

Na posljetku preostaje još samo pitanje konfiguracije aktivnih odgovora. Tome služe elementi <command> i <active-response>.

 

Oznaka <command> se može shvatiti kao svojevrstan pokazivač na skriptu, koja sadrži definiciju reakcije na neki događaj opisan pravilom. Oznaka <active-response> definira neke dodatne opcije poput primjerice vremena trajanja reakcije.  

 

Slika 6.8. prikazuje primjer aktivnog odgovora na svaki događaj koji se poklopi s pravilom čiji je nivo ozbiljnosti veći od 6. U izvršnoj skripti host-deny.sh je specificirano blokiranje IP adresa izvršitelja tog događaja. Dodatne opcije aktivnog odgovora s druge strane definiraju da blokiranje ne bude trajno, već kratkoročno (600 sekundi). Ukoliko je riječ o pravom napadu, on će biti spriječen, a napadač blokiran. Međutim, kako uvijek postoji mogućnost lažnih uzbuna, na ovaj način se osiguralo da se potencijalno ni krivom ni dužnom, blokiranom korisniku ubrzo omogući ponovno povezivanje.

 

 

Slika 6.8. Primjer konfiguriranja aktivnog odgovora

 

 

Priloženi primjeri pokazuju da je vrlo jednostavno pravilno konfigurirati OSSEC HIDS, no to ne znači da se taj korak treba i zaobići. Naime, glavne funkcije se mogu uključiti prilikom instalacije, mnogo pravila i neki aktivni odgovori unaprijed su napisani što će mnoge zadovoljiti. Međutim, za maksimalnu učinkovitost OSSEC HIDS-a, potrebno je ipak neka postavke prilagoditi konkretnom sustavu koji se nadzire.

 

 


7. Sustav za otkrivanje napada NetPatrol

 

 

U prethodnom poglavlju je razmatran OSSEC HIDS u funkciji predstavnika besplatne IDS podrške, dok ćemo se u ovom pozabaviti jednim komercijalnim rješenjem, NetPatrol IDS-om. Osim što nije besplatan[16], NetPatrol se od OSSEC HIDS-a razlikuje i po odabiru informacijskog izvora. Naime, NetPatrol nadzire informacije prikupljene iz mreže, što ga čini mrežno orijentiranim IDS alatom. Njegova glavna namjena jest nadziranje potencijalno sumnjivog mrežnog prometa uz poduzimanje odgovarajućih reakcija u slučaju otkrivanja napada.

 

Na stranici All-Interent-Security.com, najboljim IDS-om 2008. godine proglašen je upravo NetPatrol IDS[17].

 

Glavna funkcionalnost ovog alata je nadziranje cijele mreže i otkrivanje poznatih napada. Ovisno o detektiranim prijetnjama i napadima, NetPatrol vrednuje trenutnu sigurnost sustava brojevima od 0 do 999. Što je taj broj veći znači da je sustav izložen većem riziku i da je potrebna pažnja administratora. Na prvi pogled se možda, ovaj široki raspon vrednovanja sigurnosnog stanja, čini nepotrebnim, ako ne i smiješnim. Naime, što korisniku/administratoru predstavlja primjerice razina opasnosti 925 u odnosu na 932? Jednako će reagirati u oba slučaja. Brzinski će pokušati saznati o čemu se radi i blokirati napadača. Međutim, ipak postoji opravdan razlog korištenja ovako širokog raspona, a to su lažne uzbune (false positives). Općeniti nedostatak svih IDS sustava je generiranje određenog broja lažnih uzbuna. Riječ je o situacijama kada IDS normalno i očekivano ponašanje sustava identificira kao sumnjivo i podigne uzbunu. Taj broj lažnih uzbuna ovisi o kvaliteti IDS alata, ali i o pravilnoj konfiguraciji i prilagođenosti tog alata samom sustavu koji nadzire. No, i uz najbolje alate i administratore, lažnih uzbuna će biti. Upravo je u tome prednost širokog raspona vrednovanja sigurnosti. Naime ukoliko se detektira neko sumnjivo ponašanje, NetPatrol će to prijaviti i podići razinu izloženosti sustava s 0 na recimo 10 do 30 stupnjeva. Ukoliko je to bio samo izolirani incident, može biti da je riječ o lažnoj uzbuni i taj broj će polako padati kako vrijeme promiče. Međutim, ukoliko se ubrzo detektiraju slični sumnjivi paketi taj će broj sve više i sve brže rasti, sugerirajući administratoru da je neka vrsta skeniranja ili napada u tijeku.

 

NetPatrol možemo podijeliti na dva korisniku bitna dijela. Najvažniji dio je NetPatrol motor koji izvršava većinu bitnih IDS funkcija analize mrežnog prometa. Motor se sastoji od nekoliko modula i pokreće se automatski podizanjem samog nadziranog sustava. Drugi važan dio NetPatrol-a je udaljena konzola, odnosno grafičko sučelje. Ta konzola je realizirana kao nezavisni modul, koji se putem određenog pristupa povezuje s motorom i prikuplja sve informacije koje preko sučelja prezentira korisniku. Početno je riječ o pristupu 810, no on se može promijeniti u konfiguracijskim postavkama. Druga važna karakteristika ove konzole jest da se ona može spojiti s NetPatrol motorom koji nije nužno pokrenut na istom računalu. Potrebno je imati pravo pristupa i znati IP adresu računala koje NetPatrol nadzire.

 

NetPatrol je namijenjen isključivo Windows operacijskim sustavima. Zbog razlika u Windows inačicama ponuđene su dvije instalacijske verzije jedna za Win2k/XP/2003, a druga za WinNT 4.0 sustave. Ovaj IDS je samostalan sustav što proizlazi iz činjenice da za svoj rad ne zahtjeva postojanje neke druge programske podrške na sustavu, kao što je to čest slučaj s raznim alatima. NetPatrol IDS može raditi na svakom Windows orijentiranom sustavu te nadzirati sve potrebne mreže.

 

Kako bi se korisnik mogao uvjeriti u sve pogodnosti ovog alata, kao i ispitati zadovoljava li on u potpunosti potrebe njegovog sustava, na raspolaganju mu je 30 dana pokusnog korištenja. Dakle dovoljno je samo dohvatiti NetPatrol sa službene stranice i instalirati ga na svoj sustav. Pokusna verzija je jednaka kupljenoj, dakle u probnom roku su korisniku na raspolaganju sve čari NetPatrol IDS-a. Nakon isteka pokusnih 30 dana, alat se više neće moći koristiti, dok ga korisnik ne kupi. Ukoliko se probni rok pokaže prekratkim, postoji mogućnost njegovog produživanja.

 

Qbik je proizvođač ovog alata. Riječ je o privatnoj firmi, osnovanoj 1995. na Novom Zelandu, koja razvija programska rješenja iz područja Internet povezivanja i sigurnosti. Njihov vjerojatno najpoznatiji proizvod je WinGate. To je alat s kojim se upravlja povezivanjem na Internet.

 

 

7.1. Mogućnosti NetPatrol alata

 

 

Od funkcionalnosti ovog alata izdvojimo analizu mrežnog prometa i detekciju poznatih napada, funkcije Qbik Portlist alata i NetPatrol senzora, alarmiranje u stvarnom vremenu, aktivne odgovore te opcije grafičkog sučelja.

 


7.1.1. Analiza mrežnog prometa i detekcija poznatih napada

 

NetPatrol IDS je mrežno bazirani IDS, što znači da nadzire mrežu i prijetnje koje dolaze iz nje. Iza pojma nadziranja mreže krije se detaljna analiza primljenih mrežnih paketa. Skup primljenih paketa varira o odabranom načinu rada IDS-a. U normalnom načinu rada obrađivat će se paketi koji putuju do ili preko nadzirane mašine. Drugi pak način rada, promiscuous mode, određuje da se obrađuju svi paketi na mreži. U drugom slučaju će biti potrebno analizirati više paketa, s čime će se dobiti detaljniji uvid u razinu sigurnosti sustava. S druge strane velika količina prometa, može uzrokovati povećano opterećenje sustava. Isto tako mogući su i gubitci paketa koji se ne stignu analizirati. Oba načina rada imaju i dobre i loše strane te se odabir treba uskladiti s mogućnostima štićenog sustava i karakteristikama mreže.

 

NetPatrol je pasivni IDS, što znači da ne provodi aktivno skeniranje korisnikove mreže. On osluškuje i pretražuje sve primljene pakete pokušavajući u njima otkriti uzorke koji se poklapaju s određenom vrstom napada. Sva pravila koja definiraju različite vrste napada i sličnih nedopuštenih aktivnosti su pohranjena u datoteci NetPatrol.rules. I ovaj alat nudi mogućnost modificiranja postojećih i kreiranja novih pravila. Važno je znati da se ta datoteka mora redovito nadograđivati. Ukoliko se pojavi nova vrsta napada, koja nije opisana odgovarajućim pravilima, velika je vjerojatnost da ju NetPatrol neće znati prepoznati.

 

Iako se ovaj alat definira kao mrežni IDS, on svoj rad ne bazira isključivo na analizi paketa. Upravo zbog prethodno spomenute mogućnosti pojave novih napada, koriste se neke tehnike detekcije nepravilnosti. Ovim tehnikama se mrežni promet uspoređuje s nekim referentnim podacima kako bi se identificiralo nenormalno i potencijalno štetno ponašanje. Traže se statistička odstupanja u podatkovnom prometu, aktivnostima aplikacija i slično.

 

Osim analiziranja paketa, NetPatrol vrši i njihovu pohranu u obliku specijalnih logova. To kasnije pruža mogućnost rekonstrukcije cijelih sjednica. Na taj način se mogu detaljno ispitati svi paketi, koji su bili u optjecaju tijekom napada ili nekog događaja koji se ispituje.

 

 

7.1.2. Qbik Portlist alat

 

Qbik Portlist je manja, ali korisna aplikacija, koja izlistava procese s pripadajućim (TCP/UDP) pristupima (port), istovremeno pružajući izvještaj o stanju tih pristupa. Riječ je u prvom redu o statističkom alatu. Njegova jedina funkcionalnost, pored pružanja raznih izvještaja i tablica jest mogućnost terminiranja odabranog procesa i zatvaranja pripadajućeg socket-a.

 

 

7.1.3. NetPatrol senzori

 

Senzori, odnosno moduli, su dijelovi NetPatrol alata, koji svojim radom doprinose cjelokupnoj učinkovitosti ovog IDS-a. Oni nisu neophodni za rad NetPatrol motora i može ih se isključiti preko konfiguracijskog sučelja.

 

Senzor transportnog sloja prikuplja i analizira informacije o uspostavljenim konekcijama triju protokola: TCP, UDP i ICMP. Ovaj senzor ima mogućnost detektiranja pokušaja skeniranja pristupa, SYN preplavljivanja za TCP protokol te ilegalnih ili sumnjivih struktura paketa.

 

Senzor identifikacije operacijskog sustava nije glavna snaga NetPatrol alata, no može se pokazati itekako korisnim. Ovaj senzor u biti pokušava odrediti operacijski sustav računala koje komunicira s nadziranim sustavom. To je moguće zbog razlika u pojedinim operacijskim sustavima, koje se reflektiraju i na pakete i samu komunikaciju. Međutim i najmanje promjene početnih postavki sustava, mogu uzrokovati neuspjeh pri identifikaciji. Upravo to je i slaba točka ovog modula. S druge strane, ovaj senzor može detektirati promjenu identiteta (identity switch) što automatski znači da se nešto sumnjivo događa. Naime promjena identiteta karakterizira neke "istraživačke" napade.

 

Postoji još i WinGate modul koji služi koordinaciji rada s WinGate sigurnosnom stijenom (firewall) ukoliko je i on dio sigurnosne arhitekture. Ovaj modul neće biti obrađen u sklopu ovog rada.

 

 

7.1.4. Alarmiranje u stvarnom vremenu

 

Slično kao OSSEC HIDS i ovaj alat nudi mogućnost generiranja obavijesti u stvarnom vremenu. Standardno, svaka detektirana sumnjiva aktivnost se zapisuje u NetPatrol.alert datoteku. Ukoliko želi, korisnik može konfigurirati Netpatrol tako da dobiva obavijesti na adresu elektroničke pošte.

 

Ono po čemu se ovaj alat razlikuje od OSSEC HIDS-a su još neke dodatne mogućnosti alarmiranja. To su mogućnost alarmiranja upotrebom zvučnog signala ili otvaranjem prozorčića na ekranu s tekstom obavijesti.

 

Svaka pojedinačna obavijest u datoteci NetPatrol.alert vrednuje se zasebnim nivoom ozbiljnosti. Uz taj se broj može vezati neki od spomenutih načina podizanja uzbune (e-mail poruke, zvučni signal, prozorčić s obavijesti). Osim nivoa ozbiljnosti, uz način podizanja uzbune može se vezati i kombinacija znakova koja se mora naći unutar nekog zapisa u NetPatrol.alert datoteci. Primjerice, može se definirati generiranje e-mail obavijesti svaki put kad se u spomenutu datoteke upiše zapis koji sadrži string "trojan" u sebi.

 

 

7.1.5. Aktivni odgovori

 

Aktivni odgovori opisuju reakciju IDS alata na otkriveni sigurnosni problem. Kako je riječ o alatu koji nadzire mrežni promet, obično ta reakcija podrazumijeva odbacivanje svih sumnjivih paketa, odnosno blokiranje IP adrese s koje su ti paketi upućeni.

 

Senzor transportnog sloja ima mogućnost definiranja reakcije NetPatrol-a na otkriveno skeniranje. Reakcija se određuje tijekom konfiguracije. Moguće je automatski blokirati IP adresu s koje je skeniranje pokrenuto. Na korisniku je da odabere na koliko dugo.

 

Očekivano, svako blokiranje IP adrese od strane NetPatrol alata je vremenski ograničeno. To je osiguranje od potencijalno lažne uzbune i nepravednog uskraćivanja komunikacije blokiranom računalu.

 

 

7.1.6. Grafičko sučelje

 

Već je bilo riječi o organizaciji grafičkog sučelja kao zasebnog modula i načina njegovog povezivanja s NetPatrol motorom. Ovdje će biti više riječi o informacijama koje ono pruža korisniku.

 

Prednosti grafičkog sučelja nad radom u komandnoj liniji, jest što se lakše i brže može nadgledati sustav. Naime grafičko sučelje omogućuje istovremeno prikazivanje više različitih vrsta informacija i statistika. Isto tako pruža se mogućnost uporabe boja za lakše skretanje pozornosti na neke sumnjive aktivnosti, kao i različitih grafičkih prikaza.

 

NetPatrol sučelje se može podijeliti na nekoliko cjelina unutar kojih se prikazuju različite grupe informacija. U središnjem dijelu se tako nalazi prozor unutar kojeg se prikazuje sadržaj NetPatrol.alert i NetPatrol.log datoteke, koje sadrže informacije o otkrivenim sumnjivim aktivnostima te o radu NetPatrol alata. Tipičan zapis u NetPatrol.alert datoteci sadrži sljedeće informacije: dodijeljeni nivo ozbiljnosti, vrijeme, informacije o konekciji, IP adresu s koje su poslani sumnjivi paketi, poruku o tipu napada, reference, tip napada, naziv datoteke u kojoj su pohranjene informacije o spornom paketu, identifikator pravila.

Tu je i "semafor " s crvenom, žutom i plavom lampicom. Blinkanje crvene lampice znači da je pronađena sumnjiva aktivnost i da je unesen zapis o tome u datoteku NetPatrol.alert. Nakon dvostrukog klika na lampicu, sadržaj datoteke pojavit će se na središnjem prozoru. Slično, žuta lampica signalizira da je unesen log zapis u NetPatrol.log datoteku. Plava lampica signalizira da se dogodilo nešto, što je izazvalo (re)akciju sigurnosne stijene. Klik miša na tu lampicu otvara novi prozor u kojem se nalazi informacija o operaciji koju je sigurnosna stijena izvela (npr. blokiranje neke IP adrese), vrijeme i datum, opis (npr. blokirana IP adresa) te koliko dugo ta akcija traje (npr. koliko dugo je spomenuta IP adresa blokirana). Uz semafor je i troznamenkasti display nivoa opasnosti. Što je broj manji (bliži nuli) znači da je sustav sigurniji. Kako taj broj raste, znači da raste i broj otkrivenih potencijalnih prijetnji i napada. Tu je i grafički prikaz opterećenosti mreže. U stvarnom vremenu se prikazuje broj pristiglih paketa po sekundi. Ostale opcije su prikaz broja bajtova po sekundi, broja izgubljenih paketa po sekundi… Također tu je i statistički prozorčić s podacima kao što su broj primljenih i izgubljenih paketa, prosječna veličina paketa i slično. Valja spomenuti i opciju grafičkog prikaza razdiobe paketa koji su bili u optjecaju zadnjih 10 minuta/sat vremena/dan/tjedan. Na grafu se pojedinačno iscrtava količina prometovanih TCP, UDP, ICMP i ostalih paketa u vremenskoj ovisnosti.

 

NetPatrol grafičko sučelje pruža mogućnost reguliranja blokiranih IP adresa. Na vrlo jednostavan način može se neka IP adresa dodati u listu blokiranja ili s nje izbrisati. Nadalje, nudi se i mogućnost filtriranja paketa, protokola, IP adresa…

 

 

7.2. Instalacija NetPatrol sustava za otkrivanje napada

 

 

Instaliranje NetPatrol alata je prilično jednostavan proces. Potrebno je samo dohvatiti NetPatrol.exe paket i pokrenuti instalacijski postupak. Uz prihvaćanje uvjeta korištenja i namještanje nekih temeljnih postavki, instalirat će se NetPatrol IDS i opcionalno Qbik Portlist aplikacija (Slika 7.2.).

 

NetPatrol nema posebne zahtjeve što se tiče sklopovske podrške sustava na koji se instalira. No valja voditi računa o činjenici da je riječ o alatu, koji u stvarnom vremenu analizira sve nadolazeće mrežne pakete. Ne čudi stoga da će u prometnijim mrežama ta analiza biti poprilično CPU zahtjevna. Iz tog razloga su predloženi neki minimumi: 1 Ghz procesor; 128 Mb RAM; NT, Windows 2000, XP, .NET OS; instaliran TCP/IP protokol.

 

Qbik Portlist i NetPatrol konzola se pokreću jednostavnim klikom na pripadajuću ikonicu, dok se NetPatrol motor automatski pokreće podizanjem nadziranog sustava, nastavljajući nesmetan rad u pozadini. Grafičko sučelje NetPatrol IDS-a prikazano je na slici 7.1. Ukoliko su sve postavke namještene i ne postoji potreba za aktivnim praćenjem rada NetPatrol-a, dovoljno je samo minimizirati prozor i on će potpuno nestati s ekrana. U system tray-u će se pojaviti mala ikonica preko koje će se u svakom trenutku moći pristupiti sučelju. Ukoliko se detektiraju sumnjivi paketi, ta ikonica će početi titrati, s ciljem privlačenja pažnje korisnika.

 

Osim spomenutih alata instalacija donosi i ne previše detaljnu help datoteku. Izgleda da je glavni nedostatak komercijalnih alata, kronično pomanjkanje konkretnih informacija o samom proizvodu

 

 

Slika 7.1. NetPatrol IDS

 

U odredišnom direktoriju instalacije, kreirat će se direktoriji alerts i log, unutar kojih NetPatrol pohranjuje datoteke s obavijestima o sumnjivim događajima (NetPatrol.alert) te zapisima o radu NetPatrol-a (NetPatrol.log). U direktorija files, NetPatrol pohranjuje datoteke s popisom analiziranih paketa  (*.pak).

 

Slika 7.2. Qbik Portlist

 

Po završetku instalacije, u odredišnom će direktoriju također biti instalirani i brojni moduli. Budući da svi oni zajedno osiguravaju maksimalnu učinkovitost NetPatrol IDS-a najvažniji od njih će biti navedeni u nastavku::

·        qbikids.sys – upravljački program NetPatrol IDS-a

·        Transport.dll – senzor transportnog sloja, koji analizira prikupljene informacije o konekcijama protokola TCP. UDP i ICMP. Ovaj senzor detektira skeniranje pristupa, SYN preplavljivanje za TCP protokole, nelegalne ili sumnjive pakete i slično.

·        PatternIDS.dll – IDS senzor koji se temelji na pravilima, pomoću kojih može detektirati neke poznate napade (npr. Slammer[18], Code Red[19])

·        IdentOS.dll – senzor identifikacije operacijskog sustava; pokušava povezati izvor prometa s pojedinim operacijskim sustavom, na temelju njegovih specifičnosti

·        NetPatrolConfig.dll – konfiguracijski modul

 

Uklanjanje NetPatrol IDS-a

 

Uklanjanje NetPatrol IDS-a je prilično jednostavan postupak. Potrebno je pokrenuti izvršavanje datoteke pod imenom Unistall NetPatrol. Time će glavnina ovog alata biti uklonjena. Na posljetku, korisnik još mora obrisati NetPatrol-ov izvršni direktorij sa eventualnim zaostalim datotekama. I u ovom slučaju se sve važne log datoteke trebaju pohraniti na sigurnu lokaciju, prije samog početka uklanjanja alata.

 

 

7.3. Konfiguracija NetPatrol sustava za otkrivanje napada

 

 

Konfiguracija NetPatrol alata se, očekivano, vrši putem grafičkog sučelja (Slika 7.3.). Konfiguracijske opcije su podijeljene na tri grupe:

1.      Konfiguracija sustava

2.      Konfiguracija modula

3.      Konfiguracija obavijesti i razine osjetljivosti

 

 

7.3.1. Konfiguracija sustava

 

Ovaj blok opcija obuhvaća postavke vezane uz kontrolu rada IDS-a, koje direktno utječu na način primanja i obrade samih paketa.

 

Riječ je o postavkama koje se tiču zauzeća memorije (npr. maksimalan broj paketa koji se pohranjuju po konekciji), korištenja procesora (npr. broj individualnih analitičkih dretvi ), odabira odredišnog direktorija log zapisa, kao i različitih opcija vremenskog ograničenja. Nadalje, ovdje se može odabrati promiscuous mode način rada NetPatrol IDS-a. Promiscuous mode znači hvatanje i analiziranje svih paketa, koji putuju tim mrežnim segmentom, nasuprot analiziranja isključivo onih paketa koji putuju do ili preko NetPatrol host-a.

 

IP opcije definiraju način obrade IP paketa, dok se u mrežnim postavkama definira mrežna topologija lokalne mreže. Tu se unose svi mrežni segmenti i pojedinačna računala, koji se smatraju internim i kojima se vjeruje. SMTP opcije se koriste za namještanje postavki slanja elektroničkih obavijesti. Slično kao i kod OSSEC HIDS-a, potrebno je definirati valjanu adresu elektroničke pošte i pripadajući SMTP server.

 

 

7.3.2. Konfiguracija modula

 

U ovom dijelu se može aktivirati/deaktivirati te konfigurirati svaki pojedini modul.

 

U postavkama senzora transportnog sloja može se, između ostalog, definirati da li će detektori skeniranja pristupa nadgledati sve pristupe ili samo one s brojem manjim od 1024. Isto tako moguće je uključiti/isključiti analizator za svaki pojedini protokol (TCP, UDP, ICMP), kao i definirati reakciju NetPatrol-a na detektirano skeniranje (TCP, UDP). U ponudi su: ne poduzmi ništa ili blokiraj izvršitelja skeniranja trajno/1 sekundu/30 sekundi/1minutu/1 sat. Izdvojimo i mogućnost podešavanja nivoa ozbiljnosti detektiranog skeniranja za svaki pojedini protokol.

 

Modul zadužen za pravila (PatternIDS senzor) pruža mogućnost odabira primarne datoteke s pravilima. Početno je to datoteka netpatrol.rules. Ova opcija je korisniku interesantna onda kada sam piše svoja pravila ili modificira postojeća. Gramatika pravila i ostala uputstva nalaze se Help datoteci.

 

Senzor OS identifikacije ima samo jednu opciju konfiguracije. Riječ je o potrebnom broju registriranih promjena identiteta za podizanjem uzbune. Znači, modul broji koliko je promjena identiteta detektirao. Kad se dosegne broj definiran konfiguracijom, korisnik se obavještava o tome.

 

Grafičko sučelje NetPatrol IDS-a je organizirano kao zaseban modul, koji se preko pristupa 810 povezuje s NetPatrol motorom, koji obnaša sve važne analitičke funkcije. Što se tiče konfiguracijskih opcija ove udaljene konzole izdvojimo mogućnost promjene pristupa preko kojeg se povezuje s motorom. Isto tako, ovdje se može i onemogućiti povezivanje NetPatrol motora i grafičkog sučelja koje se nalazi na drugom računalu, odnosno omogućiti isključivo lokalno povezivanje (localhost). Tu su i autentifikacijske opcije. Nakon instalacije potrebno je kreirati korisnički račun, koji uključuje korisničko ime, lozinku te određenu razinu prava korištenja NetPatrol funkcija.


Slika 7.3. Konfiguracijsko sučelje NetPatrol IDS-a

 

 

7.3.3. Konfiguracija obavijesti i razine osjetljivosti

 

U ovom dijelu konfiguracije namještaju se postavke vezane uz konkretan način na koji NetPatrol privlači pažnju korisnika kad detektira napad. Ovdje se može definirati razina sigurnosnog rizika, koja se mora doseći prije slanja obavijesti elektroničkom poštom. Isto tako ovdje se konfiguriraju i ostali oblici alarmiranja koje NetPatrol nudi: signaliziranje zvukom i/ili ispisom poruke na ekran.


8. Ispitivanje sustava za otkrivanje napada

 

 

Pitanje sigurnosti računalnih sustava je jedno od onih, koji se uvijek iznova postavljaju. Naime, svaka sklopovska ili programska promjena u računalnom sustavu, obično donosi određen broj ranjivosti sa sobom. Svaka ta ranjivost, zlonamjernom napadaču, pruža mogućnost nanošenja štete samom sustavu. Upravo zbog toga je nužno stalno nadograđivati cijeli sustav te biti u toku s novitetima iz područja sigurnosti.

 

Često korisnika zanima koliko se može osloniti, tj. pouzdati u svoju sigurnosnu arhitekturu. Odgovor može saznati tako da ili sam testira svoje alate ili angažira osobe, odnosno firme, koje pružaju usluge testiranja sigurnosti računalnih sustava.

 

Osim samog proučavanja pojedinih IDS alata, cilj ovog rada jest i testiranje njihove funkcionalnosti u stvarnom mrežnom okruženju. Danas postoji velik broj alata, koji koriste poznate ranjivosti operacijskih i/ili programskih sustava za provođenje raznih oblika napada. U nastavku će neki od njih biti upotrebljeni za testiranje OSSEC i NetPatrol sustava za otkrivanje napada.

 

 

8.1. Alati korišteni za testiranje sustava za detekciju napada

 

 

Ovisno o tipu testiranja i operacijskom sustavu računala s kojeg se test pokreće, koristit će se sljedeći alati: Nikto, Wikto, te Nmap u Linux i u Windows verziji. Riječ je o alatima koji administratorima služe kao pomoć u nadziranju i testiranju sigurnosti sustava. Kroz različite oblike skeniranja, oni prikupljaju i izlažu informacije o sustavu.

 

 

8.1.1. Nikto

 

Nikto[20] je open source alat čija je namjena skeniranje web servera. Skeniranje se temelji na iscrpnom testiranju servera prilikom čega se pokušava detektirati postojanje nekih od 3500 potencijalno opasnih datoteka/CGI skritpi, verzije servera i specifičnih problema povezanih uz tu konkretnu verziju.

 

Razvojni programeri ističu da je riječ o brzom, ali istovremeno jednostavnom alatu koji neće opteretiti računalo na kojem je pokrenuto.

 

Nikto je programska podrška bazirana na PERL-u. Između ostalog pronalazi nesigurne datoteke, konfiguracije i programe, kao i zastarjele servere i programe. Nikto se može instalirati na svaki sustav koji ima PERL okruženje, te podržava SSL, host autorizaciju...

 

Instalacija Nikto alata je vrlo jednostavna. Potrebno je dohvatiti Nikto paket sa službene stranice i izvesti sljedeće dvije naredbe:

 

tar -xvf nikto-current.tar.gz

gzip -d nikto-current.tar

 

nakon čega će web sigurnosni skener biti spreman za upotrebu.

 

Nikto se pokreće iz komandne linije naredbom koja može imati više opcija. Njen najopćenitiji oblik zahtjeva samo definiranje IP adrese ili imena host-a koji se skenira:

 

perl nikto.pl -h 192.168.0.1

 

Podrazumijevani pristup skeniranja je 80. Opcija -p služi proizvoljnom odabiru jednog ili više pristupa:

 

perl nikto.pl -h 192.168.0.1 -p 443

 

Moguće je i pohraniti rezultat skeniranja. Tako se izvršavanjem naredbe:

 

perl nikto.pl -h localhost -o lokalnoSken

 

provodi lokalno skeniranje apache servera, te se stvara izlazna datoteka imena "lokalnoSken.txt" sa detaljnim izvještajem.

 

Nikto svoj rad temelji na zatrpavanju servera s različitim zahtjevima te analiziranju dobivenih odgovora u cilju prikupljanja informacija o samom serveru i podacima na njemu.

 


8.1.2. Wikto

 

Wikto[21]. je također alat namijenjen skeniranju servera u potrazi za nekim zanimljivim direktorijima ili datotekama. Slično kao u slučaju Nikto alata i Wikto traži skripte koje se mogu zloupotrijebiti te poznate ranjivosti same implementacije web servera. Valja naglasiti da Wikto nije samo Windows verzija  Nikto alata. Naime, Nikto skeniranje je samo jedna od funkcionalnosti.

 

Postojanje .Net Framework-a na računalu, je nužan preduvjet instalacije i korištenja Wikto alata. Nasuprot Nikto, ovaj alat ima grafičko korisničko sučelje, što se može vidjeti na slici 8.1.

 

 

                                                Slika 8.1. Sučelje Wikto alata


8.1.3. Nmap

 

Nmap je alat namijenjen skeniranju pristupa (port). Riječ je o besplatnom, open source rješenju za praćenje stanja mreže. Nmap koristi IP pakete, s posebnim sadržajem, kako bi otkrio aktivna računala na mreži, servise (imena aplikacija i verzije) koje ta računala nude, operacijske sustave koji se na njima nalaze, zatim tip filtera paketa/ sigurnosne stijene na mreži te mnoga slična svojstva. Ovaj alat je dizajniran za brzo skeniranje velikih mreža, ali daje dobre rezultate i na jednom host-u. Nadalje, podržava većinu operacijskih sustava tako da je svima dostupan.

 

Nmap na Linux/Unix sustavima

 

Linux/Unix verzija Nmap alata se vrlo jednostavno instalira. Potrebno je samo dohvatiti alat s Interneta.

 

sudo apt-get install nmap

 

Skeniranje se započinje izvršavanjem odgovarajuće naredbe iz komandne linije. Potrebno je specificirati jednu ili skup IP adresa te odabrati odgovarajuću opciju skeniranja.

 

nmap –sS -P0 –A –v localhost

 

Izvođenje ove naredbe donosi informacije o otvorenim pristupima i servisima koji ih koriste, verziji operacijskog sustava računala i slično.

 

Nmap je opcijama vrlo bogat alat, što korisniku pruža mogućnost izvođenja različitih tipova skeniranja.

 

Nmap na Windows sustavima

 

Kao što je već i spomenuto, Nmap podržava većinu operacijskih sustava, tako da i Windows ima svoju inačicu ovog popularnog alata. Glavna razlika u odnosu na Linux verziju jest vrlo praktično Zenmap grafičko sučelje (Slika 8.2.).

 

Instalacija se sastoji od dohvata instalacijske datoteke i pokretanja postupka instalacije. Tom prilikom će se osim Nmap alat instalirati i spomenuto Zenmap grafičko sučelje te WinPcap biblioteka.

 

Grafičko sučelje pruža mogućnost pisanja konkretnih Nmap naredbi. Znači iste one naredbe, koje Linux korisnici pišu u komandnoj liniji, se mogu i ovdje pozvat na izvršavanje. No za Windows korisnike, ne vične pisanju naredbi, postoji mogućnost odabira između nekoliko unaprijed specificiranih vrsta skeniranja. Jasno, svako od njih odgovara određenoj nmap naredbi, koja se i ispisuje prilikom odabira. U ponudi su tako intenzivno skeniranje, intenzivno skeniranje TCP pristupa, intenzivno skeniranje UDP pristupa, ping skeniranje, regularno skeniranje, polagano iscrpno skeniranje…

 

            Slika 8.2. Zenmap sučelje

 

 

8.2. OSSEC HIDS - Skeniranje Web poslužitelja

 

 

Sigurnost nekog web servera se može provjeriti upotrebom alata kao što su Nikto i Wikto Riječ je o alatima koji skeniranjem mogu pronaći propuste i potencijalne probleme na bilo kojem tipu web servera.

 

Na host-u, kojeg testiramo, instaliran je Ubuntu 8.04 operacijski sustav, Apache2 server te PHP5. Na serveru se nalazi nekoliko php aplikacija. Slijedi instalacija i konfiguracija OSSEC HIDS-a. Tako pripremljen sustav, spreman je za testiranje.

 

Testiranje, ili bolje rečeno skeniranje, apache servera bit će provedeno u dva koraka. Prvi korak obuhvaća lokalno skeniranje. Dakle, Nikto/Wikto se nalazi na samom računalu kojeg skenira. U drugom se koraku, nasuprot tome, ovaj alat nalazi na nekom drugom računalu u istoj mreži, od kuda i provodi skeniranje. Postavlja se pitanje hoće li OSSEC HIDS išta uočiti, te hoće li oba skeniranja u njegovim očima biti ravnopravna.

 

 

8.2.1. Lokalno skeniranje

 

Dakle, u ovom koraku se alat za skeniranje instalira na isto računalo na kojem je i ciljani server. Kako je konkretno riječ o računalu s Ubuntu operacijskom platformom, upotrijebit će se Nikto alat. Postupak instalacije i upotreba, opisani su u poglavlju 8.1.1.

 

Skeniranje započinje ukucavanjem odabrane Nikto naredbe u komandnoj liniji. Neka to bude sljedeća jednostavna naredba:

 

perl nikto.pl -h 192.168.1.30

 

Kroz nekoliko sekundi skeniranje je završeno, s izvještajem o prikupljenim informacijama, kao što su tip servera skupa s podacima o PHP verziji i instaliranoj zakrpi te dopuštene HTTP metode i slično.

 

No, kako je na sve to reagirao OSSEC HIDS? Provjerom OSSEC HIDS datoteke "alerts.log", lako se može zaključiti da je upad u sustav detektiran, jer je u tih 6 sekundi skeniranja, nastalo nekoliko stotina zapisa. Skeniranje se vrši tako da se serveru šalju zahtjevi za posluživanjem određenih datoteka. OSSEC HIDS će prijaviti samu činjenicu da je postavljen zahtjev za datotekom koja ne postoji, što će ocijeniti stupnjem ozbiljnosti 5. Međutim ukoliko se zareda više takvih zahtjeva, OSSEC će prepoznati kao skeniranje i to ocijeniti s 10 na skali ozbiljnosti. Slika 8.3. prikazuje kako to konkretno izgleda u log datoteci.

 

Osim detektiranja pokušaja pristupa nepostojećim datotekama, OSSEC HIDS je uočio te prijavio i višestruke pokušaje nekih uobičajenih napada, SQL injection[22] te XSS (Cross Site Scripting)[23]. Detektirano je i višestruko pojavljivanje statusnog koda 400 web servera, kao posljedice neispravnih GET naredbi upućenih serveru.

 

Slika 8.3. OSSEC HIDS detektira skeniranje

 

 

8.2.2. Skeniranje s drugog računala

 

U drugom koraku, baš kao što i naslov kaže, skeniranje se provodi s drugog računala. Riječ je o računalu s Windows operacijskim sustavom, zbog čega će ovdje biti korišten alat Wikto. Više o samoj instalaciji Wikto alata i izgledu pripadajućeg grafičkog sučelja može se pročitati u poglavlju 8.1.2. Računalo na koje se Wikto instalira, nalazi se u istoj mreži s ciljanim računalom.

 

Pokretanje skeniranja izvodi se putem grafičkog sučelja Wikto alata, definiranjem IP adrese servera, koji se skenira i odabirom gumba START. Međutim ne protječe sve prema planu. Naime, OSSEC HIDS i ovaj put prepoznaje pokušaj skeniranja i generira slične obavijesti kao i u prethodnom koraku. Jedina razlika u tim log zapisima je izvorišna IP adresa. Dakle i ovaj put su prijavljeni pokušaji pristupa nepostojećim datotekama te pojavljivanje statusnog koda 400, što je okarakterizirano kao pokušaj web skeniranja. Napomenimo i to da Wikto vrši isključivo skeniranje sustava, ne i razne napade (poput primjerice SQL injection napada) pa su time i obavijesti o njima izostale. Dakle, OSSEC je detektirao skeniranje s udaljenog računala, postavio stupanj ozbiljnosti na 10 te zahvaljujući aktivnim odgovorima, onemogućio daljnji pristup računalu s IP adresom s koje je skeniranje otkriveno. Međutim to blokiranje pristupa je privremeno, jer je tako definiran aktivni odgovor, pa će ustrajan skener nastaviti svoj rad kroz nekoliko minuta kad ponovo dobije pristup. OSSEC će potom opet detektirati skeniranje, privremeno blokirati tu IP adresu i tako u krug. Administrator koji je dobro podesio e-mail opcije, će pravovremeno biti obaviješten o ovom napadu te IP adresi s koje je proveden, nakon čega može trajno blokirati pristup toj IP adresi i potpuno spriječiti skeniranje i bilo koji drugi napad.

 

 

8.3. OSSEC HIDS - Skeniranje pristupa

 

 

Skeniranje pristupa izvodi se uz pomoć već opisanog Nmap alata. Kao i u prethodnom primjeru, skeniranje pristupa provodi se prvo s računala na kojem je OSSEC HIDS instaliran, a potom s nekog drugog računala u mreži.

 

U prethodnom koraku, OSSEC je pregledavanjem log zapisa apache server otkrio skeniranje i to prijavio, a u drugom koraku i blokirao. Postavlja se pitanje, hoće li jednako reagirati i na skeniranje pristupa?

 

 

8.3.1. Lokalno skeniranje pristupa

 

Karakteristike ciljanog sustava se nisu promijenile. I dalje je riječ o Ubuntu sustavu s instaliranim i pokrenutim OSSEC HIDS alatom. Na Ubuntu platformi upotrijebit će se Linux verzija Nmap alata, koja nema grafičko sučelje. Više o instalaciji i samom alatu može se pročitati u poglavlju 8.1.3.

 

Skeniranje započinje ukucavanjem odabrane nmap naredbe u komandnoj liniji. Neka to bude već prokomentirana naredba:

 

nmap –sS -P0 –A –v localhost

 

koja prikuplja informacije o otvorenim pristupima i servisima koji ih koriste, verziji operacijskog sustava računala i slično.

 

Skeniranje je kroz nekoliko sekundi uspješno završeno, s priloženim izvještajem o otkrivenom (Slika 8.4.).

 

Slika 8.4. Rezultat lokalnog skeniranja pristupa

 

Provjerom odgovarajućih log datoteka OSSEC HIDS alata, nisu pronađene obavijesti koje bi dale naslutiti da je skeniranje detektirano. No to i ne čudi previše, jer ovo skeniranje nije uzrokovalo nikakve greške koje bi se našle u log zapisima sustava, pa ga OSSEC HIDS nije ni mogao detektirati.

 

 

8.3.2. Skeniranje pristupa s drugog računala

 

U ovom koraku se skeniranje pristupa provodi s računala s Windows operacijskim sustavom. Stoga prvo treba provesti instalaciju Windows verzije Nmap alata. Više informacija o alatu sadrži poglavlju 8.1.3.

 

Kako bi se test odvijao pod istim uvjetima u oba koraka, skeniranje se i ovdje pokreće pozivanjem naredbe:

 

nmap –sS -P0 –A –v localhost

 

Budući je riječ o istoj naredbi, dobiveni su slični rezultati skeniranja onim iz prethodnog koraka. No, OSSEC HIDS ni u ovom slučaju nije ništa detektirao. Je li to razlog za zabrinutost? Ako malo razmislimo, sjetit ćemo se da OSSEC HIDS nije mrežno bazirani IDS, što znači da on ne analizira mrežne pakete, nego, kako je već spomenuto, log zapise različitih izvora. Obzirom da paketi koje Nmap koristi nisu uzrokovali nastajanje nekih grešaka ili potaknuli događaje u sustavu, OSSEC HIDS je ostao potpuno nesvjestan ovog tipa skeniranja.

 

 

8.4. NetPatrol – Skeniranje Web servera

 

 

U poglavlju 8.2. obrađen je test skeniranja web servera, kojeg nadgleda OSSEC HIDS sustav. Sam igrokaz testiranja će i u ovom slučaju ostati isti, jedino će se glavne uloge malo promijeniti. Naime u ovom slučaju se web server nalazi na računalu s Windows operacijskim sustavom, koje je nadzirano od strane NetPatrol IDS-a. S druge strane glavna dva koraka su ostala ista. Prvo se pokreće lokalno skeniranje servera, dok se u drugom koraku to isti čini s drugog računala u mreži.

 

I ovdje je glavni cilj testiranja utvrđivanje reakcije NetPatrol IDS-a na spomenuti napad skeniranja.

 

 

8.4.1. Lokalno skeniranje

 

Prije skeniranja, potrebno je instalirati odgovarajući alat na računalo. Kako je riječ o Windows platformi, koristit će se Wikto alat. Instalacijske upute nalaze se u poglavlju 8.1.2.

 

Odabirom opcije lokalnog skeniranja Wikto počinje prikupljati informacije. Skeniranje se odvija prema planu bez ikakvih zapreka. Izvještaj pokazuje pregršt informacija o samom serveru ali i o datotekama na njemu.

 

Sam pogled na ikonicu NetPatrol sučelja kazuje da ovaj IDS nije ništa sumnjivo detektirao, inače bi ta ikonica počela treperiti u želji za privlačenjem pažnje. Pregled NetPatrol.alert datoteke to i potvrđuje.

 

NetPatrol očito vjeruje sustavu kojeg nadzire, stoga ne dovodi u pitanje legitimnost događaja koji se na njemu zbivaju, čak ni onda kad je riječ o skeniranju.


8.4.2. Skeniranje s drugog računala

 

U drugom koraku NetPatrol dobiva još jednu šansu. Skeniranje se izvodi s drugog računala, na kojem je također instaliran Windows operacijski sustav. Stoga se i za ovo testiranje koristi alat Wikto.

 

Početak skeniranja je ovaj put uznemirio NetPatrol. Vrlo brzo je reagirao i na 60 sekundi više puta blokirao IP adresu s koje je napad detektiran. U NetPatrol.alert datoteci više puta je prijavljen potencijalni pokušaj napada na web aplikaciju te potencijalno SYN preplavljivanje.

 

I OSSEC HIDS i NetPatrol su se u ovom slučaju pokazali korisnima. U kratkom roku su detektirali napad i spriječili ga aktivnim odgovorima, odnosno blokiranjem napadača. Na taj način su privremeno onemogućili prikupljane informacija o sustavu koji štite i dali mogućnost administratoru da pravovremeno reagira i spriječi napad.

 

 

8.5. NetPatrol – Skeniranje pristupa

 

 

Kako se oba obrađena IDS sustava testiraju s istim pomoćnim alatima, ne čudi podatak da će se i u ovom koraku koristiti Nmap. Više o samom alatu se može pročitati u jednom od prethodnih poglavlja.

 

I ovdje se testira NetPatrol IDS na računalu s Windows operacijskim sustavom, upotrebom Windows verzije Nmap alata s praktičnim grafičkim sučeljem.

 

Sukladno prethodnim testiranjima, i ovaj postupak se započinje lokalnim skeniranjem pristupa, kojeg slijedi skeniranje pristupa s drugog računala.

 

 

8.5.1. Lokalno skeniranje pristupa

 

Testiranju prethodi instalacija Nmap alata. Grafičko sučelje omogućuje odabir jednog od unaprijed definiranih tipova skeniranja ili pisanje vlastite naredbe s nekom drugom kombinacijom opcija. Bitno je poznavati IP adresu ciljanog računala i skeniranje može krenuti. Za lokalno skeniranje se umjesto IP adrese može koristiti izraz localhost.

 

Pokretanje različitih tipova skeniranja, ne pokazuje očekivane rezultate. Naime, Windows operacijski sustav ne dopušta lokalno skeniranje računala na načine koje koristi Nmap. Iz tog razloga, svi pokušaji rezultiraju s nula skeniranih pristupa, što nam uskraćuje mogućnost provjere ponašanje NetPatrol IDS-a u ovim uvjetima.

 

 

8.5.2. Skeniranje pristupa s drugog računala

 

U drugom koraku ćemo pokušati provesti skeniranje s drugog računala, uz nadu da ćemo ovaj put imati više sreće.

 

Na drugom računalu s Windows platformom, instalirana je i pokrenuta Windows verzija Nmap alata. Pokrećemo intenzivno skeniranje svih TCP pristupa (Intense scan, all TCP ports) što odgovara izvršavanju naredbe:

 

nmap -PE -v -p1-65535 -PA21,23,80,3389 -A -T4 192.168.1.30

 

Skeniranje je ovaj put obavljeno bez prijave greške. Istovremeno ikonica NetPatrol konzole ne prestaje titrati. Otvaranje grafičkog sučelja donosi pregršt informacija. Nivo sigurnosnog rizika je skočio s 0 na 87. Crvena lampica sugerira da su uočeni napadi, a plava da su pokrenute određene akcije sigurnosne stijene.

 

sigurnosna stijena je blokirala IP adresu na 60 sekundi nekoliko puta, s čime se trajanje blokiranja produžilo na nekoliko minuta. Naime za svaku pojedinačnu uzbunu se provodi odgovarajući aktivni odgovor (naravno ukoliko je on unaprijed definiran).

 

Na pitanja što je NetPatrol detektirao i prijavio, NetPatrol.alert datoteka daje odgovor. Registrirano je potencijalno TCP skeniranje pristupa i zamjena identiteta te potencijalni W32.Blaster crv[24]. Prijavljena je i IP adresa s koje je pokrenuto skeniranje.

 

Valaj spomenuti i da je NetPatrol brzo reagirao i detektirao skeniranje. Potpuna obrada svih paketa završena je kroz dvije-tri minute dok je samo skeniranje trajalo svega nekoliko sekundi.

 

Provest ćemo još jedno testiranje. Istovremeno ćemo u Nmap alatu pokrenuti nekoliko ponuđenih vrsta skeniranja s različitim opcijama. Primjerice to su intenzivna skeniranja TCP i UDP pristupa, brzo skeniranje, regularno skeniranje i slično. NetPatrol je postavljanjem stupnja sigurnosnog rizika na 999, generiranjem velikog broja uzbuna te blokiranjem IP adrese s koje je skeniranje pokrenuto. Prijavljen je velik broj potencijalnih TCP i UDP skeniranja pristupa, detektirani su UDP paketi veličine 0, sumnjivi DNS zahtjevi, kao i zamjena identiteta te već u prethodnom testu spomenuti W32.Blaster crv.

 

I u ovom slučaju je NetPatrol vrlo brzo reagirao, blokirao IP adresu i prijavio napdae. Međutim potpuna obrada svih paketa je znatno potrajala. Naime, iako su sva ova skeniranja trajala svega nekoliko sekundi, ona su očito generirala velike količine prometa. Kako NetPatrol provodi detaljnu i dubinsku analizu svakog pojedinog paketa, ne čudi činjenica da je cjelokupna obrada trajala gotovo 30 minuta.

 

 

8.6. Usporedba obrađenih sustava za otkrivanje napada

 

 

Nakon detaljnog uvida u funkcionalnost i učinkovitost OSSEC HIDS i NetPatrol alata utvrđene su neke sličnosti i razlike.

 

Strukturna razlika između ova dva alata, leži u činjenici da je OSSEC host bazirani IDS, što znači da analizira log zapise nastale u sustavu, dok je NetPatrol mrežno bazirani IDS, što znači da analizira sve primljene pakete. Ovakva razlika u startu direktno će utjecati na skup napada koji će svaki od ovih alata detektirati. O preklapanju tih skupova svjedoče i testovi izvedeni u sklopu ovog rada.

 

Druga, za korisnika, važna informacija svakako su podržane platforme. Kako je NetPatrol isključivo namijenjen Windows sustavima, dok OSSEC podržava gotovo sve ostale (Windows je samo indirektno podržan kroz funkcije prikupljanja podataka, ne i njihove obrade), može se reći da je najveći broj korisnika pokriven s ovim alatima.

 

Razlika se javlja i kod pitanja dostupnosti. Naime OSSEC HIDS je besplatan i svima dostupan, dok će se za upotrebu NetPatrol-a morati izdvojiti određena količina financijskih sredstava, koja je znatna čak i u okruženju komercijalnih alata. No, kvaliteta obično ima i cijenu.

 

Od korisniku bitnih funkcionalnosti, oba alata korisniku nude alarmiranje u stvarnom vremenu te aktivne odgovore, čime se u velikoj mjeri mogu u startu blokirati napadi i nanošenje štete sustavu.

 

Nadalje, svakom korisniku je bitno i pitanje dostupnosti informacija. OSSEC HIDS je u tome višestruko nadmašio NetPatrol. Naime postoje različite dokumentacije, članci, forumi putem kojih se može doći do gotovo svih interesantnih informacija, samo je pitanje vremena. NetPatrol, naspram toga jedva da je vrijedno i spominjati. Općeniti opis alata na službenim stranicama i prilično štura help datoteka su i više nego nedostatni za potpuno razumijevanja ovog alata.

 

Oba alata je vrlo jednostavno instalirati i konfigurirati, a sam rad s njima je prilično intuitivan. Generirane obavijesti su kratke, jasne i sadrže sve potrebne informacije. Potreba za korisnikovom intervencijom pri radu alata je minimalizirana. Jednom pokrenut svaki od ovih alata radi neprimjetno u pozadini. Korisnik ih je svjestan jednino u trenutku pregledavanja aktivnih procesa u sustavu ili u slučaju detektiranja napada, kada se zahtjeva njegova pažnja.

 

OSSEC HIDS pruža mogućnost pokretanja i zaustavljanja njegovog rada izvršavanjem odgovarajuće naredbu u komandnoj liniji. Nasuprot tome, NetPatrol ne daje takve ovlasti korisniku. Naime, njegov analitički motor se automatski pokreće i gasi sa samim sustavom, prilikom čega je izbjegnut svaki kontakt s korisnikom. Jedinu kontrolu rada tog motora, korisnik ima putem Task Manager ispisa aktivnih procesa, koji mu pruža i mogućnost da ga terminira.

 

U svakom slučaju oba alata su se prikazala u najboljem svijetlu. Njihov najveći plus uz učinkovitost, je i činjenica da su drastično smanjili potrebe administratore za dugotrajnim pregledavanjem brojnih log zapisa, omogućujući mu da se koncentrira na ono što je bitno.

 

Ovakvi alati znatno podižu razinu sigurnosti, ali i daju bolji uvid u sve sumnjive aktivnosti koje se događaju u sustavu.


9. Zaključak

 

 

U okviru ovog diplomskog rada ispitana su dva IDS alata: NetPatrol i OSSEC HIDS. NetPatrol i OSSEC HIDS su dva na prvi pogled vrlo različita sustava za detektiranje napada. Usprkos tome, svaki se pojedinačno pokazao korisnim i kvalitetnim alatom. Za korisnika je vjerojatno najvažnija činjenica, da (osim što su jednostavna za upotrebu) svaki od njih pruža detaljno izvješće o sumnjivim događajima u sustavu.

 

OSSEC HIDS se ističe nenametljivim radom u pozadini i kvalitetnim analizatorskim mehanizmom.

 

Glavna prednost NetPatrol alata je korisno i pregledno  grafičko sučelje. Valja spomenuti i njegovu orijentaciju Windows operacijskim sustavima. Činjenica je da je velik broj kvalitetnih sigurnosnih alata u prvom redu namijenjen Linux/Unix i inim platformama. Windows inačice takvih alata obično izađu s velikim zakašnjenjem i/ili s nekim ograničenjima. Opravdanost takvog pristupa nije tema ovog rada. U svakom slučaju, Windows korisnici su s NetPatrol IDS-om, konačno došli na svoje.

 

Nadalje, provedeni testovi pokazuju da će ovisno o izvoru informacija, koji  koristi, pojedini alat moći detektirati određene vrste napada. Upravo zbog toga se može ustvrditi da je pri izgradnji sigurnosne arhitekture poželjno koristiti i mrežno i host bazirani IDS, kako bi se potpuno pokrilo područje pretraživanja događaja u sustavu i osiguralo temeljitije otkrivanje napada. Očito je podjela poslova najbolji pristup u sigurnosti računalnih sustava. Uostalom, napadač možda može prevariti i/ili onesposobiti jedan sustav, ali sigurno neće njih sve.


Literatura

 

 

[1]    Shaffer, Steven L., Alan R. Simon,  Network Security, Academic Press, 1994.

[2]    Andrew Hay, Daniel CId, Rory Bray, OSSEC HIDS Host-Based Intrusion Detection Guide, 2008.

[3]    Paul Innella, A brief History of Network Security and the Need for Adherence to the Software Process Model

[4]    Andres Andreu, Professional Pen Testing for Web Applications (Programmer to Programmer), 2006.

[5]    Rebecca Bace, Peter Mell: Intrusion Detection Systems, NIST Special Publication on Intrusion Detection Systems

[6]    Leo Budin, Marin Golub, Operacijski sustavi 2, Zagreb, 2005.

[7]    Materijali organizacije All Internet Security, dostupno na adresi: http://www.all-internet-security.com

[8]    Materijali organizacije Insecure, dostupno na adresi: http://insecure.org/

[9]    CARNet CERT materijali, dostupno na adresi: http://www.cert.hr/

[10]           Alat OSSEC HIDS, dostupno na adresi: http://www.ossec.net/

[11]           Alat NetPatrol IDS, dostupno na adresi: http://www.wingate.com/

[12]           Razni članci organizacije Hurricane LABS,, dostupno na adresi: http://www.hurricanelabs.com/december2007_story_2

[13]           Razni članci organizacije Third Brigade, dostupno na adresi: http://www.3rdbrigade.com/

[14]           Alat Wikto, dostupno na adresi:http://www.sensepost.com/research/wikto/

[15]           Alat Nikto, dostupno na adresi: http://www.cirt.net/nikto2

[16]           Alat Nmap, dostupno na adresi: http://nmap.org

[17]           Sans Institute članci, dostupno na adresi: http://www.sans.org/

 


Dodatak A. Konfiguracijska datoteka

 

<ossec_config>

  <global>

    <email_notification>yes</email_notification>

    <email_to>Nikolina.Logovi@gmail.com</email_to>

    <smtp_server>gmail-smtp-in.l.google.com.</smtp_server>

    <email_from>ossecm@nikolina-desktop</email_from>

  </global>

 

  <rules>

    <include>rules_config.xml</include>

    <include>pam_rules.xml</include>

    <include>sshd_rules.xml</include>

    <include>telnetd_rules.xml</include>

    <include>vpn_concentrator_rules.xml</include>

       (. . .)

 

    <include>spamd_rules.xml</include>

    <include>msauth_rules.xml</include>

    <include>mcafee_av_rules.xml</include>

    <!-- <include>policy_rules.xml</include> -->

    <include>zeus_rules.xml</include>

    <include>solaris_bsm_rules.xml</include>

    <include>vmware_rules.xml</include>

    <include>ossec_rules.xml</include>

    <include>attack_rules.xml</include>

    <include>local_rules.xml</include>

  </rules> 

 

  <syscheck>

    <!-- Frequency that syscheck is executed - default to every 6 hours -->

    <frequency>21600</frequency>

   

 

  <!-- Directories to check  (perform all possible verifications) -->

    <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>

    <directories check_all="yes">/bin,/sbin</directories>

 

    <!-- Files/directories to ignore -->

    <ignore>/etc/mtab</ignore>

    <ignore>/etc/mnttab</ignore>

    <ignore>/etc/hosts.deny</ignore>

    <ignore>/etc/mail/statistics</ignore>

    <ignore>/etc/random-seed</ignore>

    <ignore>/etc/adjtime</ignore>

    <ignore>/etc/httpd/logs</ignore>

    <ignore>/etc/utmpx</ignore>

    <ignore>/etc/wtmpx</ignore>

    <ignore>/etc/cups/certs</ignore>

    <ignore>/etc/dumpdates</ignore>

    <ignore>/etc/svc/volatile</ignore>

 

    <!-- Windows files to ignore -->

    <ignore>C:\WINDOWS/System32/LogFiles</ignore>

    <ignore>C:\WINDOWS/Debug</ignore>

    <ignore>C:\WINDOWS/WindowsUpdate.log</ignore>

    <ignore>C:\WINDOWS/iis6.log</ignore>

    <ignore>C:\WINDOWS/system32/wbem/Logs</ignore>

    <ignore>C:\WINDOWS/system32/wbem/Repository</ignore>

    <ignore>C:\WINDOWS/Prefetch</ignore>

    <ignore>C:\WINDOWS/PCHEALTH/HELPCTR/DataColl</ignore>

    <ignore>C:\WINDOWS/SoftwareDistribution</ignore>

    <ignore>C:\WINDOWS/Temp</ignore>

    <ignore>C:\WINDOWS/system32/config</ignore>

    <ignore>C:\WINDOWS/system32/spool</ignore>

    <ignore>C:\WINDOWS/system32/CatRoot</ignore>

  </syscheck>

 

  <rootcheck>

    <rootkit_files>/var/ossec/etc/shared/rootkit_files.txt</rootkit_files>

        <rootkit_trojans>/var/ossec/etc/shared/rootkit_trojans.txt</rootkit_trojans>

    <system_audit>/var/ossec/etc/shared/system_audit_rcl.txt</system_audit>

    <system_audit>/var/ossec/etc/shared/cis_debian_linux_rcl.txt</system_audit>

    <system_audit>/var/ossec/etc/shared/cis_rhel_linux_rcl.txt</system_audit>

    <system_audit>/var/ossec/etc/shared/cis_rhel5_linux_rcl.txt</system_audit>

  </rootcheck>

 

  <global>

    <white_list>127.0.0.1</white_list>

    <white_list>^localhost.localdomain$</white_list>

    <white_list>192.168.1.1</white_list>

  </global>

 

  <alerts>

    <log_alert_level>1</log_alert_level>

    <email_alert_level>7</email_alert_level>

  </alerts>

 

<command>

    <name>host-deny</name>

    <executable>host-deny.sh</executable>

    <expect>srcip</expect>

    <timeout_allowed>yes</timeout_allowed>

  </command> 

 

<command>

    <name>firewall-drop</name>

    <executable>firewall-drop.sh</executable>

    <expect>srcip</expect>

    <timeout_allowed>yes</timeout_allowed>

  </command> 

 

  <command>

    <name>disable-account</name>

    <executable>disable-account.sh</executable>

    <expect>user</expect>

    <timeout_allowed>yes</timeout_allowed>

  </command> 

 

  <command>

    <name>route-null</name>

    <executable>route-null.sh</executable>

    <expect>srcip</expect>

    <timeout_allowed>yes</timeout_allowed>

  </command>

 


  <!-- Active Response Config -->

  <active-response>

    <!-- This response is going to execute the host-deny

       - command for every event that fires a rule with

       - level (severity) >= 6.

       - The IP is going to be blocked for  600 seconds.

      -->

    <command>host-deny</command>

    <location>local</location>

    <level>6</level>

    <timeout>600</timeout>

  </active-response>

 

  <active-response>

    <!-- Firewall Drop response. Block the IP for

       - 600 seconds on the firewall (iptables,

       - ipfilter, etc).

      -->

    <command>firewall-drop</command>

    <location>local</location>

    <level>6</level>

    <timeout>600</timeout>   

  </active-response> 

 

  <!-- Files to monitor (localfiles) -->

 

  <localfile>

    <log_format>syslog</log_format>

    <location>/var/log/messages</location>

  </localfile>

 

<localfile>

    <log_format>syslog</log_format>

    <location>/var/log/auth.log</location>

  </localfile>

 

  <localfile>

    <log_format>syslog</log_format>

    <location>/var/log/syslog</location>

  </localfile>

 

  <localfile>

    <log_format>syslog</log_format>

    <location>/var/log/mail.info</location>

  </localfile>

 

  <localfile>

    <log_format>syslog</log_format>

    <location>/var/log/dpkg.log</location>

  </localfile>

</ossec_config>

 

 

 



[1] DMZ u računalnoj mreži predstavlja konfiguraciju sigurnosne stijene za osiguravanje LAN-a.

[2] virtualne privatne mreže-kriptirani tuneli koji omogućuju sigurno spajanje dvaju fizički odvojenih privatnih mreža putem javne mreže.

[3] Trojanski konj (engl. Trojan horse)-program koji sadrži ili instalira zlonamjerne programe. Ti programi se često prikazuju korisnima ili interesantnima ne sumnjičavom korisniku, međutim imaju vrlo štetno djelovanje ukoliko su pokrenuti.

[4] Tako se primjerice samo na jednoj web stranici All Internet Security može pronaći (nepotpuna) lista s čak 1409 IDS programskih rješenja.

( vidi URL: http://www.all-internet-security.com/intrusion_detection/index.asp)

[5] Osim analize ranjivosti  u literaturi se još koriste izrazi: procjena sustava i procjena ranjivosti

[6]  sažetak poruke-prikaz teksta u obliku niza znamenki, kreiran korištenjem jednosmjerne hash funkcije

[7] Lista top 5 sigurnosnih alata složena od strane LinuxWorld-a može se vidjeti na web stranici: http://www.linuxworld.com/news/2007/031207-top-5-security.html?page=1

[8] Rezultati ankete organizacije Insecure.Org nalaze se na adresi: http://sectools.org/ids.html

[9] rootkit – program dizjaniran za preuzimanje temeljne kontrole u sustavu. Na windows platformi je to  administratorski pristup, a na linux root pristup

[10] Potpuna lista podržanih platformi dostupna je na službenim stranicama: http://www.ossec.net/ .

[11] Cijeli članak može se pročitati na adresi:  http://www.3rdbrigade.com/news_events.aspx?id=770

[12] /dev – direktorij koji sadrži specijalne datoteke o svim uređajima. Te datoteke se kreiraju prilikom instalacije. Npr. /dev/dsp–  Digital Signal Processor.; sučelje između programske podrške koja proizvodi zvuk i zvučne kartice.

[13] ps – naredba koja ispisuje trenutni status svih aktivnih procesa

[14] netstat – naredba kojom se ispisuju mrežne konekcije (dolazeće i odlazeće), tablice usmjeravanja, te neke statistike mrežnog sučelja

[15] XML – jezik za označavanje sadržaja. Riječ je o hijerarhijski strukturiranom, preglednom jeziku unutar kojeg se sadržaj uokviruje odgovarajućim oznakama, koje ga opisuju i imaju poznato/lako shvatljivo značenje.

[16] Trenutna cijena NetPatrol IDS-a jest $249.95

[17] Potpuni sadržaj liste Top Intrusion Detection Systems (IDS) može se pronaći na web adresi: http://www.all-internet-security.com/top_10_IDS_software.asp

[18] Slammer – kompjuterski crv koji uzrokuje denial of service

[19] Coed Red – kompjuterski crv koji iskorištava ranjivosti Microsoftovog IIS web servera

[20]  Alat Nikto i pripadajuća dokumentacija, mogu se dohvatiti na adresi: http://www.cirt.net/nikto2

[21] Alat Wikto i pripadajuća dokumentacija, mogu se dohvatiti na adresi: http://www.sensepost.com/research/wikto/

[22] SQL injection – napad koji kod aplikacija iskorištava ranjivosti sloja baze podataka

[23] XSS- vrsta sigurnosnog propusta koja napadaču omogućuje ubacivanje koda u aplikaciju, pomoću kojeg će zaobići mehanizme zaštite na web stranici ili primijeniti phishing na korisnike

[24] Tip kompjuterskog crva koji se širi među računalima s Microsoft operacijskim sustavom