Diplomski rad br. 1783
Penetracijsko ispitivanje sigurnosti Web primjenskih programa
Ivan Tomić 0036399500 | FER | ZEMRIS | HOME |

2. Općenito o penetracijskom ispitivanju

2.1 Što je to penetracijsko ispitivanje sigurnosti sustava?

Penetracijsko ispitivanje (engl. penetration testing), još se naziva i etičko hakiranje (engl. ethical hacking), je metoda s kojom se može procijeniti sigurnost računalne mreže ili računalnog sustava (Web poslužitelja, Web aplikacije, baze podataka, operacijskog sustava i dr.) tako da se simuliraju napadi na sustav kakve bi izveo stvarni napadač. To je aktivna analiza cijelog sustava u potrazi za mogućim sigurnosnim propustima, odnosno ranjivostima u sustavu, lošoj konfiguraciji sustava, za poznatim i nepoznatim propustima u programskom sustavu i/ili sklopovlju. Osoba koja izvodi penetracijsko ispitivanje postavlja se u poziciju stvarnog napadača, s istim metodama i radnjama pokušavaju se otkriti ranjivosti u sustavu.

Osoba koja provodi penetracijsko ispitivanje sigurnosti naziva se penetracijski ispitivač ili etički haker (engl. ethical hacker). Penetracijski ispitivač je računalni i mrežni stručnjak koji provodi napade na sigurnosni sustav, uz dopuštenje vlasnika sustava, kako bi pronašao ranjivosti u sustavu koje bi stvarni napadač mogao iskoristiti u svoju korist. Za ispitivanje sustava koriste se istim metodama koje bi koristio i stvarni napadač, ali za razliku od stvarnog napadača ne iskorištavaju pronađene ranjivosti u sustavu u svoju korist, nego cijeli postupak prijavljuju vlasnicima sustava, kako bi se otklonili sigurnosni propusti.

Penetracijsko ispitivanje relativno je novo područje koje se dosta razvija. U 70-im i 80-im godinama prošlog stoljeća penetracijsko ispitivanje sustava provodila je samo vojska i velike organizacije, jer računala i Internet nisu bili rašireni kao danas. Penetracijsko ispitivanje relativno nedavno je postalo popularno područje računalne sigurnosti. Danas većina organizacija, one kojima je to od interesa, ispituje sigurnost svojih sustava pomoću penetracijskog ispitivanja i s time osiguravaju prihvatljivu razinu sigurnosti u svojim sustavima.

Rezultat penetracijskog ispitivanja je dobro dokumentiran postupak ispitivanja koji se predaje naručitelju penetracijskog ispitivanja. Na osnovu te dokumentacije donose se odluke na koji način je potrebno unaprijediti ispitivani sustav kako bi se otklonile potencijalno opasne ranjivosti koje su pronađene, te unaprijedila sigurnost samog sustava.

Za provođenje penetracijskog ispitivanja nad sustavom potrebno je dopuštenje vlasnika sustava za sve akcije koje se provode. Prije provođenja penetracijskog ispitivanja potrebno je potpisati razne ugovore, kako kasnije ne bi bilo pravnih posljedica.

Pomoću penetracijskog ispitivanja sigurnosti procjenjuje se stanje sigurnosti sustava, te na osnovu te procjene donose se odluke o otklanjanju pronađenih ranjivosti i ugrađivanju različitih sigurnosnih rješenja, kako bi sustav bio što je moguće sigurniji. Penetracijsko ispitivanje je procjena trenutnog stanja sustava. Već se nakon samog završetka penetracijskog ispitivanja sustava mogu otkriti neki novi propusti u sustavu. Zbog toga je penetracijsko ispitivanje postupak koji se ne provodi samo jednom nego se taj postupak ponavlja periodički. Period ponavljanja ispitivanja sustava ovisi o specifičnostima sustava koji se ispituje.

Ukoliko se penetracijsko ispitivanje ne provede dobro, može imati ozbiljne posljedice na sustav nad kojim se provodi ispitivanje. Može doći do zagušenja sustava, pada sustava ili curenja povjerljivih informacija. Zato je jako važno da se provede detaljno planiranje prije samog izvođenja penetracijskog ispitivanja.

Ukoliko se penetracijsko ispitivanje ispravno provede ono je jako bitan dio strategije procjene rizika (engl. risk assessment strategy) organizacije. [1]

