Etično hekanje marsikoga zanima, vendar se hitro pojavi vprašanje: kako sploh postati etični heker? Ali potrebujemo posebno šolo, državno licenco, certifikat ali več let praktičnih izkušenj?
Kratek odgovor je, da enotnega uradnega statusa »etični heker« ni. Obstajajo pa znanje, praktične izkušnje in mednarodno priznani certifikati, s katerimi lahko posameznik dokazuje svojo usposobljenost na področju kibernetske varnosti in penetracijskega testiranja.
Pot se običajno začne z razumevanjem računalnikov, omrežij in operacijskih sistemov, nadaljuje z učenjem v varnih laboratorijskih okoljih ter pozneje s certifikati, kot so ISC2 CC, CEH, Burp Suite Certified Practitioner in OSCP/OSCP+.
Če te najprej zanima, kaj etični heker sploh je in kaj počne, preberi tudi članek Kaj je etični heker in kaj pravzaprav počne?.
Ali obstaja uradni status etičnega hekerja?
Ne obstaja ena sama državna licenca ali dovoljenje, s katerim bi nekdo pridobil splošni status etičnega hekerja.
Izraz etični heker opisuje predvsem strokovno področje oziroma način dela strokovnjaka za kibernetsko varnost.
Znanje je mogoče dokazovati z izobrazbo, praktičnimi izkušnjami, opravljenimi projekti in strokovnimi certifikati.
Pomembno pa je razumeti bistveno pravilo:
Noben certifikat posamezniku ne daje dovoljenja za poljubno testiranje tujih sistemov.
Tudi če ima nekdo CEH, OSCP ali drug napreden certifikat, mora imeti za aktivno varnostno preverjanje tujega strežnika, omrežja, spletne strani ali aplikacije ustrezno dovoljenje oziroma pooblastilo lastnika ali upravljavca sistema.
Kaj mora znati etični heker?
Začetnik pogosto najprej pomisli na posebna hekerska orodja in ukaze. V resnici je bistveno pomembneje razumeti, kako informacijski sistemi delujejo.
Dobra tehnična osnova vključuje predvsem:
- delovanje računalniških omrežij in protokola TCP/IP,
- naslove IP, omrežne maske in usmerjanje,
- požarne zidove in segmentacijo omrežij,
- DNS, DHCP in druge omrežne storitve,
- operacijske sisteme Windows in Linux,
- spletne strežnike in spletne aplikacije,
- protokola HTTP in HTTPS,
- uporabniške račune in pravice dostopa,
- osnove baz podatkov in SQL,
- osnove programiranja oziroma skriptiranja,
- avtentikacijo in upravljanje uporabniških sej,
- osnove kriptografije,
- najpogostejše vrste varnostnih ranljivosti.
Pri etičnem hekanju zato ni najpomembneje poznati čim več orodij na pamet. Pomembneje je razumeti, zakaj določen sistem deluje na določen način, kako so njegovi deli povezani in kje lahko pride do varnostne napake.
Kako začeti z učenjem etičnega hekanja?
Najslabši način učenja je preizkušanje naključnih spletnih strani, strežnikov ali brezžičnih omrežij na internetu brez dovoljenja.
Za učenje etičnega hekanja obstajajo namensko pripravljena okolja, v katerih je varnostno testiranje dovoljeno.
Začetnik lahko postavi tudi svoj laboratorij z virtualnimi računalniki, v katerem lahko uporablja Linux, Windows, spletni strežnik in namerno ranljive aplikacije.
Takšno okolje omogoča varno učenje:
- pregledovanja omrežij,
- iskanja odprtih storitev,
- analize ranljivosti,
- preverjanja spletnih aplikacij,
- upravljanja uporabniških pravic,
- penetracijskega testiranja,
- analize posledic varnostnih pomanjkljivosti.
Na ta način se lahko učimo realnih tehnik, ne da bi pri tem posegali v sisteme drugih oseb ali organizacij.
Prvi korak: temelji kibernetske varnosti
Če nekdo šele vstopa v svet kibernetske varnosti, je lahko smiselna prva stopnja ISC2 Certified in Cybersecurity oziroma CC.
Gre za začetni certifikat, namenjen preverjanju osnovnega razumevanja kibernetske varnosti.
Med področji, ki jih pokriva, so:
- osnovna varnostna načela,
- upravljanje dostopov,
- omrežna varnost,
- varnostne operacije,
- odzivanje na incidente,
- osnove upravljanja tveganj.
Za ISC2 CC predhodne delovne izkušnje niso zahtevane, zato je lahko primeren predvsem za tiste, ki želijo svoje znanje kibernetske varnosti zgraditi od temeljev.
CC ni certifikat za penetracijskega testerja in sam po sebi ne dokazuje naprednih praktičnih sposobnosti etičnega hekanja. Je pa lahko dobra osnova za nadaljnje učenje.
CEH – Certified Ethical Hacker
CEH oziroma Certified Ethical Hacker je eden najbolj prepoznavnih certifikatov s področja etičnega hekanja.
Njegova velika prednost je že samo ime – Certified Ethical Hacker oziroma certificirani etični heker.
Program pokriva širok nabor področij kibernetske varnosti, med drugim:
- zbiranje informacij o sistemih,
- pregledovanje omrežij,
- enumeracijo storitev,
- analizo ranljivosti,
- varnost spletnih strežnikov,
- varnost spletnih aplikacij,
- SQL injection,
- brezžična omrežja,
- mobilne platforme,
- IoT oziroma internet stvari,
- oblačna okolja,
- osnove kriptografije.
Kako poteka CEH izpit?
Klasični CEH je predvsem znanjski oziroma teoretični izpit.
Trenutni izpit vsebuje 125 vprašanj, kandidat pa ima za reševanje na voljo štiri ure.
Izpit preverja razumevanje metodologije etičnega hekanja, tehnologij, ranljivosti, orodij in varnostnih konceptov.
Ali lahko CEH opravimo brez uradnega tečaja?
Da, vendar obstajata različni poti.
Kandidat lahko opravi uradno izobraževanje EC-Council in nato pristopi k izpitu.
Obstaja pa tudi pot za posameznike, ki se želijo pripraviti samostojno. Pri tej možnosti je treba izpolnjevati pogoje EC-Council in skozi postopek preverjanja upravičenosti dokazati ustrezne izkušnje s področja informacijske varnosti.
Zato CEH ni nujno najprimernejši prvi korak za popolnega začetnika brez kakršnihkoli izkušenj.
CEH Practical – ko teorija ni dovolj
Ker klasični CEH preverja predvsem znanje, obstaja tudi CEH Practical.
Tu kandidat ne odgovarja samo na vprašanja, ampak mora dejansko opravljati praktične naloge v pripravljenem kibernetskem laboratoriju.
CEH Practical trenutno traja šest ur in vsebuje 20 praktičnih izzivov.
Kandidat mora pri reševanju pokazati, da zna uporabljati orodja in tehnike, ki jih je spoznal pri učenju etičnega hekanja.
Za nekoga, ki želi dokazovati tudi praktično znanje, je takšno preverjanje zelo pomembno.
Burp Suite Certified Practitioner – BSCP
Če nekoga posebej zanima varnost spletnih strani in spletnih aplikacij, je zanimiva možnost Burp Suite Certified Practitioner oziroma BSCP.
Certifikat izdaja PortSwigger, podjetje, ki razvija Burp Suite – eno najbolj razširjenih orodij za varnostno analiziranje spletnih aplikacij.
Velika prednost njihovega ekosistema je tudi Web Security Academy, ki vsebuje veliko praktičnih laboratorijev za učenje spletne varnosti.
Pri BSCP je poudarek izrazito praktičen.
Kandidat mora v pripravljenem okolju:
- analizirati spletne aplikacije,
- odkriti ranljivosti,
- razumeti njihov vzrok,
- ranljivosti pravilno izkoristiti v dovoljenem laboratorijskem okolju.
Pri tem ni dovolj samo ugotoviti, da potencialna težava obstaja. Kandidat mora pokazati tudi praktično razumevanje ranljivosti.
BSCP je zato posebej zanimiv za posameznike, ki jih zanima področje web application security.
OSCP in OSCP+ – resen praktični izziv
OSCP oziroma OffSec Certified Professional je eden najbolj znanih praktičnih certifikatov na področju penetracijskega testiranja.
Program PEN-200 in izpit OSCP+ sta namenjena predvsem kandidatom, ki že imajo dobro osnovno znanje:
- omrežij,
- Linuxa,
- Windows okolij,
- Active Directory,
- skriptiranja,
- iskanja ranljivosti,
- pridobivanja in povečevanja uporabniških privilegijev,
- metodologije penetracijskega testiranja.
Zato OSCP praviloma ni najboljši prvi certifikat za nekoga, ki se je šele začel ukvarjati s kibernetsko varnostjo.
Kako poteka OSCP+?
OSCP+ je praktičen in nadzorovan izpit.
Kandidat prejme dostop do pripravljenega laboratorijskega omrežja z ranljivimi sistemi, na katerih mora pokazati svoje praktično znanje penetracijskega testiranja.
Za praktični del ima trenutno na voljo približno 23 ur in 45 minut.
Po opravljenem praktičnem delu mora pripraviti tudi zahtevano dokumentacijo oziroma poročilo o svojem delu.
To je pomembno, saj je tudi pri profesionalnem penetracijskem testiranju dokumentiranje ugotovitev skoraj enako pomembno kot samo odkrivanje ranljivosti.
Po uspešno opravljenem aktualnem izpitu kandidat pridobi oznaki OSCP in OSCP+.
OSCP ostane pridobljen brez časovne omejitve, oznaka OSCP+ pa ima določeno obdobje veljavnosti.
CEH ali OSCP – kateri certifikat je boljši?
Na to vprašanje ni enega pravilnega odgovora, saj certifikata preverjata nekoliko drugačne sposobnosti.
| Certifikat | Komu je namenjen | Glavni poudarek | Stopnja |
|---|---|---|---|
| ISC2 CC | Začetnikom | Temelji kibernetske varnosti | Začetna |
| CEH | Širšemu področju etičnega hekanja | Znanje in metodologija | Srednja |
| CEH Practical | Kandidatom s praktičnim znanjem | Laboratorijske naloge | Srednja do višja |
| BSCP | Strokovnjakom za spletno varnost | Varnost spletnih aplikacij | Višja |
| OSCP+ | Penetracijskim testerjem | Praktično penetracijsko testiranje | Visoka |
CEH je zelo prepoznaven naziv in pokriva širok spekter področij etičnega hekanja.
OSCP pa daje bistveno večji poudarek praktičnemu reševanju problemov in dejanskemu penetracijskemu testiranju.
Za mnoge je zato dobra pot kombinacija širšega teoretičnega znanja in pozneje zahtevnejšega praktičnega certifikata.
Kakšna je smiselna pot za začetnika?
Za večino ljudi je najbolje napredovati postopoma.
- Osvoji osnove računalništva in omrežij.
- Nauči se uporabljati Windows in Linux.
- Spoznaj TCP/IP, DNS, DHCP, HTTP in HTTPS.
- Nauči se osnov spletnih tehnologij in baz podatkov.
- Postavi lasten laboratorij oziroma uporabljaj namenska učna okolja.
- Spoznaj najpogostejše vrste ranljivosti.
- Začni reševati praktične varnostne naloge.
- Nauči se dokumentirati ugotovitve.
- Izberi certifikat glede na področje, ki te najbolj zanima.
Za popolnega začetnika bi lahko bila smiselna pot na primer:
osnove IT → omrežja → Linux in Windows → temelji kibernetske varnosti → ISC2 CC oziroma primerljivo znanje → praktični laboratoriji → CEH ali spletna specializacija → BSCP oziroma OSCP+.
To seveda ni edina pravilna pot.
Posameznik, ki že več let dela s strežniki, omrežji, spletnimi aplikacijami ali sistemsko administracijo, ima lahko velik del osnovnega znanja že pridobljenega in lahko hitreje preide na zahtevnejše vsebine.
Ali je programiranje nujno?
Za začetek ni treba biti profesionalni programer.
Je pa zelo koristno razumeti osnovno logiko programiranja in znati prebrati oziroma prilagoditi preproste skripte.
Pri delu na področju kibernetske varnosti se pogosto uporabljajo jeziki in okolja, kot so:
- Python,
- PowerShell,
- Bash,
- JavaScript,
- SQL.
Bolj kot znanje posameznega jezika je pomembna sposobnost razumeti, kaj koda počne in kako aplikacija obdeluje podatke.
Linux je skoraj nepogrešljiv
Veliko varnostnih orodij in laboratorijskih okolij temelji na Linuxu.
Zato je priporočljivo poznati vsaj:
- delo z ukazno vrstico,
- datotečni sistem,
- uporabnike in skupine,
- pravice datotek,
- omrežne ukaze,
- upravljanje procesov in storitev,
- osnovno Bash skriptiranje.
Ni potrebno postati Linux administrator, vendar udobno delo v terminalu precej olajša nadaljnje učenje etičnega hekanja.
Kje lahko varno vadimo etično hekanje?
Za praktično učenje obstajajo platforme in namerno ranljiva okolja, kjer je testiranje izrecno dovoljeno.
Posebej pomembno je razumeti razliko med učnim laboratorijem in naključnim sistemom na internetu.
V laboratoriju je cilj sistema prav to, da ga analiziramo, iščemo ranljivosti in se učimo.
Na običajni spletni strani ali strežniku pa takšnega dovoljenja praviloma nimamo.
Kaj pa bug bounty programi?
Nekatera podjetja imajo javne ali zasebne programe za prijavljanje varnostnih ranljivosti, pogosto imenovane bug bounty programi.
V takšnem programu organizacija natančno določi, katere sisteme je dovoljeno preverjati in katera pravila mora varnostni raziskovalec upoštevati.
Za odkrite in pravilno prijavljene ranljivosti lahko nekateri programi ponudijo tudi denarno nagrado.
Vendar tudi pri bug bounty programu velja:
testirati je dovoljeno samo tisto, kar program izrecno dovoljuje.
Certifikat še ne pomeni, da smo dober etični heker
Certifikat je lahko zelo dober dokaz znanja in pomemben mejnik pri učenju, vendar ni nadomestilo za praktične izkušnje.
Dober strokovnjak za kibernetsko varnost mora poleg tehničnega dela znati tudi:
- pravilno oceniti tveganje,
- dokumentirati ugotovitve,
- ločiti pomembne ranljivosti od manj pomembnih,
- razumljivo pojasniti problem naročniku,
- predlagati ustrezne ukrepe za odpravo težave.
Cilj profesionalnega penetracijskega testa namreč ni samo dokazati, da je mogoče priti v sistem.
Cilj je odgovoriti na vprašanja:
Kaj je narobe?
Kako resna je težava?
Kaj bi lahko napadalec dosegel?
Kako lahko težavo odpravimo?
Več o samem postopku varnostnega preverjanja lahko prebereš v članku Kaj je penetracijsko testiranje in zakaj ga podjetja potrebujejo?.
Najpomembnejše pravilo: vedno z dovoljenjem
To je pravilo, ki ga je vredno večkrat ponoviti.
CEH, OSCP, BSCP ali katerikoli drug certifikat posamezniku ne daje splošnega dovoljenja za testiranje informacijskih sistemov drugih oseb ali podjetij.
Praktične vaje izvajamo na:
- lastnih sistemih,
- lastnem laboratoriju,
- namerno ranljivih učnih platformah,
- sistemih, za katere smo dobili jasno dovoljenje za testiranje.
Profesionalno penetracijsko testiranje se začne z dogovorom o obsegu, pravilih in dovoljenih metodah testiranja.
Kaj pa, če ranljivost odkrijemo po naključju?
Varnostne ranljivosti lahko včasih odkrijemo tudi zunaj naročenega penetracijskega testa.
V takšnem primeru ranljivosti ni smiselno dodatno izkoriščati samo zato, da bi dokazali njen obstoj.
Primeren pristop je odgovorno oziroma usklajeno razkrivanje ranljivosti, pri katerem se o težavi najprej obvesti upravljavca oziroma razvijalca sistema.
V Sloveniji ima pri usklajenem razkrivanju ranljivosti pomembno vlogo tudi SI-CERT.
Je pot do etičnega hekerja dolga?
Etično hekanje je področje, pri katerem se učenje pravzaprav nikoli popolnoma ne konča.
Operacijski sistemi, spletne tehnologije, oblačne storitve, varnostni mehanizmi in metode napadalcev se nenehno spreminjajo.
Za začetek pa ni treba znati vsega.
Veliko pomembnejši so:
- dobra tehnična osnova,
- radovednost,
- sposobnost logičnega razmišljanja,
- vztrajnost pri reševanju problemov,
- pripravljenost na stalno učenje,
- odgovoren odnos do varnosti in podatkov.
Certifikati, kot so CEH, BSCP in OSCP, so lahko pomembni mejniki na tej poti.
Pravo strokovno znanje pa nastane s kombinacijo teorije, praktičnih vaj, izkušenj in odgovorne uporabe pridobljenega znanja.
Katera pot je prava?
Če te zanima predvsem splošna kibernetska varnost, je smiselno najprej zgraditi široke temelje.
Če te posebej zanima varnost spletnih aplikacij, se lahko kasneje usmeriš proti področju Web Application Security in certifikatom, kot je BSCP.
Če pa je cilj profesionalno penetracijsko testiranje strežnikov, omrežij in Active Directory okolij, je lahko dolgoročni cilj OSCP.
CEH pa je lahko zanimiv predvsem zaradi širokega pregleda področja in zelo prepoznavnega naziva Certified Ethical Hacker.
Ni torej enega samega certifikata, ki bi bil najboljši za vsakogar.
Najboljša pot je tista, ki združuje dobro osnovno znanje, veliko praktičnih vaj in specializacijo na področju, ki nas najbolj zanima.
Pogosta vprašanja o tem, kako postati etični heker
Ali potrebujem fakulteto, da postanem etični heker?
Ne. Formalna izobrazba je lahko koristna, vendar ni edina pot. Znanje je mogoče pridobiti tudi z delom v IT, samostojnim učenjem, praktičnimi laboratoriji in strokovnimi certifikati.
Ali obstaja uradna licenca za etičnega hekerja?
Ne obstaja ena sama splošna državna licenca, ki bi posamezniku podelila status etičnega hekerja. Obstajajo pa številni mednarodno priznani certifikati s področja kibernetske varnosti in penetracijskega testiranja.
Kateri certifikat je najboljši za začetnika?
Popoln začetnik naj najprej osvoji osnove računalniških omrežij, operacijskih sistemov in kibernetske varnosti. ISC2 CC je primer začetnega certifikata, ki ne zahteva predhodnih delovnih izkušenj.
Je CEH dovolj, da postanem penetracijski tester?
CEH lahko potrdi široko poznavanje področja etičnega hekanja, profesionalno penetracijsko testiranje pa zahteva tudi praktične izkušnje. Zato je priporočljivo znanje nadgraditi z laboratorijskimi vajami in praktično usmerjenimi certifikati.
Je OSCP težji od CEH?
OSCP ima bistveno večji poudarek na praktičnem delu. Kandidat mora v laboratorijskem okolju samostojno analizirati in kompromitirati pripravljene sisteme ter svoje delo ustrezno dokumentirati.
Ali moram znati programirati?
Za začetek ni treba biti profesionalni programer, vendar je poznavanje osnov programiranja in skriptiranja zelo koristno. Posebej uporabni so Python, Bash, PowerShell, JavaScript in SQL.
Ali lahko etično hekanje vadim na pravi spletni strani?
Samo če imaš za takšno testiranje ustrezno dovoljenje. Za učenje je najbolje uporabljati lastne sisteme ali namenska laboratorijska okolja, ki so bila ustvarjena prav za varnostno testiranje.
Ali mi CEH ali OSCP dovoljuje testiranje tujih sistemov?
Ne. Certifikat potrjuje določeno raven znanja, vendar ne predstavlja dovoljenja za varnostno testiranje sistemov drugih oseb ali organizacij.
Kaj je bolj pomembno – certifikat ali praktično znanje?
Oboje ima svojo vrednost. Certifikat lahko objektivno potrjuje določeno znanje, pri dejanskem delu pa so ključni praktične izkušnje, razumevanje sistemov, metodologija dela in sposobnost priprave kakovostnega varnostnega poročila.
