Ne postoji apsolutna zaštita sistema. Testiranje penetracije, poznato i kao pentest, je specijalizovan proces koji obuhvata detaljno ispitivanje, procenu i osnaživanje svih delova informacionog sistema kako bi se suprotstavio potencijalnim sajber napadima. Kompanije često koriste platforme za prijavu grešaka kako bi identifikovale ranjivosti u svojim sistemima. Stručnjaci za sajber bezbednost, specijalizovani za pentesting, legalno otkrivaju i eksponiraju slabosti organizacija putem ovih sistema nagrađivanja grešaka. Kako tačno funkcioniše ovaj proces?
1. Pasivno prikupljanje i praćenje informacija
U prvoj fazi testiranja penetracije, poznatoj i kao nagrađivanje grešaka, tester mora prikupiti relevantne podatke o ciljanom sistemu. S obzirom na veliki broj mogućih metoda napada, tester penetracije mora da odredi prioritete na osnovu prikupljenih informacija kako bi odredio najefikasniji pristup testiranju.
Ovaj korak podrazumeva izdvajanje ključnih informacija o infrastrukturi ciljanog sistema, uključujući imena domena, mrežne blokove, rutere i IP adrese koje su u okviru definisanog opsega. Osim toga, treba prikupiti sve relevantne podatke koji mogu doprineti uspehu napada, kao što su informacije o zaposlenima i njihovi kontakt telefoni.
Podaci koji se dobijaju iz javno dostupnih izvora tokom ove faze mogu pružiti iznenađujuće važne detalje. Da bi to postigao, etički haker koristi različite izvore, posebno fokusirajući se na veb stranicu ciljne organizacije i njene profile na društvenim mrežama. Pažljivim prikupljanjem ovih podataka, tester postavlja temelj za uspešan proces nagrađivanja grešaka.
Međutim, većina organizacija postavlja određena pravila za testere penetracije tokom programa nagrađivanja grešaka. Od ključne je važnosti da se sa pravnog aspekta ne odstupaju od ovih pravila.
2. Aktivno prikupljanje i skeniranje informacija
Tester penetracije identifikuje koji aktivni i pasivni uređaji rade unutar definisanog opsega IP adresa. Ovo se obično radi nakon pasivnog prikupljanja podataka tokom procesa nagrađivanja grešaka. Na osnovu informacija dobijenih tokom ovog pasivnog prikupljanja, pentester treba da odredi put, odnosno da prioritizuje i precizno definiše potrebne testove.
Tokom ove faze, neophodno je da haker stekne informacije o operativnom sistemu (OS), otvorenim portovima, servisima i njihovim verzijama na aktivnim sistemima.
Dodatno, ako organizacija koja sprovodi program nagrađivanja grešaka legalno dozvoli testeru penetracije da prati mrežni saobraćaj, mogu se prikupiti ključne informacije o sistemskoj infrastrukturi, bar u onoj meri u kojoj je to moguće. Međutim, većina organizacija ne odobrava ovu dozvolu. U takvoj situaciji, tester penetracije mora striktno poštovati utvrđena pravila.
3. Korak analize i testiranja
U ovoj fazi, tester penetracije, nakon što otkrije kako će ciljana aplikacija odgovoriti na različite pokušaje upada, pokušava da uspostavi aktivne veze sa sistemima koje je identifikovao kao žive i upućuje direktne zahteve. Drugim rečima, ovo je faza u kojoj etički haker aktivno interaguje sa ciljanim sistemom, koristeći alate i usluge kao što su FTP, Netcat i Telnet.
Iako možda neće odmah postići uspeh, glavni cilj ovde je testiranje podataka prikupljenih tokom prethodnih koraka prikupljanja informacija i pravljenje beleški o istima.
4. Pokušaj manipulacije i eksploatacije
Tester penetracije koristi sve podatke prikupljene u prethodnim koracima sa jednim ciljem: da pokuša da stekne pristup ciljanom sistemu na isti način na koji bi to učinio pravi, zlonamerni haker. Zbog toga je ovaj korak od ključne važnosti. Tokom planiranja programa nagrađivanja grešaka, testeri penetracije moraju razmišljati kao neprijateljski hakeri.
U ovoj fazi, pentester pokušava da se infiltrira u sistem, koristeći OS koji radi na ciljnom sistemu, otvorene portove i servise koji rade na tim portovima, kao i metode eksploatacije koje se mogu primeniti na osnovu njihovih verzija. Web-bazirani portali i aplikacije sadrže veliku količinu koda i biblioteka, što predstavlja veliki prostor za napad zlonamernih hakera. Stoga, dobar tester penetracije mora razmotriti sve mogućnosti i primeniti sve moguće vektore napada u okviru postavljenih pravila.
Za uspešno i fleksibilno korišćenje postojećih metoda eksploatacije, bez oštećenja sistema i bez ostavljanja tragova, neophodna je stručnost i iskustvo u procesu preuzimanja sistema. Ova faza testiranja penetracije je stoga najkritičniji korak. Da bi forenzički timovi mogli da reaguju tokom eventualnog napada, sajber napadač mora ostaviti tragove za sobom.
5. Pokušaj podizanja privilegija
Sistem je jak onoliko koliko je jaka njegova najslabija karika. Ako etički haker uspe da pristupi sistemu, obično se prijavljuje kao korisnik sa niskim privilegijama. U ovoj fazi, tester penetracije treba da stekne privilegije na nivou administratora, koristeći ranjivosti u operativnom sistemu ili okruženju.
Nakon toga, cilj treba da im bude preuzimanje kontrole nad drugim uređajima u mrežnom okruženju, koristeći ove dodatne privilegije, i na kraju ostvarivanje korisničkih privilegija najvišeg nivoa, kao što su administrator domena ili administrator baze podataka.
6. Izveštavanje i predstavljanje
Kada se završi test penetracije, tester penetracije ili lovac na greške mora da organizaciji predstavi detaljan izveštaj o bezbednosnim ranjivostima koje je otkrio u ciljanom sistemu, koracima koje je preduzeo i načinu na koji je iskoristio te ranjivosti. Ovo treba da uključi informacije kao što su snimci ekrana, primeri koda, faze napada i potencijalne posledice ovih ranjivosti.
Konačni izveštaj treba da sadrži i predloge rešenja o tome kako da se ukloni svaki bezbednosni propust. Osetljivost i nezavisnost testiranja penetracije treba da ostane tajna. Etički haker nikada ne bi trebalo da deli poverljive informacije stečene tokom ove faze niti da ih zloupotrebljava davanjem dezinformacija, jer je to generalno nezakonito.
Zašto je test penetracije važan?
Krajnji cilj testiranja penetracije je da se otkrije koliko je sistemska infrastruktura zaštićena sa stanovišta napadača i da se otklone sve ranjivosti. Pored identifikacije slabosti u bezbednosti organizacije, takođe se meri relevantnost bezbednosne politike, testira svest osoblja o bezbednosnim pitanjima i utvrđuje u kojoj meri je preduzeće primenilo principe sajber bezbednosti.
Testovi penetracije postaju sve važniji. Za analizu bezbednosti u infrastrukturi korporativnih struktura i ličnih aplikacija, neophodno je dobiti podršku od sertifikovanih etičkih testera penetracije.