Ranjivost u kontekstu računalne sigurnosti podrazumijeva slabost u računalnom sustavu koja omogućuje napadaču da smanji razinu informacijske sigurnosti, tj. da informaciju u sustavu ili sami sustav na neki način izloži opasnosti. Napadač to može učiniti ugrožavanjem nekoliko osnovnih sigurnosnih koncepta:

  • povjerljivost - odnosi se na ograničavanje pristupa informacijama pojedincima koji ne posjeduju potrebne ovlasti - npr. napad na lozinku sirovom snagom (brute force attack),
  • cjelovitost - odnosi se na sprječavanje neovlaštene izmjene informacija - npr. posrednički napad na poruku između poslužitelja i klijenta (man in the middle attack) te
  • dostupnost - odnosi se na osiguravanje kontinuiranog pristupa informacijama ovlaštenim pojedincima - npr. napad uskraćivanjem usluge (DoS attack).

Sama ranjivost (da bi se mogla iskoristiti) mora sadržavati tri elementa:

  • grešku u sustavu (npr. greška u dizajnu, greška u postavkama i sl.),
  • pristup grešci od strane napadača, i
  • sposobnost napadača da iskoristi grešku.

Ranjivosti se nazivaju još i napadnim plohama (attack surface) jer omogućuju mjesto napada na sustav.

Pronalaženje poznate ranjivosti obavlja se na način da se izradi program koji sustavu šalje podatke koji uzrokuju određeno ponašanje sustava. Ukoliko se takvo ponašanje detektira znači da je sustav podložan dotičnoj ranjivosti. Pronalaženje takvih ranjivosti temelji se na automatiziranim provjerama. Masovno se izvršavaju atomizirani testovi tj. svaki test provjerava jednu ranjivost.

Postoje dvije varijante provjera ranjivosti:

  • udaljene - računalo se ispituje izvana na ranije opisani način (slanjem posebno oblikovanih podataka koji uzrokuju specifično ponašanje sustava) te
  • lokalne (eng. local security check) - računalo se ispituje iznutra (korisnik posjeduje lokalni pristup računalu).

OpenVAS

OpenVAS je okruženje otvorenog koda (open-source) koje sadrži više alata za ispitivanje ranjivosti sustava izdano pod GPL licencom. Alat je nastao kao derivat (fork) starijeg alata za ispitivanje ranjivosti Nessus (u razvoju od 1998. g.), a koji je u međuvremenu postao komercijalni projekt (2005. g.). Posljednja inačica (4.0.0.) objavljena je 17.4.2011.

Alat se sastoji od klijentskog i poslužiteljskog dijela, tj. od sljedećih komponenti:

  • NVT (network vulnerability test) skripti koje sadrže upute kako će alat ispitati mrežnu ranjivost,
  • poslužiteljskog pretraživačkog servisa (openvassd) koji pokreće skripte za izvršavanje,
  • poslužiteljskog upravljačkog servisa (openvasmd) koji služi za upravljanje pretraživanjem, tj. za efikasno upravljanje pretraživačkim servisom,
  • poslužiteljskog administrativnog servisa (openvasad) koji služi za upravljanje korisnicima i izvještajima,
  • poslužiteljskog pomoćnog servisa (gsad) koji korisniku pruža web sučelje za upravljanje svim navedenim alatima te konačno
  • klijentskog sučelja pomoću kojeg korisnik upravlja pretraživanjem.

Poslužiteljske servise moguće je rabiti samo unutar Linux/BSD okruženja. Budući da je poslužiteljskim dijelom alata moguće upravljati iz web preglednika, upravljanje alatom može se obavljati sa bilo kojeg računala koje posjeduje isti, uključujući i lokalno računalo. Kao alternativa pregledniku, postoji također i zasebna upravljačka aplikacija za upravljanje poslužiteljskim servisima koja se može pokretati i iz Windows (XP, Vista, 7) platformi. Osim za SuSE distribuciju Linux operacijskog sustava na kojoj se OpenVAS može instalirati iz repozitorija, alat je nužno instalirati na način da se prevede iz izvornog koda u izvršne datoteke kako bi se konačno dobila aktualna inačica.

Postavljanje poslužiteljskih komponenti

Prethodno svim drugim koracima nužno je postaviti sve navede  ne poslužiteljske komponente. Budući da svaka komponenta posjeduje svoje konfiguracijske specifičnosti, postoji shell skripta koja korisniku olakšava taj postupak. Skripta provjerava konfiguracijske postavke svih komponenti alata od kojih su važnije stvaranje početnog administratorskog korisnika te pokretanje svih potrebnih servisa. Pri pokretanju skripte, korisnik biva informiran o svim moguće lošim postavkama te za svaku takvu postavku informira korisnika o mogućem rješenju.