2.2 Razlozi provođenja penetracijskog ispitivanja

Penetracijsko ispitivanje provodi se iz više razloga. Neki od razloga provođenja penetracijskog ispitivanja su:

  • otkrivanje sigurnosnih propusta prije napadača,
  • potvrda postojeće sigurnosti,
  • ispitivanje novih tehnologija,
  • sigurnosni trening za informatičko osoblje i
  • obavještavanje IT menadžmenta o sigurnosnim problemima. [8]

Jedan od razloga provođenja penetracijskog ispitivanja je pronalazak ranjivosti sustava prije napadača. Cilj je pronaći i poznate i nepoznate sigurnosne propuste. Većina napadača ipak koristi poznate metode napada i primjenjuje ih na poznate sigurnosne propuste. Manji dio napadača koristi napredne tehnike i posjeduje još javno neizdane exploite (engl. 0-day exploits). Zbog toga je ključno da se prvo otkriju i uklone poznati sigurnosni propusti, a tek onda se ide u potragu za nepoznatim sigurnosnim propustima. Penetracijsko ispitivanje omogućuje da IT menadžment vidi sustav na način na koji ga vidi napadač. Cilj penetracijskog ispitivača je da pronađe sigurnosne propuste kako bi se oni mogli ispraviti i na taj način spriječiti napadača da iskoristi te sigurnosne propuste.

Često se penetracijsko ispitivanje provodi kako bi se potvrdila postojeća sigurnost organizacije. Obično penetracijsko ispitivanje obavlja neovisna vanjska organizacija, radi svoje objektivnosti i stručnosti. Redovno provođenje penetracijskog ispitivanja može pokazati pad ili rast sigurnosti unutar organizacije, jer penetracijsko ispitivanje daje dobru procjenu sigurnosnog stanja organizacije u vrijeme izvođenja ispitivanja. Penetracijsko ispitivanje može poslužiti i kao pokazatelj da sigurnosno osoblje unutar organizacije radi dobar ili loš posao.

Penetracijsko ispitivanje idealno je i za ispitivanje novih tehnologija prije samog puštanja u rad. Ispitivanjem novih tehnologija prije nego što itko ovisi o njima može uštedjeti vrijeme i novac, jer je lakše i jednostavnije ispraviti pronađene sigurnosne propuste.

Penetracijsko ispitivanje provodi se i kako bi se ispitalo sigurnosno osoblje organizacije zaduženo za otkrivanje i prevenciju napada. Ukoliko penetracijski ispitivač uspješno upadne u sustav, a da to nitko ne otkrije, to je dobar pokazatelj da je sigurnosnom osoblju potrebna dodatna edukacija. Rezultati penetracijskog ispitivanja mogu poslužiti za ukazivanje na pogreške koje je napravilo sigurnosno osoblje organizacije, te pomoći sigurnosnom osoblju da unaprijedi svoje sigurnosne vještine.

Penetracijsko ispitivanje provodi se i kako bi se IT menadžment obavijestio o sigurnosnim problemima unutar organizacije. Informacije dobivene izvođenjem penetracijskog ispitivanja koriste se kako bi se IT menadžmentu olakšao posao u odlukama o ulaganju resursa u sigurnost organizacije. Kako je budžet uvijek ograničen, nije moguće ukloniti sve pronađene potencijalne sigurnosne propuste u sustavu koji su pronađeni analizom ranjivosti u sustavu. Penetracijsko ispitivanje koristi se kako bi se odredilo koji od pronađenih sigurnosnih propusta imaju najviše utjecaja na samu organizaciju. Na osnovu tih informacija radi se plan za uklanjanje tih sigurnosnih propusta i smanjenje sigurnosnog rizika.

2.3 Klasifikacija penetracijskog ispitivanja

Penetracijsko ispitivanje klasificira se prema različitim kriterijima koji su specifični za svako pojedino penetracijsko ispitivanje. Penetracijsko ispitivanje može se klasificirati prema 6 osnovnih kriterija, a to su:

  • penetracijsko ispitivanje prema bazi raspoloživih informacija,
  • penetracijsko ispitivanje prema agresivnosti,
  • penetracijsko ispitivanje prema opsegu skeniranja,
  • penetracijsko ispitivanje prema pristupu skeniranja,
  • penetracijsko ispitivanje prema tehnici skeniranja i
  • penetracijsko ispitivanje prema početnoj točci skeniranja. [6]

