Moet de overheid zerodays wel of niet gebruiken in de handhavings- en inlichtingendiensten?

qimono / Pixabay

Op Twitter las ik deze inhaker op een NRC-column van jurist Vincent de Haan over gebruik van zero-days. “Zonder 0days wordt onze overheid nog machtelozer online dan ze nu al zijn en dat kunnen we ons niet veroorloven. Als de overheid niet digitaal kan optreden loopt onze privacy en veiligheid een groot gevaar”, aldus Ronald Prins daar. Daar stelde De Haan dus tegenover “Met behulp van [zerodays] houden autoritaire regimes journalisten, activisten en advocaten in de gaten. … Maar we moeten ons realiseren dat de Nederlandse overheid, door het gebruiken van zero-days – één van de belangrijkste ingrediënten van de Pegasus software – medeverantwoordelijk is.”

Een zeroday is security-jargon voor een kwetsbaarheid waarvan misbruik te maken is, maar die nog niet bekend is bij de maker van de software of dienst. (De etymologie is wat vaag maar lijkt afkomstig uit de warez scene waar het ging over de zeer prestigieuze actie om gekraakte software dezelfde dag als het origineel te publiceren. Het heeft dus niet perse te maken met dat de bug zero days geleden ontdekt of gemeld is of iets dergelijks.)

Wie een dergelijke kwetsbaarheid heeft, kan bij de betreffende software inbreken en bijvoorbeeld gegevens aftappen, eigen software (zoals spyware) installeren of wat je maar zou willen doen. Dat is voor criminelen aantrekkelijk maar ook voor opsporings- en inlichtingendiensten die op die manier interessante personen kunnen volgen. Of dus journalisten kunnen volgen en dan arresteren wanneer deze al te irritant worden. Zoals bij de Pegasus-software, waar deze heisa mee begon.

Het punt is dan dat overheden niet perse zelf kwetsbaarheden gaan ontdekken, maar deze ook op de vrije markt gaan inkopen. En vooral, dat die overheden vervolgens de makers niet informeren maar het gat lekker laten bestaan:

Het Pegasusschandaal is immers precies waarvoor gevreesd werd bij de invoering van de hackbevoegdheid: onschuldige mensen worden gehackt met kwetsbaarheden die bij de overheid reeds bekend waren, maar die voor het gemak van het boevenvangen niet gedicht zijn.
Prins stelt daar tegenover dat “Als duidelijk is dat 0days misbruikt worden door criminelen of andere staten moeten ze onmiddellijk gemeld worden. In het algemeen geldt dat software altijd meerdere kwetsbaarheden zal hebben. Het melden van niet gebruikte 0days maakt een product niet significant veiliger”. Dat is natuurlijk waar, maar waar het om gaat is of het ethisch is dat de overheid weet van grote kwetsbaarheden en die dan voor zich houdt omdat ze die nodig heeft voor de inlichtingen- en veiligheidsdiensten.

Natuurlijk kun je dan zeggen, als die dit nodig hebben dan is dat in het landsbelang. Maar het is nooit zo dat een dergelijk gat alléén bekend is bij de AIVD, zeker niet als het op de vrije markt is ingekocht. Want reken maar dat zo’n bedrijf diezelfde informatie verkoopt aan wie dan ook, dus de criminelen hebben dit snel genoeg te pakken. Is het dan niet juist je maatschappelijke plicht als overheid om deze lekken zo snel mogelijk dicht te krijgen?

Arnoud

Mag een zoekmachine het World-Wide Web scannen op securitykwetsbaarheden?

Een lezer vroeg me:

Ik las dat in augustus tijdens de Defcon-hackerconferentie de zoekmachine Punkspider opnieuw gelanceerd zal worden. Deze zal dan dagelijks miljoenen websites op kwetsbaarheden scannen. De resultaten zijn vervolgens via de zoekmachine te vinden, wat volgens de ontwikkelaars voor een veiliger web moet zorgen. Hoe is dat in vredesnaam legaal, laat staan ethisch verantwoord?
Het voelt inderdaad een tikje raar als je het zo leest: dan kun je dus als crimineel-in-spe even naar die zoekmachine om te kijken welke sites eenvoudig kwetsbaar zijn. Zal ik ook maar de “goedkope voordeurslotenspider” beginnen, keyPunk.darkweb?

Of het legaal is, komt echter neer op de vraag wat Punkspider precies doet met hun doorzoekactie. Het leest als een vorm van portscannen, men toetst op bekende kwetsbaarheden zoals SQL injectie of cross-site scripting.

Zo te lezen publiceert men niet in detail welke kwetsbaarheid gevonden is, alleen grofweg “deze site is kwetsbaar voor gegevensdiefstal vanwege SQL injectie, laat hier niets achter alsjeblieft”. (Ik zag al de categorie “dumpster fire” dus ik hoop dat de boodschap overal in zulke duidelijke taal gecommuniceerd wordt.)

