Analiza ranjivosti treći je i završni korak faze prikupljanja podataka. Nakon što su uspješno završena prethodna dva koraka, cilj penetracijskog ispitivača je da sada pokuša pronaći sve moguće ranjivosti (sigurnosne propuste) u ciljanom sustavu. Tijekom ovog koraka penetracijski ispitivač mora se služiti svojim znanjem i iskustvom kako bi pronašao ranjivosti u sustavu. Penetracijski ispitivač za poznate ranjivosti može koristiti automatizirane alate kako bi se olakšao pronalazak tih poznatih ranjivosti u sustava. Ti alati obično imaju svoje baze podataka o poznatim ranjivostima i detaljne informacije o njima, a baza se obično periodički obnavlja.
Vrlo je važno da penetracijski ispitivač bude u tijeku sa svim događajima koji su povezani sa sigurnosti u računalnom svijetu. Uspješnost ove faze direktno ovisi o znanju i iskustvu penetracijskog ispitivača. Penetracijski ispitivač uvijek mora biti u toku s novootkrivenim ranjivostima u sustavima (pridružiti se referentnim sigurnosnim mailing listama, posjećivati stranice koje se bave sa sigurnošću i otkrivanjem novih ranjivosti i sl.). Nove ranjivosti se pronalaze svaki dan i objavljuju se u sigurnosnim zajednicama, referentnim mailing listama i različitim forumima koji se bave sa sigurnošću.
Neke od dobrih informativnih Web stranica koje su iznimno korisne za istraživanje potencijalnih ranjivosti su:
Penetracijski ispitivač ne smije se osloniti samo na automatizirane alate za pronalazak ranjivosti sustava. Ti alati imaju jednu negativnu osobinu, a to je da mogu dati false positive i false negative rezultate. Znači, moguće je da detektiraju ranjivost koja uopće i ne postoji u sustavu, a isto tako moguće je da ne detektiraju ranjivost koja postoji u sustavu.
Kod neautomatiziranog (ručnog) načina otkrivanja ranjivosti zahtjeva se veliko znanje i iskustvo penetracijskog ispitivača. Ručne metode otkrivanja ranjivosti sustava obično kao rezultat daju pronađene nove ranjivosti u sustavu ili krive konfiguracije sustava. Postoji nekoliko metoda za otkrivanje ranjivosti:
Najzanimljivija od spomenutih metoda je fuzzing metoda. Fuzzing metoda omogućuje brzo otkrivanje rizičnih sigurnosnih propusta u različitim programskim rješenjima. Bazira se na fault injection tehnici, kojom se prosljeđivanjem različitih ulaznih podataka ciljanoj aplikaciji pokušavaju otkriti sigurnosni propusti unutar aplikacije. Cilj je da proslijeđeni podaci na ciljanoj aplikaciji uzrokuju manifestacije sigurnosnog propusta. Fuzzing metoda je pogodna za otkrivanje sigurnosni propusta u svim aplikacijama koje obrađuju korisnički unos, kao što su npr. poslužiteljske aplikacije, klijentske aplikacije, parseri datoteka i sl. Korištenjem fuzzing metode moguće je otkriti gotovo sve do sada poznate tipove sigurnosnih propusta, kao što su:
Ako penetracijski ispitivač koristi automatizirane alate za otkrivanje poznatih ranjivosti, proces otkrivanja ranjivosti sustava ne smije ostati samo na tome. Penetracijsko ispitivanje sigurnosti sustava nije samo aktivnost koja obuhvaća pokretanje automatiziranih alata nego je i više od toga. Ukoliko se koriste automatizirane metode pronalaska ranjivosti u sustavu potrebno je provesti i ručne metode kako bi se osiguralo da je pronađeno što je više moguće ranjivosti sustava, a time se povećava i kvaliteta samog penetracijskog ispitivanja.
Neki od dobrih automatiziranih alata za pronalazak poznatih ranjivosti, komercijalni i nekomercijalni, su:
Nessus (http://www.nessus.org) je besplatan alat za skeniranje i pronalazak poznatih ranjivosti u sustavu. Može se koristiti za veliki broj različitih sigurnosnih skeniranja. Značajno smanjuje vrijeme penetracijskog ispitivanja u potrazi za poznatim ranjivostima u sustavu. Autor i proizvođač Nessusa je Tenable Network Security. Radi kontinuiranog unapređivanja skenera Tenable proizvodi većinu dodataka (engl. plugin) za razna sigurnosna skeniranja, za novootkrivene ranjivosti, te naplaćuje pretplatu za te dodatke. Postoji i besplatna pretplata, ali ažuriranje dodataka kasni tjedan dana za pretplatom koja se plaća.
Nessus se zasniva na klijent-poslužitelj arhitekturi. Nessus klijent konfigurira skeniranje, način skeniranja, dodatke, cilj skeniranja, te daje izvještaj o rezultatima skeniranja zadanih ciljeva. Nessus poslužitelj provodi sva sigurnosna skeniranja, koja su implementirana kao dodatci za skeniranje. Dodatci su napisanu u NASL jeziku (Nessus Attack Scripting Language). Sva mrežna komunikacija između klijenta i servera je zaštićena, za komunikaciju se koristi TLS (Transport Layer Security).
Nessus poslužitelj i klijent ne moraju biti instalirani na istom operacijskom sustavu. Nessus poslužitelj može biti instaliran na jednom operacijskom sustavu (npr. Linux), a klijent instaliran na drugom operacijskom sustavu (npr. Windows). Isto tako, Nessus podržava da su i poslužitelj i klijent instalirani na jednom računalu, na jednom operacijskom sustavu. Nessus poslužitelj podržava većinu danas popularnih operacijskih sustava, kao što su Linux, Windows, FreeBSD, Solaris i Mac OS X. Nessus klijent podržava isto tako nekoliko operacijskih sustava, a to su Linux, Windows i Solaris.
Nessus poslužitelj za instalaciju zahtjeva administratorske ovlasti, to vrijedi za sve operacijske sustave na koje se može instalirati. Npr. za operacijski sustav Linux za instalaciju Nessus poslužitelja potrebno je imati root ovlasti, a na operacijskom sustavu Windows potrebno je imati ovlasti lokalnog administratora sustava (Local Administrator). [2]
Standardne početne vrijednosti za politiku skeniranja (engl. default scanning policy) u većini slučajeva neće odgovarati za većinu skeniranja. Zbog toga Nessus pruže veliki izbor opcija skeniranja kako bi se skeniranje moglo prilagoditi za određenu svrhu.
Nakon što se pokrene Nessus klijent, većina opcija je onemogućena, sve dok se klijent ne spoji na Nessus poslužitelj. (Slika 4.7)
Klikom na gumb Connect otvara se prozor u kojem je moguće odabrati željeni Nessus poslužitelj koji se želi koristi tijekom skeniranja. (Slika 4.8)
U konfiguracijskom prozoru poslužitelja moguće je promijeniti port na kojem sluša Nessus poslužitelj, isto tako moguće je promijeniti IP adresu, te definirati period osvježavanja baze dodataka poznatih ranjivosti. Nessus poslužitelj obično sluša na TCP portu 1241. U istom prozoru omogućeno je pokretanje i zaustavljanje Nessus poslužitelj. (Slika 4.9)
Nakon što se Nessus klijent uspješno spoji na Nessus poslužitelj moguće je konfigurirati Nessus klijent i postaviti željene opcije kako bi se izvršilo skeniranje. Omogućeno je dodavanje ciljeva skeniranja. Ciljeve skeniranja moguće je dodati na više načina. Moguće je dodavati jednu po jednu IP adresu, dodati određeni raspon IP adresa koje će se skenirati ili dodati datoteku u kojoj se nalaze IP adrese koje će se skenirati.
Nakon što je odabran cilj skeniranja potrebno je definirati politiku i način skeniranja. Potrebno je definirati na koji način se izvršava skeniranje i što će se točno skenirati, te koje poznate ranjivosti će biti uključene u skeniranje.
Nessus klijent pruža mogućnost odabira načina skeniranja. Neki Nessus dodatci za skeniranje koriste metode koje su agresivne i mogu onemogućiti sustav koji se skenira, tj. izazvati DoS napad. Zbog toga je u opcijama moguće uključiti ili isključiti te agresivne metode (uključivanjem i isključivanjem opcije safe check). U opcijama je moguće odabrati vrstu port skenera koji se koristi kod skeniranja sustava (ping scan, SYN scan, Nessus TCP scanner i sl.). Nessus u svojim opcijama omogućava postavljanje velikog broja opcija skeniranja. Jedna od glavnih opcija koje je potrebno postaviti je odabir dodataka koji će se koristiti, tj. odabir poznatih ranjivosti na koje se testira ciljani sustav. (Slika 4.10) Nakon što se postave sve potrebne opcije skeniranja moguće je izvršiti skeniranje nad zadanim ciljanim sustavom.
Nessus sve što je pronašao kategorizira u tri skupine: sigurnosne rupe, sigurnosna upozorenja i sigurnosne informacije. Sigurnosne rupe izvještavaju o pronađenim poznatim ranjivostima u sustavu. Sigurnosna upozorenja daju neka upozorenja o skeniranom sustavu i njegovoj konfiguraciji. Sigurnosne informacije daju informacije o svemu što je Nessus skeniranjem sustava pronašao.(Slika 4.11)
U obzir se mora uzeti da neki od pronađenih propusta uopće ne postoje na sustavu koji je skeniran (false positive). Isto tako, ne mora značiti da je Nessus pronašao sve ranjivosti sustava (false negative).
Nakon što je izvješće generirano Nessus omogućava konvertiranje tog izvješća u nekoliko različitih formata. Najjednostavniji i najpregledniji format je HTML format izvješća. Ostali formati su Nessus formati, noviji NBE format ili stariji NSR format. Neki Nessus klijenti omogućuju konvertiranje izvješća u XML ili PDF, te neki pružaju mogućnost uspoređivanja dva izvješća.
![]() |
![]() |
![]() |