Pradžia / Darbas ir užimtumas / Kibernetinio saugumo karjera: programavimo varžybos

Kibernetinio saugumo karjera: programavimo varžybos

Kodėl kibernetinis saugumas yra viena karščiausių karjeros krypčių šiandien

Jei dar galvoji, ką veikti su savo gyvenimu, ir technologijos tau bent kiek įdomios – kibernetinis saugumas šiuo metu yra vienas tų sektorių, kur darbo rinkoje tiesiog trūksta žmonių. Ne metaforiškai, o labai konkrečiai: pasaulyje šiuo metu trūksta apie 3,5 milijono kibernetinio saugumo specialistų. Tai reiškia, kad jei tu turi reikiamų įgūdžių, darbdaviai kovos dėl tavęs, o ne atvirkščiai.

Bet čia ir prasideda įdomiausia dalis – kaip iš tikrųjų patekti į šią sritį? Universitetinis diplomas tikrai padeda, bet jis nėra vienintelis kelias. Vis daugiau įmonių žiūri į tai, ką žmogus moka daryti, o ne tik į tai, ką jis studijavo. Ir čia į žaidimą įeina programavimo varžybos, CTF turnyrai ir kiti praktiniai iššūkiai, kurie gali tapti tavo tramplinu į šią sritį.

Šiame straipsnyje pakalbėsime apie tai, kaip programavimo varžybos ir kibernetinio saugumo iššūkiai gali padėti tau susikurti karjerą, kokios varžybos vertos tavo laiko, ir ką daryti su tais laimėjimais, kad jie iš tikrųjų atvertų duris.

CTF varžybos – kas tai ir kodėl jos tokios svarbios

CTF reiškia Capture The Flag – tai varžybų formatas, kuriame dalyviai sprendžia kibernetinio saugumo iššūkius ir ieško paslėptų „vėliavėlių” (flag’ų), kurios yra tam tikros teksto eilutės, patvirtinančios, kad iššūkis išspręstas. Skamba paprastai, bet iš tikrųjų tai gali būti labai sudėtinga ir labai linksma vienu metu.

CTF varžybos paprastai apima kelias kategorijas:

  • Web exploitation – SQL injekcijos, XSS atakos, autentifikacijos apėjimas
  • Reverse engineering – programų išardymas ir supratimas be kodo
  • Cryptography – šifravimo algoritmų silpnybių radimas
  • Binary exploitation / Pwn – žemo lygio atakos prieš programas
  • Forensics – skaitmeninių įrodymų paieška ir analizė
  • OSINT – atviro kodo žvalgybos technikų naudojimas

Kiekviena kategorija reikalauja skirtingų įgūdžių, ir tai yra vienas didžiausių CTF privalumų – tu gali atrasti, kuri sritis tau labiausiai patinka, prieš pasirinkdamas karjeros kryptį. Galbūt tau patiks ardyti programas ir suprasti, kaip jos veikia iš vidaus? Arba gal labiau traukia kriptografija ir matematika? CTF’ai leidžia tai išsiaiškinti be jokios rizikos.

Svarbu suprasti, kad CTF’ai nėra tik pramoga. Daugelis darbdavių, ypač saugumo srityje, aktyviai žiūri į tai, ar kandidatas dalyvauja CTF varžybose. Kai kurios įmonės net organizuoja savo CTF’us kaip įdarbinimo procesą – jei išsprendžiasi iššūkius, gauni pokalbį dėl darbo.

Kur pradėti – platformos pradedantiesiems ir pažengusiems

Gerai, tai kur iš tikrųjų pradėti? Čia yra konkrečios platformos, kurias verta žinoti:

PicoCTF – tai geriausias startas absoliučiai pradedantiesiems. Ją sukūrė Carnegie Mellon universitetas, ir ji skirta vidurinių bei aukštųjų mokyklų mokiniams. Iššūkiai yra gerai paaiškinti, ir yra daug pagalbinės medžiagos. Jei dar niekada nesi bandęs CTF’ų – pradėk čia.

HackTheBox – tai jau rimtesnis žaidimas. Čia rasi virtualias mašinas su tikromis pažeidžiamomis sistemomis, kurias reikia „nulaužti”. Platforma turi ir pradedantiesiems skirtą sekciją (Starting Point), bet apskritai ji labiau tinka tiems, kurie jau turi bent kiek bazinių žinių. Svarbu žinoti: HackTheBox profilį galima parodyti darbdaviams kaip portfolio dalį.

TryHackMe – kažkur tarp PicoCTF ir HackTheBox. Labai gera platforma, nes turi struktūrizuotus mokymosi kelius (learning paths), kurie veda tave nuo pradžios iki tam tikro lygio. Jei nori sistemingo mokymosi, o ne tik atsitiktinių iššūkių – TryHackMe yra puikus pasirinkimas.

CTFtime.org – tai ne platforma iššūkiams, bet kalendorius, kuriame surinktos visos artėjančios CTF varžybos visame pasaulyje. Čia gali rasti tiek pradedantiesiems, tiek pažengusiems skirtus turnyrus, matyti komandų reitingus ir ieškoti komandų, prie kurių prisijungti.

