18-juni-2018, min leestijd

Zo werkt een hackathon bij de AIVD

Bij Computest werken we niet alleen aan projecten voor klanten, maar houden we ons ook bezig met andere projecten waardoor we verder kunnen groeien als professional. Daarom nam ik dit jaar voor de tweede keer deel aan een hackathon bij de AIVD. Een organisatie die niet alleen bij hackers tot de verbeelding spreekt.

Deelnemen aan een hackathon van de AIVD is niet voor iedereen weggelegd. Om toegelaten te worden moet je je eerst kwalificeren door een challenge op te lossen. In dit geval was het logo van de AIVD bewerkt met een versleuteld bericht. Uiteindelijk kreeg ik het bericht dat ik was geselecteerd. En zoals je zou kunnen verwachten van een hackathon bij de AIVD, waren hier bijzondere voorwaarden aan verbonden. Zo moest de locatie geheim blijven en werden bij aankomst in het AIVD-gebouw alle smart devices (behalve je laptop) opgeborgen in een kluis.

Opdracht hackathon

De opdracht van de hackathon was een applicatie te ontwikkelen die meerwaarde heeft voor de AIVD. In een team van zes personen zijn we na een brainstorm gaan werken aan een applicatie die inzichtelijk maakt of er personen zijn die zich op een specifiek tijdstip op dezelfde locatie bevinden. De AIVD kan de applicatie vervolgens gebruiken om vast te stellen waar mogelijke ontmoetingsplekken zijn van verdachte personen. De applicatie maakt het tevens inzichtelijk voor de AIVD om de routine van een persoon inzichtelijk te maken. Zo kun je met onze app eenvoudig ontdekken dat iemand iedere ochtend om 07:00 vertrekt van punt A naar punt B, vervolgens 8 uur op punt B verblijft om daarna weer naar punt A te reizen. In dit geval kun je met redelijke zekerheid concluderen dat punt A de verblijfplaats is en punt B de werkplek.

Omdat er geen goede dataset beschikbaar was, besloten we om een fictieve dataset te maken zodat we wel een goed werkend prototype konden laten zien. Ik ben begonnen met een opzet voor de dataset, maar omdat ik geen tijd had om elke dataset record handmatig in te voeren heb ik de Google maps API daarvoor gebruikt. Vervolgens hebben we enkele routes uitgestippeld en de URL link gebruikt om in Java de geo-locatie data te berekenen.

Werkend prototype

Een extra uitdaging was dat deze hackathon plaatsvond in het weekend waarin de klok een uur naar voren werd verplaatst. Hierdoor hadden we dus geen 24 maar 23 uur. Relatief een groot verschil dus. Maar tegen de ochtend konden we al onze front-end/back-end en algoritmes aan elkaar knopen. We hadden een werkend prototype! Helaas was het concept niet sterk genoeg, want een andere groep ging er vandoor met de winst.

Ik zal me volgend jaar zeker weer aanmelden bij de AIVD voor de hackathon. Mocht jij hier ook interesse in hebben, dan adviseer ik je om de website: http://www.aivdhackathon.nl/ in de gaten te houden. Meestal wordt rond januari de nieuwste AIVD-hackathon informatie aangekondigd. Je doet er ook goed aan om alvast te oefenen met verschillende encoding algoritmes zoals Base64. Als je meer wil trainen dan kun je bij mij uiteraard de eerdere challenges opvragen of zelf online opzoeken.

Igor van Spengen
Igor van Spengen
Secure Software Developer