FAKULTET
ELEKTROTEHNIKE I RAČUNARSTVA
DIPLOMSKI RAD br. 1775
Sustavi
za otkrivanje napada
Nikolina Pavković
0036405479
Zagreb,
rujan, 2008.
Sadržaj
2. Sigurnost računalnih sustava
2.2. Sigurnosni zahtjevi i ponuđena rješenja
3. Što je sustav za otkrivanje napada?
3.1. Sustav za otkrivanje napada i sigurnosna stijena
3.2. Svojstva dobrog sustava za otkrivanje napada
3.3. Zašto je poželjno koristiti detekciju upada u
sustav?
3.4. Gdje bi
sustav za detekciju napada trebao biti smješten u mrežnoj topologiji?
3.5. Funkcionalne
komponente sustava za otkrivanje napada
3.6. Prednosti i ograničenja sustava za otkrivanje
napada
3.6.1. Dobre strane sustava za otkrivanje napada
3.6.2. Ograničenja sustava za otkrivanje napada
4. Podjela sustava za otkrivanje napada
4.2.1. Mrežno zasnivani sustav za otkrivanje napada
4.2.2. Sustav za otkrivanje napada na računalu
4.2.3. Sustav za otkrivanje napada zasnovan na
programskoj podršci
4.3.2. Otkrivanje nepravilnosti
4.4.3. Izvještavanje i sposobnost arhiviranja
5. Alati koji se koriste za otkrivanje napada
5.1. Alati kojima je glavna zadaća otkrivanje napada
5.2. Nadopuna sustava za otkrivanje napada
5.2.1. Analiza ranjivosti sustava
5.2.2. Alat za provjeru integriteta datoteka
5.2.3. Sustavi za privlačenje napadača
6. Programsko rješenje OSSEC HIDS
6.1. Funkcije OSSEC HIDS alata
6.1.2. Provjera integriteta datoteka
6.1.4. Alarmiranje u stvarnom vremenu
6.3. Konfiguriranje OSSEC HIDS-a
7. Sustav za otkrivanje napada NetPatrol
7.1. Mogućnosti NetPatrol alata
7.1.1. Analiza mrežnog prometa i detekcija poznatih
napada
7.1.4. Alarmiranje u stvarnom vremenu
7.2. Instalacija NetPatrol sustava za otkrivanje napada
7.3. Konfiguracija NetPatrol sustava za otkrivanje napada
7.3.3. Konfiguracija obavijesti i razine osjetljivosti
8. Ispitivanje sustava za otkrivanje napada
8.1. Alati korišteni za testiranje sustava za detekciju
napada
8.2. OSSEC HIDS - Skeniranje Web poslužitelja
8.2.2. Skeniranje s drugog računala
8.3. OSSEC HIDS - Skeniranje pristupa
8.3.1. Lokalno skeniranje pristupa
8.3.2. Skeniranje pristupa s drugog računala
8.4. NetPatrol – Skeniranje Web servera
8.4.2. Skeniranje s drugog računala
8.5. NetPatrol – Skeniranje pristupa
8.5.1. Lokalno skeniranje pristupa
8.5.2. Skeniranje pristupa s drugog računala
8.6. Usporedba obrađenih sustava za otkrivanje
napada
Dodatak A. Konfiguracijska datoteka
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.
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.
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.
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.
Ovisno o načinu narušavanja sigurnosti prijenosa informacija, razlikuju
se sljedeći tipovi napada:
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:
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
·
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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
Većina komercijalnih IDS-ova pruža mogućnost generiranja
rutinskih izvještaja i ostalih detaljnih informacijskih dokumenata, kao i
njihovo arhiviranje.
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.
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.
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.
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.
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.
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.
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.
·
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.
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.
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.
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. ".
Najčešće izdvajane funkcije OSSEC HIDS-a su analiza logova,
provjera integriteta datoteka, detekcija rootkit-a,
alarmiranje u stvarnom vremenu i aktivni odgovori.
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:
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.
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
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:
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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…
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.
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
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.
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
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.
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.
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.
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.
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
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
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.
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
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
[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/
<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