Sustav koji automatizirano prati mrežne i sistemske događaje u svrhu detekcije kršenja sigurnosne politike naziva se sustav za detekciju upada na sustav (linkto eng. intrusion detection system – IDS). Takav sustav nije zadužen za sprječavanje upada na sustav. U tu se svrhu (sprečavanje upada) koristi sustav za sprječavanje upada (linkto: eng. intrusion preventions system – IPS), koji najčešće kao jedan od svojih dijelova sadrži i sustav za detekciju upada. Međutim, najčešće programska rješenja posjeduju elemente i za detekciju i za sprečavanje, stoga se radi o sustavima za detekciju i sprječavanje upada (IPDS). Najvažnija uloga takvih sustava jest bilježenje, tj. identificiranje mogućih sigurnosnih incidenata te bilježenje konteksta istih. Tek kada je mogući sigurnosni incident zabilježen, sustav pokušava spriječiti upad (naravno, ukoliko je to u stanju).

IDS sustavi dijele se na NIDS i HIDS sustave, tj. sustave za detekciju mrežnih upada i upada na lokalno računalo (eng. network / host IDS):

  • NIDS sustavinadziru mrežni sloj operacijskog sustava (dio operacijskog sustava zadužen za mrežnu komunikaciju) kako bi detektirali zlonamjerne uzorke mrežnog prometa – npr. pretraživanje mrežnih priključaka, nagli porast mrežnog prometa i sl. Najčeće se promatraju osjetljivi dijelovi mreže, npr. DMZ (dio mreže koji najviše komunicira s vanjskim svijetom te sadrži web ili mail poslužitelje).
  • HIDS sustavinadziru izmjene datotečnog sustava, sistemske pozive, aplikacijske zapise i sl.

Još jedna podjela sustava za detekciju jest po načinu same detekcije. Tako postoje sustavi koji pronalaze upade pomoću:

  • statističke analize tj. detekcije anomalija– sustavi koji na temelju bilješki koje su prikupili pri normalnom radu sustava detektiraju neobične događaje, te
  • usporedbe potpisa– sustavi koji događaje uspoređuju sa predefiniranim obrascima napada.

Oba sustava posjeduju specifičnosti, tj. prednosti i mane.

Mana prvog načina jest da sustav mora duže vrijeme „učiti“ normalno ponašanje sustava, pri čemu postoji i mogućnost krivog učenja. Prednost mu je što može otkriti prethodno nezabilježene vrste napada.

Mana drugog načina je ta da obrazac napada mora biti poznat kako bi se njegov potpis mogao usporediti sa trenutnim događajima na sustavu. Prednost ovog načina rada jest pouzdanost detekcije (manji broj lažnih detekcija).

Metode kojima se koriste dijelovi sustava za sprečavanje upada (nakon što je isti detektiran) brojne su, a neke od temeljnih su blokiranje prometa iz smjera napada, podizanje alarma, zaključavanje dijela sustava pod napadom i sl.

Snort

Snort je besplatni alat otvorenog koda koji se koristi za detekciju mrežnih upada na sustav (NIDS). Trenutna inačica alata (2.9) izdana je 6.4.2011. Alat je dostupan na Windows (XP, Vista, 7) i Linux operativnim sustavima. Uz alat je preporučljivo nabaviti i nekoliko dodatnih komponenti. Prvenstveno se to odnosi na sustav za upravljanje bazama podataka (eng. RDMBS) koji će poslužiti kao skladište za spremanje zapisa događaja na sustavu te grafičko sučelje za pregled i administraciju događaja. Snort je moguće koristiti sa dva besplatna sustava baza podataka – MySQL i PostgreSQL. Također, postoji više besplatnih grafičkih sučelja za Snort - Aanval, Snorby, BASEi RazorBack. U nastavku teksta bit će opisana uporaba alata uz pomoć Snorby grafičkog sučelja.