Portscannen en onderzoeken naar kwetsbaarheden is strafbaar wanneer je het doet met de bedoeling (het “oogmerk”, juridisch gezegd) om daarna computervredebreuk te plegen, of om anderen aan te zetten dat te doen. De Punkspider-eigenaren zijn dat zeker niet zelf van plan, zij publiceren immers deze rapporten juist zodat brakke sites de beoel eindelijk eens repareren en er dus géén computervredebreuk gaat plaatsvinden.

Blijft dus over, zetten zij criminelen aan tot misbruik van de gevonden kwetsbaarheden? Dat lijkt me op het eerste gezicht niet het geval. Ik zie dus niet meteen het strafbare aan deze zoekmachine, tenzij blijkt dat men het wel héél eenvoudig maakt om met een gegeven exploit direct een inbraak uit te voeren. Daarvoor moeten we de definitieve publicatie afwachten, maar het lijkt me sterk.

Arnoud

Het Wassenaar Arrangement versus de security-onderzoeker

bug-fout.pngEen Britse student mag zijn scriptie niet publiceren omdat hij daarin exploits uitlegt, wat verboden is door het Wassenaar Arrangement. Dat meldde Ars Technica afgelopen vrijdag. De bachelorscriptie bevat nu enkele zwartgemaakte pagina’s, en details daaruit worden alleen aan bona fide securityonderzoekers beschikbaar gesteld. Wacht even, is het nu ook al verboden om wetenschappelijke publicaties over securitygaten te doen?

Het Akkoord van Wassenaar (niet te verwarren met het Akkoord van Wassenaar) is een verdrag dat exportrestricties stelt op wapens en dual-use technologie. In 2014 werd de scope van dit Akkoord uitgebreid: ook intrusion software is nu een ‘wapen’ en daarmee onderworpen aan exportrestricties.

Meer specifiek gaat het om

Software ‘specially designed’ or modified to avoid detection by ‘monitoring tools,’ or to defeat ‘protective countermeasures,’ of a computer or network-capable device, and performing any of the following: (a) The extraction of data or information, from a computer or network-capable device, or the modification of system or user data; or (b) The modification of the standard execution path of a program or process in order to allow the execution of externally provided instructions.

Het is item (b) waardoor ook zero days en andere exploitsoftware hieronder zou kunnen vallen: vrijwel alle exploits zijn uiteindelijk gericht op het uitvoeren van andere instructies, het hele punt immers is de controle overnemen van het systeem dat je aanvalt.

Op zich valt ook een exploit in een paper onder deze definitie. Het gaat immers niet om het medium waarin de software is verschenen of de bedoelingen van de auteur. Echter, elders in het Akkoord staat:

Controls do not apply to “technology” “in the public domain”, to “basic scientific research” or to the minimum necessary information for patent applications.

Hierbij betekent “public domain”

“technology” or “software” which has been made available without restrictions upon its further dissemination. Copyright restrictions do not remove “technology” or “software” from being “in the public domain”.

Oftewel, wie publiceert zonder restrictie, valt buiten het verdrag. Vreemd is het wel, want als je dus je software voor een beperkt publiek aanbiedt dan krijg je exportrestricties om je oren, maar zet je het met broncode en al op internet onder een opensourcelicentie dan heb je nergens wat mee te maken.

Het lijkt er bij deze student op dat er nog wat anders meespeelt: hij noemt naast het Akkoord ook het ethisch beleid van zijn universiteit als factor die in de weg zit. Ik kan dat beleid zo niet vinden, maar het is ergens voorstelbaar dat een stel alfa’s uit het bestuur meende dat exploits publiceren onethisch is ongeacht de wetenschappelijke waarde daarvan. Daar doe je dan verder juridisch niets aan.

Arnoud

Mag je Metasploit-modules publiceren voor kwetsbaarheden in software?

metasploit-security-scannerEen lezer vroeg me:

Vanuit een research-oogpunt zou ik graag Metasploit modules willen publiceren voor gedichte kwetsbaarheden in veelgebruikte software. Kan dit zomaar of ben je dan strafbaar bezig?

Het is strafbaar om een kwetsbaarheid te exploiteren en zo binnen te dringen in een computersysteem. Dat is de computervredebreuk uit artikel 138ab Strafrecht.

Aanvullend is het strafbaar om exploits te maken, verkopen, verkrijgen, invoeren, verspreiden of anderszins beschikbaar te stellen of voorhanden te hebben (art. 139d Strafrecht). Maar niet elk stukje code dat een kwetsbaarheid gebruikt om toegang te verschaffen is een exploit in de zin van de wet.