2.3.1 Penetracijsko ispitivanje prema bazi raspoloživih informacija

Penetracijsko ispitivanje može se klasificirati prema količini podataka s kojima penetracijski ispitivač raspolaže prije samog provođenja ispitivanja. Prema bazi raspoloživih informacija o sustavu koji se ispituje penetracijsko ispitivanje dijeli se na:

  • penetracijsko ispitivanje bez informacija (engl. black box penetration testing) i
  • penetracijsko ispitivanje sa svim informacijama (engl. white box penetration testing). [6]

Kod penetracijskog ispitivanja bez informacija penetracijski ispitivač ne raspolaže s nikakvim informacijama o sustavu koji se ispituje. Penetracijski ispitivač posjeduje samo ime organizacije ili možda samo IP adresu Web poslužitelja organizacije. Ovakvim penetracijskim ispitivanjem simulira se stvarni napad kakav bi izveo i stvarni napadač.

Kod penetracijskog ispitivanja sa svim informacijama penetracijski ispitivač raspolaže sa svim potrebnim informacijama o sustavu koji se ispituje. Sva dokumentacija o sustavu pribavlja se od same organizacije koja je vlasnik ispitivanog sustava. Ovakvim penetracijskim ispitivanjem simulira se napad iznutra kakav bi mogao provesti netko od zaposlenika organizacije.

2.3.2 Penetracijsko ispitivanje prema agresivnosti

Penetracijsko ispitivanje može se klasificirati i prema agresivnosti izvođenja. Agresivnost se odnosi na način iskorištavanja pronađenog sigurnosnog propusta. Prema agresivnosti penetracijsko ispitivanje dijeli se na:

  • pasivno penetracijsko ispitivanje,
  • oprezno penetracijsko ispitivanje,
  • proračunato penetracijsko ispitivanje i
  • agresivno penetracijsko ispitivanje. [6]

Pasivnim penetracijskim ispitivanjem pronađeni sigurnosni propusti ne pokušavaju se iskoristiti. Svi pronađeni sigurnosni propusti samo se dokumentiraju i stavljaju se u završno izvješće.

Opreznim penetracijskim ispitivanjem pronađeni sigurnosni propusti iskorištavaju se samo ako penetracijski ispitivač zaključi da to nije opasno za ranjivi sustav. Npr. pokušava se pristupiti direktorijima na Web poslužitelju ili se koriste dobro poznate lozinke (engl. default passwords) za upad u sustav.

Proračunatim penetracijskim ispitivanjem iskorištavaju se pronađeni sigurnosti propusti. Iskorištavaju se samo poznati sigurnosni propusti izvođenjem već napisanih exploita. Prije pokretanja exploita penetracijski ispitivač procjenjuje hoće li izvođenje exploita biti uspješno i kakav će to utjecaj imati na sam sustav. Tijekom ovog penetracijskog ispitivanja koriste se i razni programski alati za automatsko pronalaženje lozinki.

Agresivnim penetracijskim ispitivanjem pokušavaju se iskoristiti svi pronađeni sigurnosni propusti, neovisno o tome kakav će to utjecaj imati na sustav. Tijekom izvođenja ovog tipa penetracijskog ispitivanja može doći do izvođenja napada uskraćivanja usluga (engl. Denial of Service – DoS).

2.3.3 Penetracijsko ispitivanje prema opsegu skeniranja

Penetracijsko ispitivanje može se klasificirati i prema raspoloživom opsegu skeniranja. Opseg penetracijskog ispitivanja direktno utječe i na vrijeme izvođenja ispitivanja. Prema opsegu skeniranja penetracijsko ispitivanje dijeli se na:

  • fokusirano penetracijsko ispitivanje,
  • limitirano penetracijsko ispitivanje i
  • cjelovito penetracijsko ispitivanje. [6]

Fokusirano penetracijsko ispitivanje koristi se za fokusirano ispitivanje samo određenog raspona IP adresa, samo jednog sustava ili servisa. Provođenje ovakvog penetracijskog ispitivanja daje informacije samo o sustavima koji su se ispitivali, ne dobiva se potpuna sigurnosna slika cijele organizacije.