Snort funkcionira na principu analize mrežnog prometa u realnom vremenu. Alat presreće promet te ga analizira na temelju dvije osnovne stavke – analize protokola te pretrage sadržaja. U prvom slučaju Snort uspoređuje informacije o protokolu (zapisane u zaglavlju paketa) sa definiranim pravilima samog alata. Za svaki (uobičajeni) protokol postoje posebne definicije i pravila.  U drugom slučaju alat pretražuje sadržaj mrežnog paketa na uzorke koji indiciraju rizični sadržaj.

alt

Slika 1. Izgled Snort konfiguracijske datoteke

Instalacija alata ovisna je o operativnom sustavu, međutim najčešće se radi o relativno jednostavnom postupku. Potrebno je dohvatiti i instalirati alat te odabrati bazu podataka u koju će se spremati događaji (te postaviti korisničko ime i lozinku za pristup samoj bazi). Korisno je alat postaviti na način da se automatski pokreće s pokretanjem samog sustava (postupak također ovisi o OS-u).

alt

Slika 2. Ispis detektiranih događaja na komandnoj liniji

Nakon pokretanja, Snort u realnom vremenu nadzire promet te prijavljuje i klasificira sve događaje koji se podudaraju s definiranim pravilima. Prikaz je, bez dodatnog grafičkog sučelja, ograničen na izlistavanje događaja  u komandnoj liniji (te istovremenom spremanju u bazu podataka), tj. ne postoji način da se događaji pregledavaju na sistematičan način. Nakon instalacije i pokretanja Snorby sučelja (detaljne upute), korisniku je omogućen

  • sumarni prikaz događaja,
  • prikaz svih događaja uz mogućnost jednostavne klasifikacije (ručnog označavanja) svakog događaja te
  • detaljan uvid u svaki pojedinačni događaj.

alt

Slika 3. Sumarni prikaz događaja

Snorby omogućuje praćenje više odvojenih instanci Snort alata istovremeno. Moguć je sumarni prikaz u raznim vremenskim intervalima po:

  • senzorima, tj. instancama alata,
  • ozbiljnosti prijetnje (visoka/srednja/niska),
  • protokolima (TCP/UPD/ICMP),
  • ishodišnim točkama mrežnog prometa,
  • odredištu (računalu s pokrenutom instancom alata).

Uz sumarni, omogućen je i pregled nekoliko posljednjih te ukupan broj događaja svake klase. Klasa događaja je vrsta napada koja se tim događajem (tj. mrežnom aktivnošću) pokušava ostvariti.

alt

Slika 4. Prikaz svih događaja

Pregled događaja omogućuje i detaljni uvid u neki događaj, tj. paket koji je uzrokovao isti, (slika 4.) prijavljen od Snorta, uključujući:

  • ishodište i odredište paketa,
  • signaturu koja je uzrokovala prijavu događaja,
  • informacije o zaglavlju i sadržaju paketa koji je uzrokovao događaj.

alt

Slika 5. Prikaz detalja pojedinačnog događaja

Snorby pomoću administracijskog dijela sučelja omogućuje definiranje novih klasa događaja te dodavanje promatranih instanci Snorta. Postavljanje samog Snorta još uvijek je nužno obaviti pomoću izmjene konfiguracijskih datoteka samog alata.

Tripwire

Alati za nadzor lokalnih dijelova sustava (datotečnog sustava, memorije i sl.) imaju svog predstavnika u Tripwire programskom rješenju. Također besplatni alat otvorenog koda, Tripwire je nastao na temelju komercijalnog istoimenog alata (čiji kod više nije dostupan).  Alat je dostupan na Linux/BSD operacijskim sustavima.

Tripwire funkcionira na način da nakon instalacije pregleda cijeli datotečni sustav te za svaku pregledanu datoteku sprema informacije u bazu podataka. Sustav u pozadini promatra svaku promjenu na datoteci i, ukoliko zamijeti sumnjiv ili neautorizirani pokušaj izmjene datoteke, dojavljuje korisniku informacije o zlonamjernim aktivnostima. Alat također posjeduje bazu potpisa s kojom uspoređuje svaki pokušaj izmjene sustava kako bi detektirao one sumnjive.

Idi na vrh