PortSwigger Web Security Academy – jei tave traukia web saugumas, ši platforma yra tiesiog aukso vertės. Ji nemokama, labai gerai struktūrizuota, ir apima viską nuo SQL injekcijų iki sudėtingų serverio pusės atakų. Tai sukūrė žmonės, kurie taip pat sukūrė Burp Suite – vieną populiariausių web saugumo įrankių.

Programavimo varžybos – ar jos susijusios su kibernetiniu saugumu?

Čia daugelis žmonių daro klaidą – mano, kad kibernetinis saugumas ir „klasikinės” programavimo varžybos (kaip Codeforces, LeetCode ar ICPC) yra visiškai atskiri dalykai. Iš tikrųjų ryšys yra, bet jis nėra tiesioginis.

Klasikinės programavimo varžybos lavina algoritminio mąstymo įgūdžius – kaip efektyviai spręsti problemas, kaip optimizuoti kodą, kaip mąstyti struktūrizuotai. Šie įgūdžiai yra labai naudingi kibernetiniame saugume, ypač šiose srityse:

  • Kriptografijoje – daugelis kriptografinių atakų reikalauja matematinio ir algoritminio mąstymo
  • Reverse engineering – suprasti, ką programa daro, lengviau, jei pats moki programuoti gerai
  • Automatizavime – rašyti skriptus atakoms ar gynybai automatizuoti
  • Malware analizėje – suprasti kenkėjiško kodo logiką

Taigi jei dalyvaujate Codeforces ar sprendžiate LeetCode uždavinius – tai nėra laiko švaistymas net jei planuoji kibernetinio saugumo karjerą. Bet jei nori būti konkretesnis, geriau investuok laiką į CTF’us, nes jie tiesiogiai atspindi tai, ką darysi darbe.

Vienas praktinis patarimas: Python yra tavo draugas. Jei dar nežinai, kokia kalba mokytis – Python yra standartinis kibernetinio saugumo pasaulio įrankis. Dauguma CTF iššūkių sprendžiami su Python skriptais, dauguma saugumo įrankių parašyti Python, ir dauguma darbo skelbimų kibernetinio saugumo srityje mini Python kaip pageidaujamą įgūdį.

Kaip varžybos atrodo darbdavių akyse

Gerai, tu esi dalyvaujęs keliuose CTF’uose, turi HackTheBox profilį su keliais išspręstais iššūkiais – bet kaip tai paversti į realų darbo pasiūlymą? Čia yra keletas konkrečių patarimų.

Pirma, dokumentuok viską. Kiekvieną išspręstą CTF iššūkį aprašyk kaip „writeup” – tai yra tekstas, kuriame paaiškini, kaip išsprendei problemą, kokius įrankius naudojai, kokį mąstymo procesą ėjai. Šie writeup’ai yra dvigubai naudingi: jie padeda tau pačiam įtvirtinti žinias, ir jie tampa tavo portfolio dalimi. Galite juos publikuoti Medium platformoje, asmeniniame blog’e ar GitHub’e.

Antra, GitHub profilis yra tavo CV priedas. Jei rašai skriptus CTF’ams spręsti, įkelk juos į GitHub. Jei sukūrei kokį nors įrankį, kuris tau padėjo – įkelk. Darbdaviai tikrai žiūri į GitHub profilius, ypač kibernetinio saugumo srityje.

Trečia, LinkedIn nėra tik suaugusiems. Daugelis jaunų žmonių mano, kad LinkedIn yra kažkas, ką reikia susikurti baigus universitetą. Iš tikrųjų jį verta turėti daug anksčiau. Įrašyk savo CTF pasiekimus, platformų sertifikatus (TryHackMe ir HackTheBox duoda sertifikatus), ir dalyvavimą varžybose. Recruiteriai aktyviai ieško žmonių su tokia patirtimi.

Ketvirta, ir galbūt svarbiausia – komanda yra labai svarbi. CTF’ai dažnai žaidžiami komandomis. Prisijungimas prie komandos arba jos sukūrimas ne tik padidina tavo šansus laimėti, bet ir parodo darbdaviams, kad moki dirbti komandoje, komunikuoti techninius dalykus ir koordinuotis. Kibernetiniame saugume beveik niekas nedirba vienas.

Lietuvos kibernetinio saugumo ekosistema – ar čia yra galimybių?

Jei gyveni Lietuvoje ir galvoji, kad visi įdomūs dalykai vyksta tik užsienyje – tai ne visai tiesa. Lietuva turi gana aktyvią kibernetinio saugumo bendruomenę, ir ji auga.

NKSC (Nacionalinis kibernetinio saugumo centras) organizuoja įvairius renginius ir turi programas jaunimui. Verta sekti jų veiklą ir dalyvauti organizuojamuose renginiuose – tai puiki galimybė susipažinti su žmonėmis iš srities.

