7 lessen die we hebben geleerd bij het ontwerpen van DEF CON Cloud Village CTF

7 lessen die we hebben geleerd bij het ontwerpen van DEF CON Cloud Village CTF

7 lessen die zijn geleerd bij het ontwerpen van DEF CON Cloud Village CTF PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Capture the Flag (CTF)-evenementen zijn zowel leuk als leerzaam en bieden cybersecurityprofessionals een manier om hun hackvaardigheden te ontwikkelen en tegelijkertijd nieuwe concepten te leren in een constructieve en veilige omgeving. Goed ontworpen CTF's stellen individuen en teams bloot aan operationele uitdagingen, nieuwe aanvalspaden en creatieve scenario's die later kunnen worden toegepast in hun werk als offensieve en defensieve beveiligingsprofessionals.

Maar niet alle CTF's zijn gelijk, en er komt veel meer kijken bij het ontwerpen van een succesvolle CTF-competitie dan alleen het bedenken van de uitdagingen. Naast de technische ontwerpuitdagingen zijn er ook operationele overwegingen die betrokken zijn bij het opzetten van de omgeving en het feitelijk runnen van de competitie, creatieve planning die nodig is om een ​​boeiend spel op te zetten, en het rekening houden met details met betrekking tot het gamificeren van de uitdagingen, zoals afwegingen in de manier waarop scores worden behaald. structuur wordt opgezet.

“Als ontwerper wil ik dat het [de CTF] uitdagend en leuk is. Ik wil mensen belonen die slim zijn, er echt aan werken en die volhardend zijn”, zegt Jenko Hwong, hoofdonderzoeker van het Threat Research Labs-team van Netskope en teamleider voor de DEF CON Cloud Village CTF van vorig jaar. “Het moet ook praktisch zijn om uit te voeren.”

Leuk en praktisch was de mentaliteit die Hwong meebracht naar de DEF CON CTF, een enorm meerdaags evenement waarbij meer dan 400 individuen en teams de uitdaging aangingen en een team van twintig mensen onder hem werkte om het evenement te runnen. Hwong, een ervaren onderzoeker en doorgewinterde CTF-deelnemer, had vóór dit evenement nog nooit een CTF gerund. Een van zijn grootste verwachtingen bij zijn eerste poging op de baan was om de relevantie en het realisme van de uitdagingen in het evenement te verbeteren, wat tegenwoordig soms een bugaboo kan zijn in CTF's.

“Soms krijg je in deze CTF's een heel moeilijke uitdaging, maar wat is het nut hiervan? Het zal een decoderings- of encryptieprobleem zijn, waarbij de gebeurtenis luidt: 'Hier is iets, veel succes', en dan moet je door al deze hoepels springen die misschien niet volledig gescheiden zijn van de realiteit, maar niet echt passen in een groter geheel. verhaallijn”, zegt hij. “Dus toen ik werd gebeld, dacht ik: laten we erin springen, laten we een goed verhaal en een goede reeks uitdagingen bedenken die leuk zullen zijn, maar ook logisch en misschien verband houden met de echte wereld van penetratietesten voor onderzoek. defensieve maatregelen, wat er in de echte wereld gebeurt. ''

Toen hij zich echter in het project verdiepte, vond hij één ding bijzonder uitdagend: hoe weinig informatie er bestaat over het uitvoeren van CTF's. De meeste artikelen zijn afkomstig van deelnemers die een evenement beoordelen en uitleggen hoe ze uitdagingen hebben opgelost, maar er wordt zelden informatie aangeboden over best practices bij het organiseren van een evenement. Als gevolg hiervan zei hij dat hij en zijn team heel veel werk moesten verzetten, waardoor er bijna vanaf het begin uitdagingen ontstonden.

“De community deelt over het algemeen een ton, dus waarom delen we de CTF-uitdagingen niet?” hij zegt. “Ik denk dat we het beter kunnen doen.”

In die geest van het delen van de beveiligingsgemeenschap deelt hij enkele belangrijke lessen die zijn team gaandeweg heeft geleerd, zodat anderen die verantwoordelijk zijn voor het CTF-ontwerp van het proces kunnen leren en begrijpen. Zijn doel is om het evenement opnieuw te organiseren en voort te bouwen op wat ze vorig jaar hebben geleerd. Hij hoopt ook dat anderen hun beste praktijken en zelfs technische details zullen delen, zodat de hele beveiligingsgemeenschap de kwaliteit van de aangeboden CTF's kan verbeteren.

Verhalen vertellen is de sleutel

Hwong zegt dat zijn DEF CON Cloud Village-team heel graag een verhaallijn wilde bedenken die boeiend en leuk was. Hij zegt dat hij het verhaal beschouwde als een filmscript met realistische cyberscenario's erin. Voor het evenement kozen ze een thema 'Kabouters' dat leuk en grappig was. maar het was niet alleen het schrijven van de verhaallijn dat belangrijk was, maar ook hoe de technische uitdagingen in het verhaal waren gepland.

