Ethische aspecten van fouten in software

Zero Days

Ethische aspecten van fouten in software

Als criminelen en spionnen zero days, programmacode voor fouten in software, maken en gebruiken om ons geld en onze informatie te stelen dan keuren we dat unaniem af. Maar wat als onze eigen spionnen en militairen ze maken en gebruiken? Keuren we het dan ook af? Dit zijn tenslotte the good guys. Moeten zij fouten in software niet gewoon melden aan de maker, zodat die het probleem kan verhelpen? Minder fouten in software maakt ons immers veiliger.

Alle software zit vol met fouten en de meeste daarvan zijn niet ernstig. Maar sommige zijn zo ernstig dat iemand die er slim gebruik van maakt, kan inbreken op de computer van een ander zonder dat die daar iets van merkt. Van deze fouten maken criminelen en spionnen gebruik om via internet geld en informatie te stelen. Ook van de Nederlandse overheid, van Nederlandse bedrijven en van Nederlandse burgers. Minder fouten in software maakt onze systemen veiliger. Dit wordt urgenter naarmate onze maatschappij afhankelijker wordt van ICT en het niet meer alleen over geld en informatie gaat, maar over mensenlevens.

Bij veel aanvallen wordt gebruik gemaakt van fouten die allang verholpen zijn. Dat kan, omdat gebruikers van software vaak niet de meest recente updates hebben geïnstalleerd. De kans op succes wordt natuurlijk groter als je gebruik maakt van een fout die niemand anders kent en waar nog geen oplossing voor is. De programmacode die je gebruikt om gebruik te maken van een fout die nog niet bekend is, noemen we in jargon een zero day.

Een afweging of de inzet van zero days ethisch gerechtvaardigd is – en onder welke voorwaarden – moet mijn inziens minimaal gebaseerd zijn op de volgende twee factoren: de specificiteit van de zero day en de aard van de dreiging waartegen de zero day wordt ingezet, met name de urgentie en potentiële impact.

Een zero day genaamd “Eternalblue” is eerder dit jaar gepubliceerd op internet door een hackergroep. Algemeen wordt aangenomen dat deze zero day was gestolen van de Amerikaanse NSA. EternalBlue was niet specifiek en kon ingezet worden tegen meerdere versies van Windows: van Windows XP tot Windows Server 2016, dus bij het merendeel van de bedrijven, overheden en internet gebruikende burgers over de hele wereld. Een oplossing voor deze fout zou honderden miljoenen systemen veiliger maken.

We zullen nooit weten of Eternalblue ooit is ingezet voor een acute dreiging met grote impact. Wel weten we met redelijke zekerheid dat de NSA minimaal zes jaar de beschikking heeft gehad over Eternalblue. Een acute dreiging met grote impact duurt geen zes jaar.

Er is hoogstwaarschijnlijk een lange periode geweest waarin het de ethische keuze was geweest om de fout te laten verhelpen door Microsoft in plaats van er zelf over te beschikken. Ook hem achter de hand houden voor het geval hij nuttig is bij een acute dreiging van grote impact of hem regelmatig gebruiken bij uiteenlopende dreigingen weegt vrijwel nooit op tegen het veiliger maken van miljoenen systemen. Vergeet niet dat ook onze tegenstanders 15 jaar de tijd hebben gehad om deze fout te vinden en te gebruiken voordat hij publiek werd. Of dat ook gebeurd is zullen we waarschijnlijk nooit weten.

Mijn tweede voorbeeld is kort en theoretisch: stel dat er een dreiging is in Nederland en als inlichtingendienst weet je dat een specifieke zero day een doorbraak in je onderzoek kan betekenen? Ik vind de inzet van zo’n zero day in bepaalde gevallen ethisch verantwoord. Gevallen waarin de dreiging acuut is en de impact substantieel: het gaat om mensenlevens, zaak van leven of dood. En aan die inzet zitten dan wel voorwaarden: de fout moet, zodra de specifieke dreiging is afgewend, worden gemeld aan de softwaremaker zodat die het probleem kan verhelpen en daarmee de weerbaarheid van anderen verhogen. Die voorwaarde is harder naarmate de zero day generieker is.

In de praktijk heb ik geen directe invloed op de wijze waarop inlichtingendiensten omgaan met zero days. Maar ik heb wel invloed op de wijze waarop mijn werkgever hiermee omgaat.

Fouten in software moeten gemeld worden aan de maker van de software zodat die de fout kan verhelpen. Minder fouten in software leidt tot minder problemen: minder datalekken, minder identiteitsfraude, minder spionage en minder diefstal. En uiteindelijk, naarmate onze maatschappij afhankelijker wordt van ICT, minder doden.

Mijns inziens is het slechts in hele specifieke gevallen gerechtvaardigd om hiervan af te wijken. En voor een commerciële partij is het dus slechts in hele specifieke gevallen en met specifieke voorwaarden gerechtvaardigd om hieraan mee te werken. Dat is ook het advies dat ik mijn werkgever, Fox-IT, geef, vanuit mijn rol als lid van de ethische commissie, en in lijn met het bestaande MVO-beleid.

Nu bij Fox-IT

Neem contact op

+31 (0) 15 284 79 99

fox@fox-it.com

Delft