Kasmet vyksta CyberChallenge tipo renginiai, kuriuose gali dalyvauti studentai ir net vyresni moksleiviai. Europos lygmeniu yra ECSC (European Cyber Security Challenge), kuriame Lietuva taip pat dalyvauja – tai reiškia, kad yra atrankos varžybos šalyje, ir geriausi gali atstovauti Lietuvai tarptautiniu lygiu.

Vilniuje ir Kaune veikia kelios stiprios kibernetinio saugumo įmonės, kurios aktyviai ieško jaunų talentų. NRD Cyber Security, Atea, Telia saugumo padaliniai ir kitos įmonės turi stažuočių programas. Ir daugelis jų žiūri į CTF pasiekimus kaip į rimtą privalumą.

Taip pat verta žinoti, kad Vilniaus universitetas, KTU ir VGTU turi kibernetinio saugumo studijų programas ar bent jau specializacijas. Bet net jei studijuoji kažką kito – nepraleisk galimybės dalyvauti universiteto kibernetinio saugumo klubuose ar komandose.

Dažniausios klaidos, kurių reikia vengti

Kalbant apie kibernetinio saugumo karjerą ir varžybas, yra keletas klaidų, kurias žmonės daro vėl ir vėl. Geriau išmokti iš kitų klaidų, nei kartoti jas pačiam.

Klaida #1: Laukti, kol „pasiruoši”. Daugelis žmonių galvoja: „Dar pasimokynsiu šiek tiek, tada bandysiu CTF’ą.” Problema ta, kad tas „šiek tiek” gali trukti amžinai. CTF’ai yra mokymosi priemonė, o ne egzaminas. Pradėk dabar, net jei nežinai beveik nieko – tai yra normalus startas.

Klaida #2: Dirbti vienas ir nesiklausti pagalbos. CTF bendruomenė yra viena draugiškiausių technologijų bendruomenių. Discord serveriai, Reddit (r/netsec, r/CTF), ir kiti forumai yra pilni žmonių, pasiruošusių padėti. Po varžybų dažnai publikuojami writeup’ai, kuriuos galima skaityti ir mokytis. Naudokis tuo.

Klaida #3: Ignoruoti teoriją. Praktika yra svarbi, bet jei nesupranti, kodėl kažkas veikia, tu tik kopijuosi kito žmogaus sprendimus. Investuok laiko į supratimą – kaip veikia TCP/IP, kas yra buffer overflow, kaip veikia RSA šifravimas. Tai ilgalaikė investicija.

Klaida #4: Pamiršti etikos ribas. Tai labai svarbu. CTF’ai ir mokymosi platformos yra saugios aplinkos, kur viskas legalu. Bet tas pats negalima pasakyti apie realias sistemas. Niekada nebandyk taikyti išmoktų technikų prieš sistemas, kurioms neturi leidimo. Tai ne tik neetiškas, bet ir kriminalinis veiksmas. Kibernetinio saugumo specialistai dirba pagal griežtus etinius standartus, ir tai yra viena priežasčių, kodėl jais pasitikima.

Klaida #5: Neturėti online buvimo. Jei dalyvaujate varžybose, bet niekas apie tai nežino – tai pusė darbo. Sukurk GitHub profilį, rašyk writeup’us, būk aktyvus bendruomenėse. Tai yra tavo reputacijos kūrimas, ir kibernetiniame saugume reputacija reiškia labai daug.

Nuo pirmojo CTF iki pirmojo darbo – realus kelias

Baigiant, verta pažvelgti į tai, kaip atrodo realus kelias nuo nulio iki kibernetinio saugumo karjeros per varžybas. Tai nėra greitas procesas, bet jis yra labai realus.

Pirmieji keli mėnesiai – tai mokymosi ir eksperimentavimo laikas. Pradėk nuo TryHackMe ar PicoCTF, suprask pagrindus, išmok Python pagrindus jei dar nemoki, ir pradėk dalyvauti mažesnėse CTF varžybose. Nesijaudink dėl rezultatų – tikslas yra mokytis, o ne laimėti.

Po šešių mėnesių iki metų – jau turėtum turėti kelis išspręstus iššūkius, galbūt kelis writeup’us, ir supratimą, kuri kibernetinio saugumo sritis tau labiausiai patinka. Šiame etape verta pradėti HackTheBox, ieškoti komandos CTF’ams, ir pradėti kurti savo online buvimą.

Po metų ar dvejų aktyvaus dalyvavimo – tu jau turėtum turėti solidų portfolio, galbūt kelis sertifikatus (CompTIA Security+, eJPT ar panašiai), ir realią patirtį sprendžiant saugumo problemas. Šiame etape stažuotės ir pirmieji darbai tampa labai realūs.

Svarbiausia suprasti: kibernetinis saugumas yra sritis, kur tai, ką moki daryti, yra svarbiau nei tai, ką baigei. Varžybos, CTF’ai ir praktiniai iššūkiai yra būdas įrodyti savo įgūdžius konkrečiai ir apčiuopiamai. Tai nėra tik hobis – tai investicija į karjerą, kuri šiuo metu yra viena perspektyviausių technologijų pasaulyje. Ir geriausias laikas pradėti buvo vakar, o antras geriausias laikas – šiandien.