V prejšnjem blogu z naslovom Kibernetska varnost za začetnike smo opisali, kako se vključiti v skupnost kibernetske varnosti, in podali nekaj nasvetov o tem, kako začeti s spoznavanjem tega področja. V tej objavi pa bomo bolj podrobno posvetili tekmovanjem iz kibernetske varnosti, znanim tudi kot CTF-tekmovanja (Capture The Flag).
Tekmovanja CTF (Capture The Flag) so vrsta tekmovanj v kibernetski varnosti, kjer udeleženci ali ekipe tekmujejo v reševanju različnih varnostnih izzivov. Ta tekmovanja so zasnovana tako, da udeležencem omogočajo pridobivanje in izboljšanje veščin kibernetske varnosti v praksi, hkrati pa tudi spodbujajo sodelovanje in izmenjavo znanja med udeleženci. CTF-tekmovanja so odlična priložnost za učenje, mreženje in izboljšanje spretnosti kibernetske varnosti. Pogosto so organizirana s strani univerz, podjetij ali skupin zainteresiranih posameznikov.
Večina CTF-tekmovanj je dostopnih preko osrednje platforme CTFtime, kjer so objavljeni prihajajoči dogodki, ki se odvijajo v živo ali preko spleta. Ena izmed prednosti te platforme je tudi možnost dostopanja do arhiva, kjer so na voljo rešitve nalog iz prejšnjih tekmovanj. Te rešitve objavljajo člani skupnosti ali organizatorji dogodkov, kar omogoča bralcem, da izboljšajo svoje znanje o kibernetski varnosti.
CTF tekmovanja so običajno razdeljena na dve kategoriji:
1. Jeopardy-style CTF: V tej vrsti tekmovanja v kibernetski varnosti so udeležencem ali ekipam na voljo različni izzivi, razvrščeni po kategorijah in težavnosti. Vsak izziv je vreden določeno število točk. Višje kot je število točk, težji je običajno izziv.
Kategorije izzivov v Jeopardy-style CTF lahko vključujejo:
🕸️Web: V Web kategorijo spadajo spletni izzivi, ki preizkusijo vaše znanje o delovanju spletnih aplikacij, pogostih ranljivostih in napačnih konfiguracijah. Zastavica se skriva nekje v spletni aplikaciji, do nje pa pridemo z izkoriščanjem logičnih ali tehničnih napak spletne aplikacije. Najpogostejše ranljivosti spletnih aplikacij so opisane na OWASP Top 10. Web developerji ste v prednosti.
⚙Reversing: Kategorija obratnega inženirstva – reverse engineering – je predvsem analiza naprav, programov in procesov. Pri Reversing kategoriji je potrebno dobro poznavanje Assembly jezika in arhitekture procesorja. Ključna so tudi orodja, ki pomagajo pretvoriti izvršljivo datoteko v izvorno kodo. Po nekaj urah reversinga boste razmišljali samo še v 1 in 0.
📱Mobile: Mobilne aplikacije si zaslužijo kar svojo kategorijo. Najpogosteje imamo opravka z Android in iOS aplikacijami, ki jih razstavljamo in proučujemo njihovo delovanje. Kategorija Mobile se povezuje z Reversing in Web pomanjkljivostmi. Pri nalogah iz te kategorije boste pogosto potrebovali rootane telefone ali emulatorje.
💥Pwn: Kategorija Pwn se najprej začne z obratnim inženirstvom in se nato nadaljuje s pisanjem »zlonamerne programske kode«, ki povzroči spremenjeno delovanje programa ali odzivanje strežnika, kar privede do prevzema strežnika in rešitve naloge.
🔓Crypto: Kriptografski izzivi zahtevajo znanje o kriptografiji in kriptografskih algoritmih. Za razbijanje algoritmov je potrebna velika mera vztrajnosti in kreativnosti. Matematiki in logiki ste v prednosti. Začeli bomo z razbijanjem enigme.
🔬Stego: Steganografija je veda prikrivanja informacij v druga neskrita sporočila ali datoteke. Pri tem je potrebno analizirati različne vrste datotek z namenom, da odkrijemo skrita sporočila ali datoteke v njih. Pri tem si pomagamo z različnimi orodji. Pošiljanje skritih sporočil vam nikoli ne bo lažje.
🛠Hardware: Kategorija Hardware zajema znanje delovanja elektronskih vezij, mikrokrmilnikov in mikroprocesorjev. Prav tako zajema brezžične tehnologije, kot so bluetooth, radio signali, Wi-Fi ali drugi protokoli. Pametne hiše vas bodo sovražile.
🕵OSINT: OSINT pomeni open-source intelligence in pri izzivih iz te kategorije boste odkrivali javno dostopne informacije. S tem boste postali profesionalni »stalkerji«.
🧬Forensics: Naloge, ki spadajo v kategorijo Forensics, so običajno obsežne, saj se pogosto analizirajo datoteke, kot so kopije trdih diskov, vsebine pomnilnika itd. Potrebno se je vživeti v vlogo detektiva, ki išče sledi napadalcev.
💡Misc: Kategorija Miscellaneous zajema izzive, ki nekako ne spadajo v druge kategorije. Pogosto so v tej kategoriji kakšne miselne uganke ali krajši izzivi.
V Jeopardy-style CTF-tekmovanjih se ekipa ali posameznik, ki v določenem času zbere največ točk, šteje za zmagovalca. Ta vrsta tekmovanja je priljubljena, saj omogoča udeležencem pridobivanje in izboljšanje veščin kibernetske varnosti na širokem spektru področij, hkrati pa spodbuja sodelovanje in izmenjavo znanja med udeleženci.
2. Attack-Defense CTF: V tej vrsti tekmovanja ekipe tekmujejo v napadanju in branjenju strežnikov ali storitev. Je bolj dinamična in interaktivna, saj morajo udeleženci hkrati izvajati dejavnosti napada in obrambe v realnem času. Hitrost, predpriprava ekipe in organizacija so v tej vrsti tekmovanja zelo pomembne.
Na Attack-Defense CTF-tekmovanjih vsaka ekipa dobi svoj strežnik (ali nabor storitev), ki ga mora braniti pred napadi drugih ekip. Ekipa mora zagotoviti varnost in delovanje svojih storitev, medtem ko hkrati poskuša izkoriščati ranljivosti v storitvah drugih ekip.
Glavne značilnosti Attack-Defense CTF so:
🛡️Obramba (Defense): Ekipe morajo zavarovati svoje storitve pred napadi s strani konkurenčnih ekip. To vključuje odkrivanje in popravljanje ranljivosti, spremljanje omrežnega prometa, odkrivanje in preprečevanje vdorov ter obvladovanje incidentov.
⚔️Napad (Attack): Ekipe morajo odkriti in izkoristiti ranljivosti v strežnikih ali storitvah drugih ekip, da pridobijo dostop do občutljivih podatkov ali motijo delovanje storitev. Napadanje vključuje raziskovanje, razvoj lastnih skript za avtomatsko izkoriščanje odkritih ranljivosti in izvajanje napadov.
📊Točkovanje: Točke so dodeljene na podlagi uspešnosti napadov in obrambe v posameznem krogu. Ekipa v vsakem krogu pridobi točke za uspešno izkoriščanje ranljivosti drugih ekip (⚔️napad) in ohranjanje delovanja svojih storitev (🛡️obramba). Ekipa z največ točkami na koncu tekmovanja zmaga.
Attack-Defense CTF-tekmovanja so odlična priložnost za učenje praktičnih veščin kibernetske varnosti v realnem okolju. Udeleženci se morajo hitro prilagajati in sodelovati znotraj svoje ekipe, da uspešno napadajo in se branijo. To omogoča razvoj veščin, kot so analiza ranljivosti, izkoriščanje ranljivosti, upravljanje omrežij, obvladovanje incidentov in sodelovanje med člani ekipe.
Kje v Sloveniji se lahko udeležiš tekmovanj CTF?
V Sloveniji različne interesne skupine in podjetja organizirajo konference in srečanja, na katerih se odvijajo tudi tekmovanja CTF.
Zelo obiskan je dogodek Cyber Night, ki se včasih odvije tudi večkrat na leto.
Za nadobudne mlade talente pa se vsako leto odvijajo delavnice in tekmovanja, ki jih organizirajo v okviru kibertalenta, kjer iščejo mlade kibertalente za udeležbo na vseevropskem tekmovanju European Cybersecurity Challenge (ECSC).
Enkrat na leto se odvija tudi konferenca BSides Ljubljana, na kateri se vedno vzporedno s predavanji odvija tudi CTF-tekmovanje. Letos se bo na konferenci odvijalo tudi tekmovanje Attack-Defense CTF. Več o dogodku si lahko preberete na https://twitter.com/BSidesLjubljana.