alt

Slika 1. Konfiguracija poslužiteljskih komponenti

Ranjivosti programske podrške otkrivaju se svakodnevno što rezultira novim NVT skriptama koje ispituje takve ranjivosti. Postojeće skripte također mogu doživjeti poboljšanja, stoga je nužno povremeno (te pri prvom pokretanju) ažurirati NVT skripte kako bi ispitivanje ranjivosti bilo što točnije. Nakon instalacije i postavljanja poslužiteljskih servisa, u ljusci (shell) operacijskog sustava nužno je pokrenuti naredbu openvas-nvt-sync.

Nakon postavljanja i pokretanja svih servisa, sustav je spreman za pokretanje testova.

Ispitivanje ranjivosti udaljenog računala

Kako bi bilo moguće ispitivati udaljena računala, potrebno je pokrenuti OpenVAS korisničko sučelje (unutar preglednika ili pomoću klijentske aplikacije) te prijaviti se na sustav. Ukoliko su poslužiteljske komponente na lokalnom računalu iz preglednika, može im se pristupiti na localhost adresi.

Prije pokretanja sigurnosnih testova, nužno je odabrati osnovne postavke tj. obaviti sljedeće korake:

  1. odabrati računalo koje će se testirati,
  2. ukoliko se radi o lokalnoj provjeri, pružiti identifikacijske podatke te
  3. odabrati vrstu testiranja (koje NVT skripte će se pokrenuti).

alt

Slika 2. Postavljanje NVT skripti

Osim osnovnih postavki, korisniku su pružene i ostale mogućnosti pomoću kojih može detaljno upravljati ponašanjem alata. Tako je moguće:

  • odabrati agente koji će se pokretati prilikom ispitivanja i instalirati na ciljno računalo,
  • postaviti metodu izvještavanja korisnika pri određenim važnim događajima (npr. email, syslog, SNMP ...),
  • vremenski raspoređivati pokretanje testova,
  • odabrati format prikaza rezultata testova tj. format izvještaja,
  • odabrati druge OpenVAS poslužitelje kojima će se delegirati izvršavanje testova.

Testovi se, naravno, mogu pokretati i ručno.

alt

Slika 3. Izvršavanje zadaća testiranja

Kada je testiranje gotovo, preostaje još samo pregled izvještaja. Ovisno o odabranim skriptama, generiraju se tri razine ranjivosti:

  • ranjivosti visokog prioriteta - generiraju se za identificiranu sigurnosnu rupu te predstavljaju ranjivost za koju postoje poznate metode iskorištavanja (exploit)
  • ranjivosti srednjeg prioriteta - upozoravaju na mogući sigurnosni propust te
  • ranjivosti niskog prioriteta - indiciraju stanje sustava (nepostojanje ranjivosti za navedeni test), tj. ranjivosti koje se mogu iskoristiti za planiranje obrane od složenijih napada.

Za svaku od pojedinih ranjivosti generira se izvješće koje daje uvid u specifičnosti iste. U izvješću su navedeni detalji poput mjesta i opisa greške unutar sustava, utjecaja na sustav u slučaju iskorištavanja ranjivosti, reference na tehničke detalje greške i sl. Svako izvješće moguće je preuzeti u bilo kojem ranije definiranom formatu (CSV, PDF, LaTeX i sl.).

alt

Slika 4. Izvješće ispitivanja

Moguće je da alat zbog nedostatnog dizajna NVT skripte prikaže ranjivosti koje uopće ne postoje. U takvom slučaju, korisnik sam mora odlučiti radi li se o stvarnoj ranjivosti ili je došlo do greške u ispitivanju ranjivosti.

Više možete saznati na službenim stranicama alata.

Nessus

Nessus, kao prethodnik OpenVAS projekta, posjeduje gotovo jednake mogućnosti, no kako je projekt komercijalne prirode, besplatan je samo za kućnu upotrebu. Budući da je projekt komercijalan, bolje je dokumentiran te posjeduje veću količinu NVT skripti što korisniku daje veću fleksibilnost testiranja te precizniji uvid u stanje sustava.

Više informacija na službenim stranicama.

Metasploit

Metasploit projekt posjeduje većinu mogućnosti OpenVAS okruženja, međutim kako je Metasploit primarno razvojno okruženje za ranjivosti, namijenjen je primarno naprednim korisnicima koji ranjivosti razvijaju. Projekt također posjeduje napredne metode koje skrivaju tragove aktivnosti te metode skrivanja prisutnosti kako bi se zaobišla bilo kakva vrsta alata za sprječavanje upada na sustav.

Više informacija na službenim stranicama.

Preuzimanje alata

OpenVAS | Nessus | Metasploit

Idi na vrh