Het Wassenaar Arrangement versus de security-onderzoeker

| AE 7806 | Intellectuele rechten, Security | 22 reacties

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?

| AE 7448 | Intellectuele rechten, Security | 17 reacties

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?

| AE 7008 | Security | 23 reacties

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