“De verhaallijn van de goblin en kabouters omvatte alles, maar het belangrijkste was het bedenken van redelijke scenario’s die je als beveiligingsprofessional tegen kunt komen, inclusief aanvalspaden en redelijke verdedigingen die je tegenkomt”, zegt hij. “Hoe meer we dat als CTF-ontwerpers kunnen doen, hoe beter het is voor het leren en hoe leuker de CTF.”

Kies voor een softwareontwikkelingsaanpak

CTF-makers zouden zeker een softwareontwikkelingsaanpak moeten volgen bij het ontwerpen van de technische elementen van hun uitdaging, adviseert Hwong.

“Je moet denken aan ontwerp, implementatie en testen”, zegt hij, en hij legt uit dat hij en zijn team op de harde manier hebben geleerd hoe moeilijk het kan zijn om uitdagingen te testen in een complexe CTF-omgeving die op talloze manieren door deelnemers kan worden gemanipuleerd. .

"Wat er is gebeurd - en ik neem de schuld op mij als de hoofdmaker voor het niet begeleiden van de tests - is dat we de negatieve testresultaten hebben gemist, evenals de levensvatbaarheidscontroles", zegt hij. “Een deel daarvan komt doordat we niet genoeg tijd hadden om te testen, dus ik bleef een aantal omgevingen afsluiten terwijl de uitdaging aan de gang was, zodat sommige uitdagingen niet al te gemakkelijk zouden zijn en er geen mazen in de wet waren. Ik denk dat ik op een gegeven moment gedurende een uur of twee bij een bepaalde stap iets onoplosbaars heb gemaakt.

Een van de grote lessen die hij heeft geleerd, is dus dat CTF-ontwerpers de nauwkeurigheid van de softwareontwikkeling aan de orde moeten stellen, tot en met het test- en levensvatbaarheidswerk.

Operationele nauwkeurigheid... en een klein beetje cafeïne

Zorgvuldigheid bij de ontwikkeling van software is niet het enige technische vermogen dat ter sprake moet komen. De bemanning die een CTF bestuurt, heeft ook serieuze operationele nauwkeurigheid nodig.

“We hadden een aantal fantastische mensen die de servers en de AWS-accounts en de Google- en Azure-accounts beheerden en ervoor zorgden dat alles bleef draaien en dat we de zaken in de gaten hielden”, zegt hij. “Al die zaken moeten worden afgehandeld. En als je het negeert, kan het alleen maar betekenen dat dingen mislukken, kapot gaan of dat je prestatieproblemen krijgt.”

Een van de operationele problemen waar ze tegenaan liepen was dat ze te maken kregen met een botsing tussen deelnemers en uitdagingen, omdat het team met de beperking opereerde dat ze geen zelfstandige omgeving konden creëren voor elke deelnemer in AWS, Google en Azure.

“Omdat het zich in dezelfde omgeving bevond, hielp het hen bij andere uitdagingen en als je een uitdaging hebt waarbij de omgeving moet worden veranderd, dan heb je mensen die elkaar op de tenen trappen en een gemeenschappelijk object veranderen”, zei hij, en legde uit dat hij en zijn collega’s Het team moest het beleid opnieuw instellen naarmate de CTF zich verder ontwikkelde, zodat de deelnemers elkaar niet tegen zouden komen.

Hij en zijn team proberen van de ervaring te leren om een ​​praktische methode te bedenken – vanuit het perspectief van tijd, moeite en kosten – om deelnemers een echt geïsoleerde omgeving te geven zonder de hele CTF minder levensvatbaar te maken omdat dingen kapot gaan of een eeuwigheid duren om uit te voeren.

Ten slotte zegt Hwong dat CTF-showlopers op operationeel vlak ook rekening moeten houden met de constante communicatie die ze tussen hun team en de deelnemers moeten faciliteren.

"Ik was na middernacht op Discord en ik dacht: 'Ik heb morgen een lezing, wil je gaan slapen?'" grapte Hwong, die uitlegde dat de deelnemers vragen zullen hebben en dat ze dat zullen doen pingen organisatoren te allen tijde voor tips en aanwijzingen.

Het ontwerpen van verschillende moeilijkheidsgraden is moeilijk

De moeilijkheidsgraad van uitdagingen goed krijgen en een eerlijk scoresysteem creëren, kan moeilijker zijn dan een beginnende CTF-organisator in eerste instantie zou denken, waarschuwde Hwong. Hij legde uit dat een aantal van de niveaus die zijn team als eenvoudiger had ontworpen, voor de deelnemers moeilijker te voltooien waren dan ze hadden verwacht, terwijl sommige van de meer uitdagende niveaus met succes door meer deelnemers werden voltooid dan verwacht.

