CyberControl

CyberSecurity Blog

AI & Cybersecurity Cybersecurity & Society Hacking

Is open source wel zo verstandig?

Bijna een jaar geleden werd door de overheid op basis van een WOO (Wet Open Overheid) verzoek besloten om de broncode van DigiD App voor mobiele telefoons vrij te geven met de nodige restricties. Ik heb daar destijds grote zorgen over geuit, wat niet in dank werd afgenomen. Mijn zorgen zijn een jaar later niet verdwenen. En niet zozeer vanwege DigiD op zich maar open source in het algemeen. Is open source, en meer specifiek, het vrijgeven van broncode wel zo verstandig?

Leid Open Source tot veiliger software?

Open Source zou volgens de voorstanders leiden tot veiliger software maar waarom zou dat zo zijn? Een greep uit de argumenten:

  • Meer mensen zouden hun tijd in de code gaan steken om te zien hoe deze werkt. En hoe goed deze werkt.
  • Het niet vrijgeven(open source maken) van de broncode zou weinig uitmaken kwa veiligheid. Hackers zouden je broncode, wel of niet gepublideerd, toch wel proberen te kraken.
  • Fouten worden eerder ontdekt en daardoor sneller worden opgelost.
  • In geval van een overheid is transparantie van het openbaar bestuur een verplichting naar de samenleving. En die transparantie geldt ook voor broncode welke op kosten van de belastingbetaler door de overheid is gebouwd.
  • Veiligheid door afscherming van broncode zou schijnveiligheid zijn. Security by obscurity is een achterhaald concept zweren de voorstanders.
  • De risico’s bij publicatie van broncode in het kader van open source zouden met restricties zeer gering zijn.

Wat is er tegen open source?

Zoals je wellicht al uit de inleiding kunt opmerken ben ik geen voorstander van open source software. Ik heb daarvoor de volgende argumenten die ik bijna allemaal relateer aan de argumenten van de voorstanders in de voorgaande paragraaf.

  1. De gedachte dat er een community is die vrijwilllig heel veel tijd gaat steken in de broncode die jij hebt openbaar gemaakt is op zijn zachtst gezegd naïef. Alsof mensen geheel voor nop code gaan lopen reviewen voor algemeen belang zonder enige tegenprestatie. Wie gelooft dit?
  2. In aanvulling op 1. Stel dat deze community van gratis code reviewers en testers uit idealisme of als hobby de broncode gaat reviewen en testen wie zegt dat zij alle bevindingen zullen gaan melden? Het is bijzonder naïef om dit te veronderstellen.
  3. Wie heeft het meeste belang bij een broncode van een gevoelige applicatie zoals bijvoorbeeld DigiD of andere? Vrijwilligers die gratis code reviews doen en trouw alle fouten melden of hackers die er belang bij hebben om achterdeuren te vinden zodat men in systemen aan nog meer informatie kan komen van grote hoeveelheden personen? Het antwoord hierop kan iedereen verzinnen.
  4. Is de veiligheid van het zelf testen door de eigen organisatie zo matig of is er weinig vetrouwen in eigen ontwikkelaars en testers dat de software pas veiliger wordt als de broncode openbaar is? Indien ik een software ontwikkelaar of tester was zou ik me behoorlijk geschoffeerd voelen. Ik ben dan kennelijk incompetent en niet in staat om veilige software te bouwen? Is dit de zienswijze?
  5. Worden de risico’s wel in voldoende mate afgewogen vraag ik me af? Zijn er grondige risico analyses bekend van software op basis van bijvoorbeeld de OWASP cheatsheets en honderden cases welke open source is gemaakt? Ik heb zo mijn twijfels. Ik heb deze analyses niet gezien.
  6. Broncode geheim of niet, de software wordt toch wel gehackt. Een bijna fatalistische zienswijze. Zullen we dan maar alles openbaarmaken en cybersecurity dan maar overbodig verklaren? Deze redenering is die van een drogredenatie waar we weinig mee opschieten. Het openbaarmaken van broncode is het vergemakkelijken van de cyberkillchain. De dief krijgt zo zonder enige drempel de sleutel van je huis in handen. Of althans hij/zij hoeft er minder lang moeite voor te doen. Wil je dat?

Open source in de toekomst: AI maakt het makkelijker.

Met de explosieve groei aan AI toepassingen komt ook het moment dichterbij dat het coderen van applicaties steeds meer wordt geautomatiseerd en de kennis van een taal overbodig wordt. De toekomst van applicatie ontwikkelaars staat met de opkomst van AI opeens op een keerpunt. Met AI kunnen mensen op basis van functionele prompts programma’s laten ontwikkelen in elke taal zonder te hoeven coderen. Wat dit betekent voor open source laat zich raden. Een hacker kan AI gebruiken om samen met de broncode de zwakke punten in applicaties makkelijker en sneller te ontdekken. Het gevaar hiervan voor bestaande applicaties die parallel worden gebruikt en niet open source zijn wordt steeds groter. Immers een hacker kan het bestaande programma simuleren en is daardoor een stap dichter bij het mogelijk indringen en overnemen van een applicatie. Onderschatting hiervan zou misplaatst zijn. Dit vormt met de komst van AI een serieuze mogelijkheid.

Tot slot

Het gedeeltelijk of geheel open source maken van applicaties die daarnaast ook als niet open source draaien is onderhevig aan steeds groter wordende risico’s zeker met de komst van AI. Software ontwikkeling zal mede door de komst van AI nog veiliger moeten plaatsvinden. Ook AI kan hiervoor worden ingezet om sneller, breder en dieper te kunnen testen. Open Source maken van applicaties omdat het dan veiliger zou worden is met de komst van AI geen argument meer. Wil je toch je applicatie om wat voor redenen open source maken beoordeel dan grondig de risico’s en neem daarbij de nieuwe AI ontwikkelingen in ogenschouw.