Skip to content

CTFSikkerhet gjennom Capture the Flag

Profilbilde av Jonny Ngo Luong

Forfatter

Jonny Ngo Luong
6 minutter lesetid

I takt med den stadig økende og utviklende kompleksiteten av teknologi, har det blitt særlig viktig for utviklere å holde seg oppdatert og samtidig ha kunnskap om hvilke tiltak som kreves for å beskytte sine kunder og deres brukere. Som en form for læring og for å gjøre våre utviklere best i stand til dette, har vi en sterk tro på Capture the Flag (CTF) som en passende læringsplattform gjennom dens praktiske tilnærming til læring. Denne artikkelen vil gi en liten introduksjon om hva CTF konseptet går ut på samt hvilke verdier og fordeler det kan tilby en utvikler.

Hva er en Capture the Flag?

Capture the Flag (CTF) er en type sikkerhetskonkurranse der deltakerne løser forskjellige oppgaver og utfordringer innenfor sikkerhet. For dem som allerede har hørt om begrepet før, vil mange nok assosiere ordet med et spill eller en fysisk aktivitet man gjorde i sin barndom. Dette er faktisk hvor navnet kommer fra siden aktiviteten som utføres på de ulike konseptene er ganske likt, hvor målet er å hente ut flagget til en motstander.


I konteksten av IT-sikkerhet, vil motstanderen her være et digitalt system eller en server en må angripe gjennom teknikker kjent som "hacking". Flagget vil som oftest være i form av en tekstreng eller fil som inneholder sensitiv informasjon. Dette kan for eksempel være miljøvariabler, konfigurasjonsnøkler eller passordet til en admin bruker. Konkurransen består vanligvis av en rekke oppgaver og utfordringer deltakerne må løse for å finne de ulike flaggene med varierende vanskelighetsgrad. Leverer man inn et flagg, får man et visst antall poeng basert på vanskelighetsgraden til oppgaven.


Formålet med CTF-konkurranser er å gjøre deltakerne i stand til å opparbeide seg nye praktiske ferdigheter og erfaring innen sikkerhet samt hjelpe dem utvikle en verktøykasse på å gjenkjenne og avdekke feil i sine egne systemer. CTF kan derfor ses som en læringsplattform som gjør det mulig for utviklere å finpusse sin kunnskap innen sikkerhet i et engasjerende og kontrollert miljø. Alt i alt er CTF en morsom og lærerik måte en kan utvikle sine sikkerhetsferdigheter på.

CTF'er inkluderer følgende grunnleggende deler:

  • Platform:
    • Et plattform som inneholder en liste over alle oppgavene og utfordringene fordelt og sortert etter kategori og antall poeng.
  • Poengsystem og tavle:
    • Deltakerne samler opp poeng ved å løse oppgaver.
    • Mer komplekse oppgaver gir ofte høyere poeng.
  • Tidsbegrensninger:
    • CTF har vanligvis en fast tidsramme.
    • Deltakerne konkurrerer om å samle flest mulig poeng innenfor denne tidsrammen.
  • Teknisk rettet:
    • CTF oppgavene og utfordringene er ofte ganske teknisk.

Fordeler med en Capture the Flag

Det å organisere en Capture the Flag-konkurranse kommer med flere fordeler som kan være nyttig for en utvikler:

  • Hands-on ferdighetsutvikling: CTF gir en utvikler mulighet til å utvikle sine sikkerhetsferdigheter, alt fra grunnleggende konsepter til mer avanserte emner som penetrasjonstesting og sårbarhetsvurdering.
  • Fremme samarbeid: CTF er ofte lag-baserte, noe som bidrar til å styrke samarbeidet blant utviklere.
  • Identifisering av sårbarheter: Oppgavene i en CTF handler ofte om å identifisere sårbarheter i et system eller applikasjon. Ved å simulere slike scenarier får utviklere opparbeidet seg hvordan man identifiserer svakheter de også.
  • Problemløsing og kreativitet: Veien til målet på mange av oppgavene er ofte ganske åpent, deltakerne er derfor oppmuntret til å tenke utenfor boksen.

CTF vil kunne bidra til å utvikle utviklere til å få et større innsikt i typiske og kjente svakheter samt teknikker og verktøy en kan benytte mot egne tjenester for å for eksempel avdekke feil. Deltakelsen i CTF'er kan også hjelpe utviklere i å opparbeide seg kunnskap og konsepter innen sikkerhet og etisk hacking generelt. Dette vil kunne gjøre det lettere å forestille seg hvordan slike feil kan utnyttes, og dermed gjøre det mulig å iverksette tiltak for å unngå dem tidlig i utviklingsfasen. Det å ha en økt bevissthet om sikkerhet i alle faser av utviklingen er alt i alt noe som kan gi stor verdi å ta med seg i en utviklers hverdag.

Intern CTF hos Omegapoint

Mandag 24. juni holdt vi i Omegapoint Norge en CTF konkurranse fysisk på kontoret for våre utviklere gjennom en fagkveld. Kompetansemiljøet i Omegapoint Norge er en viktig fokusområde for oss, hvor læring og kontinuerlig kompetanseutvikling hos våre konsulenter er noe vi setter høyt og investerer mye i.

Konkurransen bestod av fem ulike kategorier: nettverksprogrammering, web, reverse engineering, kryptografi og pwn. Hver kategori hadde oppgaver med varierende vanskelighetsgrader og poengverdier. Sårbarheter i henhold til OWASP TOP 10 ble for eksempel også spesifikt vist og demonstrert i flere av oppgavene slik at de ble gjort mer kjent for deltakerne.


CTF'en varte i 2 timer og det var stort sett en ganske jevn kamp mellom alle lagene. Vinnerlaget bestod av Håkon Anders Strømsodd og Ole-Magnus Vian Norum som stakk av med en Arduino Uno R4 Wifi hver.

Ole-Magnus Vien Norum og Håkon Anders Strømsodd fornøyd med sin seier.

Sluttresultatet etter 2 timer med hard konkurranse.

Konklusjon

For å avslutte er CTF en fin praktisk og engasjerende måte å lære seg sikkerhet på. Erfaringene viser at CTF ikke bare forbedrer tekniske ferdigheter, men styrker også problemløsnings- og samarbeidsevner hos deltakerne. Dette er noe en utvikler kan ta mye nytte av. CTF kan derfor ses som en viktig ressurs for en utvikler slik at en hele tiden er oppdatert med relevant kunnskap og erfaring.

Vi tilbyr kursserier og foredrag som vi har satt sammen og brukt til både intern og ekstern læring, men kan også skreddersy innhold til ditt behov. Kombinasjonen av teori med praktisk tilnærming settes i fokus på kursene våres slik at alle som deltar skal få konkret læringseffekt. Klarer du for eksempel vår OWASP Juice Shop CTF?