Kako odabrati pravog hakera za vas?

Kako odabrati pravog hakera za vas?
Dražen Tomić / Tomich Productions

Pročitali ste uvod na temu legalnog hakiranja kroz Prozor u svijet legalnih hakera i odlučili ste da vam treba jedan dobar pentest. Što dalje? Prvi korak bi bio definiranje što sve želite testirati, korisnici obično imaju barem neku generalnu ideju gdje su osjetljivi i što bi testirali, to može biti npr. sve što je izloženo na Internet i test djelatnika na phishing.

Sjajno, izbacili ste zahtjev za penetracijsko testiranje i javilo vam se nekoliko ponuđača, možda ste imali i prezentacije s nekima od njih i sad trebate nekog odabrati. Međutim, kako uopće prepoznati tko je idealan haker za vas? Vrijeme je za odgovor na pitanje kako prepoznati kvalitetnog ponuđača usluga penetracijskog testiranja.

Da ne duljim - postoji nekoliko tvrtki u Hrvatskoj koje se bave provođenjem penetracijskih testiranja. Neki su dulje prisutni na tržištu, neki imaju više zaposlenika što sve može biti faktor u konačnoj odluci.

U praksi se međutim pokazalo da je često glavni kriterij cijena. Jasno je da korisnici imaju ograničen budžet na raspolaganju za izvođenje ovakvog testa kojeg određuje uprava ili direktor i želite dobiti maksimalnu pokrivenost za što manje novca, no treba postaviti i pitanje zašto određeni ponuđač nudi svoju uslugu po toj cijeni. Osim što cijena naravno može biti posljedica tržišne utrke, može biti i posljedica stručnosti ponuđača.

U moru sigurnosnih certifikata i stručnih edukacija na temu penetracijskih testiranja postoje certifikati koji zahtijevaju demonstraciju vještina hakiranja u realnim scenarijima (Offensive Security certifikati) i oni koji se više orijentiraju prema teoretskoj podlozi (CEH, GPEN itd.).

Idealno je da ponuđač ima čim više i jednih i drugih, no da ja osobno moram birati, veću težinu bi nosili hands-on certifikati koji zahtijevaju probijanje pravih sustava. Svi ti certifikati imaju svoju cijenu i osiguravaju određenu razinu stručnosti osoba koji ih posjeduju, a ta stručnost može povećati iznos izvođenja testa. S druge strane, ako želite da test bude čim temeljitiji i preciznije izveden, stručnost ponuđača mora igrati visoku ulogu u odabiru.

Osim toga, korisnik bi trebao obratiti pozornost i na reference koje ponuđač ima. Ovo doduše treba uzeti sa zrnom soli, prvenstveno zato što zbog vrlo osjetljive prirode posla često ne smijemo govoriti o odrađenim projektima, odnosno nemamo javne reference od korisnika kod kojih je izvršeno testiranje. Međutim, ako među javnim referencama postoje korisnici iz grane kojom se bavite, to može biti dobar kriterij za odabir.

Kako je rezultat testiranja izvještaj sa svim detektiranim sigurnosnim manjkavostima, kvalitetan izvještaj također mora biti faktor. Svaki izvještaj mora sadržavati opis ranjivosti, dokaz da je ona doista i prisutna na sustavu i preporuke za otklanjanje - mitigaciju.

U dijelovima izvještaja koji se tiču mitigacije postojećih ranjivosti, prednost imaju ponuđači koji su sistem integratori i imaju eksperte u ne samo napadačkom, već i u obrambenom dijelu sigurnosti te također u  drugim sferama informacijskog sustava. Sugestije koje ovakvi ponuđači daju često sadržavaju konkretne primjere, savjete za poboljšanje koda, sigurnosne zakrpe koje treba primijeniti i sl. što je naravno vrlo korisno u procesu otklanjanja ranjivosti. Preporučio bih da tražite ogledni izvještaj prilikom oidabira ponuđača.

Krajnje je vrijeme da testirate mobilne aplikacije, socijalni inženjering...

Vratimo se sada ponovno na početak. Imate određenu količinu sredstava i opseg testa i imate na umu kojeg hakera želite da izvede test. U slučaju da nije moguće obuhvatiti kvalitetno cijeli opseg sustava kojeg  želite testirati, treba se fokusirati na kritične sustave za poslovanje i testirati barem njih. Obično sugeriram korisnicima da razmišljaju na način „Što u svakom trenutku mora raditi?“, to su sustavi koji se moraju provjeriti, bilo da su izloženi na vanjskoj ili se nalaze na internoj mreži.

Unazad nekoliko godina, primijetio sam pozitivan trend među korisnicima koji zahtijevaju testiranje stvari koje su trenutno nove i zanimljive, a to su mahom mobilne aplikacije.

Bankovni sektor prednjači u ovom aspektu testiranja, prvenstveno jer sada većina banaka ima mobilno i internet bankarstvo te su svjesni osjetljivosti podataka koji se kriju u ovakvim aplikacijama.

Osim mobilnih aplikacija, sve su češći zahtjevi za testiranjem zaposlenika metodama socijalnog inženjeringa. Često su upravo djelatnici tvrtki mete za napad, naročito unazad nekoliko godina, te se više od polovine proboja u sustav zapravo dogodi zbog ljudske pogreške uzrokovane upravo napadima metodama socijalnog inženjeringa. Korisnici su svjesni rizika pa samim time često traže prvo provođenje ovakvog testa, a potom edukaciju za zaposlenike s ciljem podizanja svijesti o informacijskoj sigurnosti.

Raste i broj zahtjeva za testiranjem IoT i M2M sustava porastom takve tehnologije na tržištu. Ti sustavi su izuzetno zanimljivi jer kombiniraju više tehnologija i implementiraju vlastite komunikacijske protokole gdje često otkrivamo greške u dizajnu ili implementaciji. Ranjivosti detektirane u ovakvim testiranjima u konačnici pomažu i samim developerima sustava da budu bolji u svom poslu.

Kako koristiti penetracijsko testiranje u kontekstu vlastite informacijske sigurnosti?

Recimo da ste napravili sve pripremne radnje, definirali opseg i da je uspješno izvršeno penetracijsko testiranje, što sad?  Rezultat dobro napravljenog penetracijskog testiranja je izvještaj koji sadrži pregled testiranog sustava iz očiju potencijalnog napadača, detaljan opis svih detektiranih ranjivosti, procjena rizika za svaku od njih, ali isto tako, kvalitetan izvještaj mora dati jasne i primjenjive sugestije za uklanjanje rizika prisutnih na sustavu.

Preventivnim testiranjima se identificiraju slabe točke nad kojima je dobro povećati nadzor dok se one ne saniraju te se uvelike smanjuje rizik od proboja sustava, curenja informacija ili prodora malicioznog softwarea (malware) u mrežu korisnika i diže svijest o informacijskoj sigurnosti u cijeloj tvrtki. Korisnici mogu steći osjećaj koji dijelovi sustava su im najizloženiji i predstavljaju potencijalni rizik te poduzeti korektivne mjere zaštite, planirati nadogradnje itd.

Ako je sve odrađeno kvalitetno, trebali biste imati jasnu sliku o razini vlastite informacijske sigurnosti te o pojedinim područjima koje je potrebno doraditi.  Za sve dileme - tu sam.