U limitiranom penetracijskom ispitivanju ispituje se samo limitirani broj sustava ili servisa. Npr. ispituju se samo računala unutar demilitarizirane zone (engl. demilitarized zone – DMZ).

Cjelovito penetracijsko ispitivanje provodi se na svim sustavima organizacije i daje potpunu sigurnosnu sliku čitave organizacije.

2.3.4 Penetracijsko ispitivanje prema pristupu skeniranja

Penetracijsko ispitivanje može se klasificirati i prema pristupu skeniranja, odnosno prema prikrivenosti penetracijskog ispitivača. Penetracijsko ispitivanje prema pristupu skeniranja dijeli se na:

  • skriveno penetracijsko ispitivanje i
  • otvoreno penetracijsko ispitivanje. [6]

Kod skrivenog penetracijskog ispitivanja koriste se samo metode koje se ne mogu identificirati kao napad, te tako penetracijski ispitivač ostaje sakriven.

Kod otvorenog penetracijskog ispitivanja penetracijski ispitivač koristi se svim raspoloživim metodama. U nekim slučajevima, kod penetracijskog ispitivanja sa svim informacijama, i informatičko osoblje same organizacije može sudjelovati u ovakvom tipu penetracijskog ispitivanja, kako bi se prije došlo do bitnih otkrića.

2.3.5 Penetracijsko ispitivanje prema tehnici skeniranja

Penetracijsko ispitivanje može se klasificirati i prema tehnici skeniranja. Prema tehnici skeniranja penetracijsko ispitivanje dijeli se na:

  • penetracijsko ispitivanje orijentirano na računalne mreže,
  • penetracijsko ispitivanje orijentirano na ostale načine komunikacije,
  • fizičko penetracijsko ispitivanje i
  • socijalni inženjering. [6]

Penetracijsko ispitivanje koje je orijentirano na računalne mreže je standardan način izvođenja penetracijskog ispitivanja sigurnosti u računalnim sustavima. Ispituje se mrežna infrastruktura organizacije i sva računala na njoj. Za skeniranje koristi se TCP/IP (Transmission Control Protocol / Internet Protocol) protokol.

Penetracijsko ispitivanje orijentirano na ostale načine komunikacije koristi se za ispitivanje ostalih načina komunikacije unutar organizacije. Ispituju se telekomunikacijske mreže, različite bežične mreže za komunikaciju (npr. bluetooth) i sl.

Fizičkim penetracijskim ispitivanjem ispituje se fizička sigurnost organizacije.

Socijalni inženjering koristi se za iskorištavanje sigurnosne neosviještenosti zaposlenika organizacije. Može se koristiti kao dobra metoda za utvrđivanje sigurnosne osviještenosti zaposlenika organizacije, te kao pokazatelj da li se unutar organizacije poštuje i provodi sigurnosna politika organizacije.

2.3.6 Penetracijsko ispitivanje prema početnoj točci skeniranja

Penetracijsko ispitivanje može se klasificirati i prema početnoj točci skeniranja sustava, odnosno prema mjestu od kuda se provodi ispitivanje. Prema početnoj točci penetracijsko ispitivanje dijeli se na:

  • vanjsko penetracijsko ispitivanje i
  • unutrašnje penetracijsko ispitivanje. [6]

Vanjsko penetracijsko ispitivanje obavlja se preko Interneta. Penetracijski ispitivač nalazi se na udaljenoj lokaciji i s te lokacije ispituje sustav organizacije. S ovim penetracijskim ispitivanjem skeniraju se sustavi koji su pristupačni preko Interneta. Rezultat penetracijskog ispitivanja daje dobru procjenu stanja sigurnosti sustava kojima se može pristupiti izvana. Ovakav pristup obično koristi i stvarni napadač.

Unutrašnje penetracijsko ispitivanje koristi se za ispitivanje unutrašnje mrežne infrastrukture organizacije. Provođenjem ovog penetracijskog ispitivanja može se utvrditi što bi se dogodilo i kakav bi utjecaj imalo na samu organizaciju kada bi napadač došao do neautoriziranog pristupa unutrašnjoj mrežnoj infrastrukturi.

Prethodna
Gore
Sljedeca
© 2009 Ivan Tomić