Hand in hand met de moeilijkheidsgraad-uitdaging is het bedenken van een zinvol scoresysteem. Na zijn ervaring bij DEF CON is Hwong een voorstander van een soort Bell Curve-scoresysteem. Maar hij zegt dat het probleem niet zo eenvoudig is als het instellen van een curve. Er is ook de kwestie van het normaliseren en compenseren van het voordeel dat grote CTF-teams hebben bij het verzamelen van uitdagingspunten - een kwestie waarover een van de deelnemers hem na het evenement feedback gaf.

“Dus als je uitdagingen kunnen worden verdeeld en parallel aan meerdere spelers kunnen worden gedaan, als ik 10 mensen heb, zal ik 10 keer snel zijn. En er is dus een voordeel”, zegt hij. “Zijn punt was een soort van dynamische scoreniveaus, een beetje. Als er dingen zijn waar hij echt heel goed in is, is hij misschien de enige die het oplost en krijgt hij het maximale aantal punten. De belcurve zal hem belonen versus schaal, het maakt niet noodzakelijkerwijs uit of het iets is in zijn stuurhuis van expertise in termen van 10 tegen één. Er zijn hier wat controversiële zaken waar we doorheen moeten werken.”

Eén mogelijkheid is om de uitdagingen opeenvolgend te maken, maar de keerzijde daarvan is dat het de CTF te rigide en lineair zou kunnen maken, en dat er een knelpunt of afhankelijkheden zou kunnen ontstaan ​​die een of meer uitdagingen zouden kunnen opblazen. Hwong zegt dat hij ook graag zou zien dat meer CTF's deelnemers belonen met technieken zoals hoe heimelijk ze in een omgeving opereren of aanleggen als ze te veel voetafdrukken en vingerafdrukken achterlaten, en dat is een gebied dat hij graag zou willen verkennen terwijl hij toekomstige evenementen ontwerpt. .

Hoe dan ook, dynamisch scoren is iets dat een aantal nivelleringsproblemen zou kunnen verlichten en hij en zijn team streven daar het komende jaar naar.

Blauwe teams hebben meer leuke CTF-uitdagingen nodig

Na zijn eerste CTF te hebben doorlopen, gelooft Hwong ook steeds meer dat deze evenementen niet genoeg doen om de blauwe teamdeelnemers uit te dagen en echt te betrekken.

“Blauwe teamoefeningen gaan meestal als volgt: 'We hebben een verkeerd geconfigureerde omgeving met veel kwetsbaarheden. Kun jij ze gaan repareren?'” zegt hij. En wat ze doen is gewoon testen of die configuraties zijn gewijzigd of niet, en of ik toegang heb tot deze openbare bucket. En zodra je het privé maakt, weten we dat je het hebt opgelost en krijg je punten. Het zou veel beter zijn om daarbovenop nog dingen te doen, zoals: als je gecompromitteerd bent en er een aanvaller in je omgeving is, moet je hem vinden en eruit schoppen. Er is dus op dit moment een incident aan de gang, en zolang de aanvaller inloggegevens heeft, en zolang hij iets doet, kun je het misschien detecteren. Dat is jouw taak als deelnemer. En totdat je hun toegang intrekt, los je het niet op en krijg je niet het maximale aantal punten.”

Dit soort scenario's zijn moeilijker uit te voeren, maar ze zijn realistischer voor verdedigers en zullen CTF's waardevoller voor hen maken, zegt hij, en legt uit dat dit voor de volgende keer op zijn radar staat.

CTF's hebben meer nieuwe en relevante componenten nodig.

Hwong daagt ook CTF-ontwerpers – en zichzelf – uit om meer nieuwe informatie over exploits en kwetsbaarheden in hun uitdagingen op te nemen. Dit was een van de dingen waarvan hij wenste dat hij meer tijd had om zich in te verdiepen tijdens zijn eerste bezoek aan DEF CON Cloud Village en die hij vastbesloten is te verbeteren voor volgend jaar.

“Dit is een van de gebieden waarop CTF’s meer een leer- en trainingsinstrument kunnen zijn”, legt hij uit. “We zouden graag relevante ideeën en exploits gebruiken die vers zijn van onderzoekers die eerder dit jaar zijn verschenen of zelfs zijn gepresenteerd op DEF CON.”

CTF 'Bouwstenen' om de 'herbruikbaarheid' te verbeteren

Ten slotte is een van de grootste lessen die Hwong heeft geleerd dat de industrie meer manieren moet vinden om herbruikbare componenten voor CTF te maken, net zoals softwareontwikkelaars dat doen voor applicaties. Hij droomt ervan om te helpen bij het organiseren van een open GitHub-repository met kleine oefeningen in code die de bouwstenen kunnen vormen voor het bouwen van een CTF.

“Je zult het nog steeds moeten aanpassen en er je eigen draai aan moeten geven, maar het idee is: laten we de eerste 60% uit de weg ruimen, zodat CTF-organisatoren zich kunnen concentreren op echt nieuwe dingen. Op die manier vindt niemand het wiel opnieuw uit”, zegt hij. “En dan kan de resterende 40% nieuwe technieken, scenario’s en verhaallijnen toevoegen.”

Tijdstempel:

Meer van Donkere lezing