Op 4 december vindt de Developer Summit 2024 plaats. Dan staat de Fabrique in Utrecht weer in het teken van een inspirerende dag vol keynotes, workshops en masterclasses. De summit biedt vijf tracks in diverse disciplines: backend, frontend, devops, privacy & security, en AI. Kevin Valk, CEO en oprichter van Codean, verzorgt de prikkelende masterclass ‘De vloek van abstracties: een tiental CVE’s later’, en die wil je niet missen. Weet je nu al dat je bij het developer-event van het jaar aanwezig wil zijn? Scoor dan je kaarten en download alvast de event-app, voor de voorpret.
“Ik ben als 10-jarig jongetje verliefd geworden op programmeren, toen ik een PlayStation 2 kreeg", vertelt Kevin. “Op de demodisc die erbij zat, stond een versie van Basic. Op een mooi blauw scherm kon ik met een USB-toetsenbord mijn eerste regels code schrijven; dat was pure magie. Sindsdien ben ik eigenlijk verslaafd aan programmeren”, aldus Kevin, met een brede glimlach.
Van MapleStory naar Skylanders
Nadat hij zijn eerste stappen in Basic had gezet, stapte Kevin al snel over naar HTML en PHP. Rond dezelfde tijd begon hij met vrienden op de middelbare school games te spelen. “Een van die games was MapleStory, waar je oneindig veel tijd in moest steken om een hoger level te krijgen”, vertelt Kevin. “Maar ik moest gewoon naar school, dus het zou veel te lang duren om echt ver te komen.” Dat leidde hem naar de wereld van hackers en cheaters, waar hij veel tijd en energie in stak. “Het werd echt een obsessie.”
Kevin dook diep in de techniek achter het hacken. Hij leerde hoe computers en software werken, en hoe hij in Assembly kon schrijven om zo het spel aan te passen terwijl het gewoon draaide. MapleStory gebruikt nProtect GameGuard, dat destijds ook al anticheatbescherming toevoegde op kernelniveau. Dit zorgde er zelfs voor dat Kevin in de Windows XP-kernel moest duiken en zijn eigen rootkitdrivers moest schrijven. Kevin: “Het was wel duidelijk dat mijn toekomst ‘iets’ met computers zou zijn.”
Uiteindelijk koos hij ervoor om zowel zijn passie voor development als die voor security verder te ontwikkelen. Hij ging informatica studeren aan de Radboud Universiteit in Nijmegen, met extra focus op cybersecurity.
Tijdens zijn master kwam er weer een videogame op zijn pad. “Ik heb twee jongere broers die wisten dat ik ‘de hacker’ van de familie was”, vertelt Kevin. Zijn broertjes waren fan van het spel Skylanders, waarbij je fysieke poppetjes op een portal moest plaatsen om ze in de game te laten verschijnen. De poppetjes waren echter duur en zijn broertjes vroegen of hij iets kon regelen. “Ik heb toen een aantal maanden aan dat spel gewerkt”, aldus Kevin. Uiteindelijk wist hij het systeem te kraken en de masterkey en het key derivation-algoritme uit de firmware te reverse-engineeren, waarna hij zijn broertjes een stapel nfc-kaarten gaf waarmee ze alle personages in het spel konden ontgrendelen. “Ze hoefden geen poppetjes meer te kopen, ze hadden alles”, vertelt hij met enige trots. Maar naarmate hij ouder werd, begon Kevin ook de ethische kant van zijn acties te overwegen. Hij besloot de CTO van Toys for Bob, de studio achter Skylanders, te benaderen en bood zijn hulp aan. “Ik heb enorm veel geluk gehad dat ik een jaar in de VS mocht werken aan de beveiliging van hun producten”. Hij schreef firmware voor de machines die in China de poppetjes produceerden en werkte aan de beveiliging van de personages in de game.
Codean wordt geboren
Na zijn tijd bij Toys for Bob in San Francisco werkte Kevin als cybersecurity-consultant bij Northwave en als security-analist bij Riscure. Maar op een gegeven moment begon hij zich af te vragen hoe hij meer impact kon hebben met zijn werk. “Hoe kan ik de wereld echt veiliger maken?” vroeg Kevin zich af. Dat leidde uiteindelijk tot het besluit om een eigen bedrijf te beginnen: Codean.
Kevin: “Codean is een platform waarmee security-analisten hun werk sneller en efficiënter kunnen doen, zonder dat het hun werk vervangt. Zo kunnen hackers zich focussen op de leuke dingen van het werk.” De afgelopen drie jaar heeft hij samen met zijn team gewerkt aan het opbouwen van Codean. “Tegenwoordig focus ik mij hoofdzakelijk op de ontwikkeling van het Codean-platform, en samen met mijn collega’s op het daadwerkelijk uitvoeren van pentesten en security-evaluaties met behulp van dat platform.”
Hoe reageren klanten wanneer ze worden geconfronteerd met de kwetsbaarheden die zijn gevonden? Kevin: “Je hebt eigenlijk twee soorten reacties. Sommige klanten zien een pentest als een verplicht nummer, opgelegd door een klant of een standaard. Ze willen het liefst dat er geen kwetsbaarheden worden gevonden, en als dat wel gebeurt, dat het ze zo min mogelijk werk kost.” Dit leidt soms tot lastige discussies met klanten, terwijl Kevin juist aan de kant van de klant staat en het liefst alle systemen veiliger wil maken.
Gelukkig zijn er ook genoeg klanten die security echt belangrijk vinden en een veilig product willen maken. “Dat zijn de leuke klanten”, stelt Kevin. “Die kun je ’s avonds om acht uur bellen met slecht nieuws, en het eerste dat ze zeggen is: ‘Oh balen, maar supervet dat je dat gevonden hebt’.” Met deze klanten werkt Kevin graag samen om de problemen aan te pakken. “Er zijn zoveel manieren om problemen aan te pakken. Natuurlijk kan je je product offline halen, maar er zijn veel betere oplossingen te bedenken”, zegt hij. “Het is vaak een proces van trial and error, waarbij je samen nadenkt over de beste aanpak met de hoogste beveiliging en de minste impact op het ontwikkelproces.”
De vloek van abstracties
De toename van het aantal beveiligingsincidenten is momenteel de rode draad in Kevins werk. Vroeger kwam af en toe een breach of hack in het nieuws, maar tegenwoordig lijkt het bijna wekelijks te gebeuren. Kevin denkt dat de toegankelijkheid van complexe moderne software een van de oorzaken is van deze toename. “Het schrijven van complexe software is tegenwoordig veel minder ingewikkeld. Er zijn talloze frameworks en libraries beschikbaar. Daarnaast moeten we de opkomst van large language models zoals ChatGPT en GitHub Copilot niet vergeten; die zorgt ervoor dat het maken van complexe software nog toegankelijker wordt.” Juist in de interactie tussen al die componenten zitten de kwetsbaarheden. “Het zijn vaak de interfaces tussen verschillende onderdelen waar de grootste problemen zitten.” Kevin noemt het ook wel ‘de vloek van abstracties’. “Abstracties maken het mogelijk om in relatief weinig tijd veel meters te maken, maar ze hebben ook een keerzijde. Wij zien in de securitywereld dat die keerzijde steeds duidelijker wordt.”
“Ik wil mensen tijdens de Dev Summit graag meenemen in de vraag waarom dit allemaal gebeurt. Daarbij zal ik het zeker niet hebben over tools en scanners, maar wil ik juist de diepte in, in de code waar op het eerste gezicht niks mee mis is totdat je er echt voor gaat zitten. En ik kan je vertellen dat er veel mis kan gaan.” Het doel van Kevin is niet om ontwikkelaars te leren hacken - hoe leuk dat ook zou zijn - maar om ze te helpen begrijpen waar het fout kan gaan en wat ze kunnen doen om meer grip te krijgen op de veiligheid van hun software.
Bewustwording van risico's
Tijdens zijn presentatie wil Kevin door een aantal bekende en onbekende kwetsbaarheden (cve’s) lopen die hij en zijn team hebben gevonden. Een voorbeeld dat hij noemt, is een platform dat een third-party library genaamd Sequalize gebruikte voor databasetransacties, gecombineerd met een abstractieframework genaamd Feathers voor API and real-time application framework. “Door de interactie tussen die twee konden we volledige toegang krijgen tot de database”, zegt Kevin. “Dit kwam door een combinatie van ongedocumenteerde mogelijkheden en doordat de verantwoordelijkheid voor beveiliging tussen de twee systemen niet duidelijk was. Die combinatie resulteerde in ernstige kwetsbaarheden.”
Kevin benadrukt dat dergelijke problemen vaak moeilijk zijn op te lossen; het is vaak helemaal niet duidelijk waar het probleem precies ligt en waar de oplossing moet komen. “Meestal komt het neer op betere documentatie en het toevoegen van defensieve code in alle relevante code”, legt hij uit. Zijn doel met de talk is om ontwikkelaars meer bewust te maken van dergelijke risico’s en om zo nog meer software veiliger te krijgen. “Dubbelcheck of iets mag en klopt, en neem de verantwoordelijkheid waar nodig”, voegt hij toe.
Zijn presentatie op de Dev Summit - waar een flinke scheut interactie bij komt kijken - is gericht op gevorderde ontwikkelaars. “Het lijkt me heel erg leuk om met mensen dieper in deze onderwerpen te duiken”, vertelt Kevin. Hij hoopt dat de talk ontwikkelaars in de zaal uitdaagt en ze een inkijkje geeft in de wereld van security, vanuit een technisch perspectief. “Er is niets zo fijn als de rush wanneer iets lukt en je iets kunt doen dat eigenlijk niet hoort. In sommige gevallen heeft dat betrekking op gevoelige data, zoals persoonsgegevens, of op volledige toegang tot systemen en netwerken, en dat kan een enorme impact hebben.”
Kevin hoopt dat zijn presentatie mensen aanzet tot nadenken. “Als je ook maar een beetje om security geeft, zorg er dan voor dat je weet wat er mis kan gaan”, zegt hij. Daarnaast ziet Kevin de Dev Summit als een kans om in contact te komen met ontwikkelaars en te leren wat zij nodig hebben. “Ik merk dat het moeilijk is om ontwikkelaars te benaderen. Je hebt al onmogelijke deadlines om features te lanceren, laat staan de mogelijkheid om enorm veel geld en tijd in security te steken. Ik weet er alles van, door het ontwikkelen van Codean. Ik wil graag weten hoe we pentests beter kunnen laten aansluiten op de behoeften van ontwikkelaars, zodat we de wereld wat veiliger kunnen maken.”
Laat de voorpret beginnen en download de event-app
Ook dit jaar maken we het jullie zo makkelijk mogelijk. Download nu alvast de event-app Developers Summit 2024. Hij is beschikbaar voor iOS en Android. Met de app heb je de vrijheid om je eigen programma samen te stellen, afgestemd op jouw interesses en leerbehoeften. Na elke masterclass, workshop en keynote heb je de kans om je mening achter te laten. Dit is jouw kans om feedback te geven, ideeën te delen en een bijdrage te leveren aan de community.
Koop nu je tickets voor de Developers Summit
De kaartverkoop voor hét developers evenement van het jaar gaat als een trein, dus zorg dat je snel je kaarten in huis haalt. Tickets zijn verkrijgbaar voor 299 euro (plus 1,99 euro servicekosten) of als ‘3 halen, 2 betalen’-deal. Als jouw werkgever de tickets vergoedt, ontvang je uiteraard een factuur voor administratieve doeleinden. Persoonlijke gegevens worden niet gedeeld met partners.
Kijk hier voor het privacybeleid van Tweakers.
Ben je student? Mail ons dan via concepts@tweakers.net, zodat je een ticket kan kopen voor een gereduceerd tarief van 75 euro.