Što je provjera ranjivosti?
Provjera ranjivosti (engl.
vulnerability scanning, vulnerability assessment) je automatizirani postupak ispitivanja i identificiranja poznatih ranjivosti računalnih sustava i mreža. Postupak provjere ranjivosti izvodi se specijaliziranim alatima koji se mogu podijeliti u dvije skupine:
- alati za lokalnu provjeru ranjivosti i
- alati za udaljenu provjeru ranjivosti.
Alati za lokalnu provjeru ranjivosti pokreću se isključivo na sustavu koji se ispituje. Takvi alati ispitivanjem konfiguracije sustava i verzija instaliranih programskih paketa identificiraju poznate ranjivosti. Primjer takvog alata je
Microsoft Baseline Security Analyzer, program koji analiziranjem zapisa u Windows Registryju pronalazi sigurnosne propuste u Windows sustavima.
Alati za udaljenu provjeru ranjivosti ispitivanja obavljaju preko mreže, pa ne trebaju nužno biti pokrenuti na sustavu koji se ispituje. Postupak provjere najčešće se provodi u slijedećih nekoliko koraka:
- pretraživanjem zadane mreže popisuju se aktivna računala i drugi mrežni uređaji,
- skeniranjem portova na svakom računalu popisuju se otvoreni portovi,
- za svaki otvoreni port identificira se servis aktivan na tom portu,
- za svaki servis izvodi se pripadajući skup testova za provjeru ranjivosti.
Kao rezultat ispitivanja, alat generira izvještaj u kojem su navedeni podaci sakupljeni tijekom ispitivanja. Postoji nekoliko alata za udaljenu provjeru ranjivosti, a najpoznatiji među njima je
Nessus. Osim njegove kvalitete, razlog popularnosti ovog alata je njegova relativno niska cijena, kao i postojanje
open-source verzije.
Provjera ranjivosti zahtijeva višestruko manje vremena od ostalih oblika sigurnosnog ispitivanja, što je čini pogodnom za periodičko ispitivanje većih mreža i sustava. Negativne strane provjere ranjivosti su mogućnost pojave pogreške i lažno pozitivnih rezultata. Kod invazivnijih testova može doći i do štete ili pada sustava koji se ispituje.
Faze provjere ranjivosti -
Prikupljanje informacija
Prvi korak u procesu provjere ranjivosti je prikupljanje informacija o sustavu koji se ispituje.
Osnovni podaci uključuju:
- IP adrese ili raspone IP adresa,
- vrstu sustava (produkcijski, testni, itd.),
- vrijeme odobreno za skeniranje i
- dozvolu vlasnika sustava.
Posebnu pozornost treba obratiti na točnost ovih podataka, jer se sigurnosno ispitivanje sustava bez dozvole vlasnika može protumačiti kao pokušaj neovlaštenog pristupa. Kod ispitivanja produkcijskih sustava treba uzeti u obzir da neki testovi mogu dovesti do ispada sustava. Stoga je potrebno isključiti invazivne testove, a skeniranje obavljati u vrijeme kad sustav nije opterećen.
Faze provjere ranjivosti -
Identificiranje računala
Prilikom slijepog skeniranja neke podmreže korisno je identificirati koje su IP adrese aktivne. Tako se može značajno skratiti vrijeme ispitivanja, jer se za neaktivne adrese neće provoditi testovi.
Aktivnost IP adrese može se provjeriti na dva načina:
- ICMP pingom i
- TCP pingom.
ICMP ping je koristan kad između skenera i ispitivanog sustava nema usmjerivača ili vatrozida koji su najčešće podešeni tako da filtriraju ICMP pingove. TCP ping je koristan kod ispitivanja sustava koji se nalaze iza vatrozida, a koriste poznate portove.
Faze provjere ranjivosti -
Skeniranje portova
Idući korak provjere ranjivosti je popisivanje aktivnih portova na ispitivanim računalima. Postoji više metoda skeniranja portova koje se međusobno razlikuju u točnosti, brzini i diskreciji (sposobnosti da prođu neopaženo od strane administratora ili sustava za detekciju upada). Osim odabira metode, ostali parametri skeniranja su istek vremena i skup portova koji će se skenirati.
Faze provjere ranjivosti -
Odabir testova
Nakon skeniranja portova, alat za provjeru ranjivosti će na svakom portu za koji je utvrđeno da je aktivan obaviti niz testova. Testovi koji se prvi obavljaju služe kako bi se saznalo koji je servis aktivan na portu. Ovisno o tipu servisa određuje se koje će se grupe testova provoditi u nastavku provjere.
Ovisno o namjeni provjere i tipu ispitivanog sustava, moguće je uključiti ili isključiti pojedine testove prije nego se započne provjera. Primjerice, moguće je isključiti testove uskraćivanja usluge ili, ako je poznato da se ispituju Windows računala, moguće je isključiti testove za ostale operativne sustave. Neki testovi zahtijevaju i podešavanje dodatnih parametara, primjerice administratorske lozinke za Windows sustav kako bi se omogućio pregled Windows Registryja.
Faze provjere ranjivosti -
Analiza rezultata
Analiza rezultata skeniranja posljednji je korak provjere ranjivosti. Alati za provjeru ranjivosti generiraju izvještaje u kojima je za svaku pronađenu ranjivost navedena IP adresa računala, port i vrsta servisa na kojoj je ranjivost pronađena. Osim tih podataka izvještaji obično sadrže i standardizirane oznake ranjivosti, stupnjeve rizika i upute za uklanjanje. Rezultate je potrebno pažljivo analizirati kako bi se uklonile eventualne pogreške i lažno pozitivni rezultati.
Usluga Provjere ranjivosti
CARNet CERT nudi uslugu provjere ranjivosti svim ustanovama članicama bez naknade. Uslugu se može naručiti prema uputama na CERT-ovim web stranicama (http://www.cert.hr/). Ispitivanja se obavljaju pomoću alata Nessus i Shadow Security Scanner. Rezultat ispitivanja je izvještaj na hrvatskom jeziku u kojem su navedene sve pronađene ranjivosti u testiranoj mreži. Ranjivosti su sortirane po stupnju rizika i za svaku ranjivost su navedeni savjeti i upute za uklanjanje.