Er gelden drie eisen:

  1. het moet gaan om een technisch hulpmiddel, het moet dus iets ‘doen’. Een uitleg in gewoon Nederlands valt hier waarschijnlijk niet onder, hoewel in de context van betaaltelevisie kraken een stappenplan in een tijdschrift wél als ‘voorwerp’ strafbaar was.
  2. met het hulpmiddel moet je computervredebreuk kunnen plegen. Een exploit die alleen maar méldt dat er een kwetsbaarheid is, zonder daadwerkelijk binnendringen te faciliteren, is dus niet strafbaar.
  3. het hulpmiddel moet “hoofdzakelijk geschikt gemaakt of ontworpen” zijn daarvoor. Een tool die toevallig en ondergeschikt ook gebruikt kan worden voor computervredebreuk, is dus niet strafbaar.

De discussie zal vooral gaan over punt 3. Wanneer is iets “hoofdzakelijk geschikt of ontworpen” voor een misdrijf?

Die grens ligt denk ik bij de uitstraling. Sommige tools zijn duidelijk bedoeld als serieuze tools voor security onderzoekers, andere tools zijn duidelijk ‘hacktools’ met de bekende groene letters op zwarte achtergrond en verlokkingen dat je iedereen hiermee kunt h4xoren. De wet is bedoeld voor het laatste.

De grens hiertussen is natuurlijk vaag, maar dat is een juridische feature. Het zal dus afhangen van hoe de tool wordt gepresenteerd en wat de uitgever ervan zegt in zijn aankondiging en reclame voor de tool. “Nu snel iemands MSN/Hotmail kraken” of “Onderzoek of uw bedrijfsdata nog wel veilig is” maakt voor mij veel verschil.

De site van Metasploit ziet er voor mij best serieus uit, en is duidelijk geschreven voor professionals die hun eigen netwerk willen beschermen. Daarom denk ik niet dat een Metasploit-module snel als “hulpmiddel hoofdzakelijk geschikt gemaakt of ontworpen voor computervredebreuk” wordt gezien.

Mag je de Shellshock-kwetsbaarheid gebruiken om die kwetsbaarheid te repareren?

shell-script-hacker-go-awayEen recent ontdekte softwarekwetsbaarheid laat aanvallers code injecteren in de Bash-shell, die door OS X en vrijwel alle Linux-distributies wordt gebruikt. Dat meldde Tweakers woensdag. Door de kwetsbaarheid kun je op afstand code laten uitvoeren op systemen die met die shell werken. Een slimme lezer mailde me vervolgens: wat nu als die code geen kwade bedoelingen heeft maar de getroffen Bash-shell upgradet naar een veilige versie?

Kwetsbaarheden als deze zijn (helaas) een regelmatig terugkerend fenomeen. Gelukkig blijken ze vaak op te lossen, en dat is ook wat er hier is gebeurd. Oplettende systeembeheerders hebben ondertussen dus het probleem al opgelost, maar je zult ze de kost moeten geven die over drie maanden nog deze kwetsbaarheid op hun systeem hebben zitten.

Het gaat hier om het soort kwetsbaarheid waarbij je op afstand met speciaal gekozen code arbitraire instructies kunt uitvoeren. Het vereist de aanwezigheid van de zogeheten Bash-shell, maar die is op veel Linux systemen standaard aanwezig. Genoeg ruimte voor exploitatie van de fout dus. Je kunt allerhande narigheid uithalen op iemands systeem, maar -dank voor de suggestie- ook op afstand het probleem oplossen door als instructie mee te geven “upgrade de bash shell”.

Op andermans systeem binnengaan zonder toestemming is in beginsel computervredebreuk, zeker als je daarbij gebruik maakt van een technische ingreep en dat is dit zeker wel. Maar de wet spreekt letterlijk van “wederrechtelijk binnendringen” en dat betekent dat áls je een recht hebt, je niet strafbaar bent als je binnendringt.

Het recht zou in dit geval gevonden worden in de zaakwaarneming. Daar hebben we het al eerder over gehad, bijvoorbeeld in de context van andere mensen met open netwerkschijven helpen. De eis uit de wet (art. 6:198 BW) is kort gezegd dat een goede reden voor is en die persoon dat niet zelf kan doen. En je moet zo snel mogelijk verslag afleggen bij de persoon wiens zaak je hebt waargenomen.

Bij deze kwetsbaarheid kun je je afvragen of mensen dit niet zelf kunnen doen. Een mailtje sturen dat ze lek zijn, en dan kijken hoe er wordt gereageerd dus. Pas als er geen reactie komt én je reden hebt om aan te nemen dat men echt lek is en dit schade geeft, zou je zelf actie mogen ondernemen. Mits je dat dan maar ook mailt naar die partij.

Ik vind het dubbel. Enerzijds, de fix is eenvoudig en als deze is uitgevoerd door gewoon het standaard package management systeem aan te roepen dan is de kans op bijkomende schade nihil. Het resultaat is hetzelfde als wanneer meneer het zelf doet. Anderzijds, ik zou er ook niet vrolijk van worden als mensen bij mij dingen komen repareren die ik zelf net wilde gaan doen. Dus wanneer is het nódig dat je dit recht in eigen hand neemt?

Arnoud