Spionagemalware Duqu schendt GPL

duqu-gpl.pngSjongejongejonge, wat zullen de Duqu-makers daar wakker van liggen: de beruchte spionagemalware Duqu bevat open source-code die onder de ‘virale’ licentie GPL vallen, las ik bij Webwereld. Duqu blijkt open source blokken te bevatten van derden en die licentie te negeren.

Tsja, wat moet je met zo’n berichtje? Ik noem het maar ‘grappig’, wanthet is ergens wel grappig om te denken dat malwaremakers die economische spionage en mogelijk zelfs hardwarevernielingen gaan veroorzaken een opensourcelicentie zullen respecteren. Gelukkig dus maar dat er “This post is for fun, don’t take it too seriously,” bij staat.

En dan maar doorpakken op een stukje irritatie van mij: je kunt in situaties als deze de GPL niet schenden, want de GPL is niet bindend als je je er niet aan houdt. Je pleegt auteursrechtinbreuk, natuurlijk, maar eisen dat iemand de GPL naleeft is onmogelijk. Tenzij iemand gezégd heeft de GPL te willen naleven en vervolgens dat blijkt niet te doen.

In maart hadden we nog een discussie over GPL bij tablets, waarbij de discussie was of je als koper de GPL kon afdwingen. Dat kan (via een derde-begunstigde discussie) maar wél moet dan eerst vaststaan dat de verkoper zich aan de GPL heeft gebonden.

Het enkele feit dat iemand GPL-licensed code verspreidt, is nog geen bewijs dat hij zich aan de GPL heeft geconformeerd.

Arnoud

25 reacties

  1. Interessant.. want hoe ga je bewijzen dat zo iemand zich aan GPL moet houden? Ik dacht aan een “I accept” knopje voor de downloadpagina, maar het is natuurlijk goed mogelijk dat de GPL code via iemand anders bij de gebruiker van de GPL code komt.

    Aangenomen dat dat dus niet lukt, wat kan je dan als (hoofd)auteur van een stuk GPL software? Uiteraard kan je aanklagen voor auteursrechtenschending, maar is het mogelijk dat je hieruit ook een betekenisvol resultaat krijgt? Immers, zoals al bij eerdere blogs besproken, is het niet triviaal om een schadevergoeding vast te stellen als de verkoopwaarde van het originele product 0 is (neem even aan dat de GPL software niet ook onder andere licentie verkocht wordt). Kan een van die resultaten zijn dat de gebruiker van de code dat gebruik moet stoppen (op straffe van bijvoorbeeld een dwangsom)?

  2. @Rens: De standaardmanier is dat je zo iemand gewoon aanspreekt op schending van auteursrechten. Je doet of je neus bloedt en negeert de GPL vermelding op je code. En dan mag HIJ gaan roepen “jamaar GPL en daar houd ik me netjes aan”. Want dat is dan de erkenning dat hij de GPL heeft geaccepteerd. En dan pak je hem op niet-naleving en eis je bij de rechter vrijgave van de afgeleide code.

    De vuile manier is dat je in die aansprakelijkheidsbrief tévens meldt “Mogelijk denkt u zich op de GPL te kunnen beroepen. U heeft mij echter nooit gemeld de GPL te aanvaarden, dus dat is niet het geval. Bovendien trek ik bij deze mijn aanbod onder de GPL in zodat u het nu niet meer kúnt aanvaarden.” Wat theoretisch best wel eens zou werken.

    Een schadeclaim zie ik niet snel succes hebben, precies omdat je je code gratis weggeeft. Welk bedrag aan schade heb je dan?

  3. @Arnoud

    je kunt in situaties als deze de GPL niet schenden, want de GPL is niet bindend als je je er niet aan houdt. Je pleegt auteursrechtinbreuk, natuurlijk, maar eisen dat iemand de GPL naleeft is onmogelijk. Tenzij iemand gezégd heeft de GPL te willen naleven en vervolgens dat blijkt niet te doen.
    Hmm… hier lijk je het tegenovergestelde te zeggen. Wat is er anders?

  4. Ach, het betekent gewoon dat de makers van Duku niet alleen vervolgd kunnen worden voor het produceren van malware maar ook wegens auteursrechten-schending. In de USA kan dit -volgens mij- enkele jaren bij een eventuele straf optellen, indien de maker gepakt wordt. En indien de makers van de betreffende code een aanklacht indienen…

  5. @Willem: de software wordt verspreid zonder dat de broncode erbij verstrekt wordt. Juridisch-technisch: de GPL regelt het kopiëren van de software; zodra je de software voor een (juridisch) ander beschikbaar maakt, treden de nadere regels (broncode) in werking.

    Het (ongevraagd) een virus op de computer van een ander dumpen is distributie van software.

  6. Around, 3: oké, bedankt!

    Willem, 7: Tegenwoordig is het juist common practice om dergelijke malware wel te verkopen. Daarnaast kan je best beargumenteren dat je de malware met source moet ‘leveren’ aan je doelwit. Striktgenomen is het doelwit immers de gebruiker van de software (omdat de gebruiker deze uitvoert). Zeker als deze software een trojan is, hoewel dat bij duqu niet het geval is (zie duqu flowchart op wikipedia).

    Wim, 4; Around, 5: Het lijkt me inderdaad een handig trucje om wat extra straf te eisen. Immers, een grotere aanklacht met meer misdrijven veroorlooft een grotere straf. Ik meen me te herinneren dat de straffen cumulatief zijn (of is dat alleen in de VS? dan nog, dit speelt in de VS).

  7. Aha, dus jij denkt dat auteursrechthandhaving effectiever is dan cybersecurity?
    Ik niet. Maar ik denk wel dat als de maker van deze malware wordt gepakt, deze mogelijk een nog stevigere straf kan krijgen wegens auteursrechten-schending.

    Overigens kan het nog interessant worden om de maker ervan te bepalen. Stuxnet is immers verwant aan Duqu en Stuxnet is mogelijk door een overheids-instantie ergens op deze wereld gebouwd. (Vermoedelijk de US of Israel.) Indien de maker een overheid is geweest is het zeker interessant om te zien in hoeverre auteursrechten door overheden misbruikt mogen worden.

    Qua schade kan ik nog wel “reputatieschade” bedenken. De makers van de betreffende open-source code krijgen natuurlijk reputatieschade nu hun werk wordt misbruikt voor malware. Wie wil nou code hebben van ontwikkelaars die hebben bijgedragen aan de productie van malware? Een eventuele schade zou een verlies aan inkomsten kunnen zijn wegens de verslechterde reputatie. Giechel?…

  8. Tja, als Noord-Korea ook Duqu heeft gemaakt zal er -behalve meer sancties- niet veel aan gedaan kunnen worden. Maar Duqu en Stuxnet zijn aan elkaar verwant, wat mogelijk betekent dat ook Stuxnet open-source misbruikt. En deze is naar alle waarschijnlijkheid door de Amerikaanse staat in samenwerking met Israel gebouwd. Maar goed, indien deze twee inderdaad verantwoordelijk zijn voor deze malware zijn er wel ergere dingen gaande dan een beetje open-source-licentie-schendingen. Denk dat de schadeclaim ten gevolge van de malware fors hoger zal zijn dan de schade door de auteursrechten-schending.

  9. @SvdB: daar zeg je nog eens wat. Ja. Daar had ik eigenlijk best wel gelijk toen 🙂 Dus ja, misschien kun je wel degelijk mensen per direct houden aan de GPL, ook als zij ontkennen dat dat zo is.

    De insteek met “hoi u schendt mijn auteursrecht” en hopen op een reactie “ja maar GPL” lijkt me onderhandelingstechnisch beter omdat je ze dan meteen vastpint op de GPL doordat ze het zelf erkennen. Een erkenning is beter dan roepen dat iets wel zo móet zijn terwijl de wederpartij “helemaal niet!” roept.

  10. Ik bedenk mij net dat het gebruik van open-source natuurlijk bedoeld is voor eigen gebruik en niet voor gebruik door diegenen die de malware op hun systeem hebben draaien. Malware is niet iets dat je deelt met je slachtoffers, maar wat je zelf gebruikt voor kwaadwillende doeleinden. De vraag is dan ook of je echt kunt spreken over distributie naar andere personen want die andere personen weten van niets.

    Maar goed, ter vergelijking met de legale wereld: als ik open-source code gebruik op mijn webserver dan hoef ik de bezoekers van mijn website niet de code te geven of zelfs maar inzage te geven in de gebruikte code. Ik distributeer de code immers niet maar gebruik het voor eigen gebruik. Bij malware is dat precies hetzelfde, alleen draait de malware op de systemen van de slachtoffers, niet van de hacker. Het is echter alleen bedoeld om de hacker tot dienst te zijn, dus is er geen distributie en werkt de maker van Duqu conform de GPL. Toch? 🙂

  11. Het tot dienst zijn van een bepaald iemand of niet doet er niet toe. De webserver software is namelijk wel tot dienst van de website bezoeker maar heeft niets met de GPL te maken. Tot dienst zijn en distributie zijn dus volledig gescheiden concepten.

    Overigens is er de AGPL om beschikbaarheid van broncode van webserversoftware af te dwingen.

  12. @Wim, het gaat er tocht niet om wie het gebruikt maar om de distributie er van. En het wordt wel degelijk gedistribueerd naar het systeem van het slachtoffer… (Maar ik ken GPL niet voldoende of dit ook echt zo is)

  13. @N.P. Tja, maar distributie ten behoeve van wie? Niet ten behoeve van de slachtoffers van de malware. De hacker eigent zich onrechtmatig toegang tot hun systemen maar gebruikt de malware alleen voor eigen gebruik. Of dit echt valt onder distributie is een lastig punt. Want wat als ik open-source (GPL) gebruik voor het maken van een web applicatie en deze bij een web host plaats? Dan ben ik wel mijn app aan het distributeren naar de webhost, maar de host doer er zelf niets mee. Ik ben de enige gebruiker van de software en bezoekers krijgen alleen de output ervan te zien, en geen directe beschikking over de app.

  14. @Wim: Verschil tussen web-app en desktop-app is in dit geval waar de code draait. Web-apps draaien in principe server-side en daar heb je dus inderdaad gelijk; echter, malware draait altijd client-side. Natuurlijk zijn er ook web-apps met een client-side deel; dit deel is echter geschreven in script-talen zoals javascript, waardoor de source dus automatisch meekomt. Je zou een argument kunnen hebben voor java applets/actionscript code die GPL was maar waar de source niet bij geleverd wordt, maar voor zover ik weet zijn daar geen zaken over geweest (wellicht dat iemand anders daar meer zicht op heeft?).

  15. De hostingpartij werkt onder contract voor jou, en is geen eigenaar van de software die jij op de server plaatst of laat plaatsen.

    Stel ik maak 5000 kopieën van een auteursrechtelijk beschermd werk en gooi die ongevraagd door de brievenbussen van mensen, dan schend ik toch auteursrechten omdat ik iets distribueer wat ik niet mag distribueren? De ontvanger is veilig. Hetzelfde geld voor de Duqu worm, de ontvanger daarvan is niets aan te rekenen, maar de maker van de Duqu worm distribueert wel degelijk auteursrechtelijk bescherm werk, of de ontvanger daar nou om gevraagd heeft of niet.

    Wat betreft websoftware nog even. Waar je wel rekening mee moet houden is dat als je voor een klant (web)software maakt en daarin GPL code gebruikt, je er ofwel voor moet zorgen dat de klant eigenaar is van de gemaakte code (jij werkt dus onder contract), ofwel dat je (desgevraagd) de volledige broncode moet opleveren om aan je verplichtingen t.o.v. de GPL te voldoen. Je kunt dus niet tegen de klant zeggen: “hier heb je je binaries, maar wij houden de source”. Ook qua hergebruik van code die je oorspronkelijk voor een andere klant hebt geschreven moet je daar rekening mee houden, denk ik. Maar IANAL, dus als je echt goed advies wil dan moet je bij Arnoud wezen natuurlijk 🙂

  16. @Matthijs, ik werk niet alleen voor een werkgever, maar prive maak ik ook websites voor eigen “leering ende vermaeck”. En ik ben ook niet beroerd om een goedkope host in te schakelen voor 5 Euro per maand om mijn hobby op uit te testen. Inkomsten krijg ik via mijn eigen baan dus de sites die ik als hobby maak hoeven mij verder niets op te leveren, maar kunnen weer wel gebruik maken van GPL code. Betreffende de status van JavaScript GPL code en vergelijkbare zaken is er met de GPL wel een grijs gebied. Je kunt ook denken aan Flash applicaties die deels met open-source zijn opgebouwd, of Silverlight-applicaties met GPL code erin. Die zaken zijn niet bedoeld om uitgeleverd te worden aan gebruikers maar dienen gewoon om de website te laten draaien. Bij malware eigenlijk precies hetzelfde. De hacker stuurt de malware naar zijn slachtoffers en die slachtoffers horen daar niets van te merken. Het is ook niet bedoeld om het slachtoffer (gebruiker) tot dienst te zijn maar om de hacker te helpen zijn malware-netwerk te beheren en wat daar verder bij komt kijken.

    Malware is ook geen “User product” maar gewoon iets wat draait binnen het systeem dat de hacker claimt. Alleen, de hacker claimt CPU-tijd van zijn slachtoffers waarbinnen hij zijn software laat draaien.

  17. Om de digitale wereld van malware te vergelijken met de echte wereld, even een mooi voorbeeld: Er zijn vele grote en kleine boerderijen met maisvelden. Maar mais heeft redelijk wat tijd nodig om te groeien en de boer heeft niet de gehele dag de tijd om al zijn maisvelden in de gaten te houden. En daar komt de malware om de hoek kijken, in de vorm van criminelen met wietzaadjes. Ze zoeken grote maisvelden die redelijk onbeheerd zijn. In die maisvelden planten ze stekjes van plantjes die ze elders hebben opgekweekt en binnen een maand kan er al een forse plant staan die maar net kleiner is dan de mais zelf. Als de boer niet regelmatig zijn velden controleert op wietplanten dan kan de crimineel zo ongemerkt veel winst maken. Het veld is een computer. De wiet is malware, die groeit op vreemde grond. De boer is het slachtoffer en zijn regelmatige controles van zijn velden kun je zien als zijnde “virusscannen”. En de crimineel is maar moeilijk te pakken en zelfs als enkele van zijn plantages worden ontdekt maakt hij op andere velden nog steeds genoeg winst.

    En ja, dit komt voor! Het Wietforum meldt overigens dat het dit jaar niet veel succes zal hebben wegens een heersende schimmel onder mais. Daardoor worden maisvelden al voortijdig gerooid en daarmee dus ook de “malware”.

    En nee, ik heb niets met wiet maar vond het een mooie vergelijking.

    Zoals het veld niet van de wietkweker maar van de boer is, zo is de malware niet voor de gebruiker maar voor de hacker. De boer en de gebruiker zijn niet bewust van de malware dus is de malware niet naar hen gedistrubuteerd maar is het gewoon werkterrein van de crimineel.

  18. Wim, mooi voorbeeld van de wiet!

    Het hangt er dus maar vanaf hoe een rechter de term distributie uit zal leggen. Je kan inderdaad stellen dat je het niet distribueert en dat het alleen voor eigen gebruik is. Je maakt je dan wel schuldig aan het kapen van een stuk diskruimte/CPU/bandbreedte van de slachtoffers.

  19. @N.P.: Dat vind ik nog wel een interessante optie. Dat je geen virus verspreid maar diskruimte steelt. Aan de andere kant kan ik die diskruimte gewoon gebruiken. Format C: en huppakee. CPU en bandbreedte is wat lastiger natuurlijk.

    @Wim: Ik geloof dat we het ook wel met elkaar eens zijn… soort van. Ik heb namelijk nooit gezegd dat de duqu-ontvanger of de maisboer in overtreding is. Alleen dat naast het verspreiden van malware ook het verspreiden van GPL code ze aangerekend kan worden, de duqu-makers dus. Het is met GPL code nooit zo dat je in overtreding bent als je een binary zonder broncode ontvangt. Als ik in mijn brievenbus een DVD vind van de nieuwste Disneyfilm ben ik ook niet in overtreding, degene die die film erin heeft gestopt (laten stoppen) is in overtreding (tenzij hij daarover onderhandeld heeft met Disney natuurlijk).

    In het geval van websoftware ontvangt de bezoeker van je site niet de software, hij kijkt alleen door een raampje naar hoe jij die software voor ‘m draait. Jij of jouw klant (de hostingpartij staat erbuiten) zijn de eindgebruikers. Als je dus een website hebt gebouwd met GPL code erin dan ben je de bezoeker van de site niets verschuldigd. En aangezien je niet aan distributie doet hoef je ook jouw code niet vrij te geven onder de GPL, het is immers voor eigen gebruik. Dit geld ook als je onder contract voor de klant code schrijft. Dan is het eigen gebruik van de klant, die eigenaar is van de code die jij geschreven hebt. Als je echter code schrijft en de klant koopt een product ‘website met knoppen’ van je, waarbij jij dus je auteursrecht op jouw code behoudt, dan ben je verplicht je code onder GPL vrij te geven aan de klant. Naar de buitenwereld, en ook aan de houders van de GPL code die je gebruikt in je product, ben je niets verplicht.

    Naar mijn mening doe je wel aan distributie als je javascript, java applets, flash of silverlight in je site gebruikt. Zit daar dus GPL code in dan zul je die officieel ook beschikbaar moeten maken. Maar geen haan die ernaar kraait natuurlijk. Ik twijfel een beetje over het virale aspect van de GPL. Stel JQuery is GPL-only (dat is het niet, maar stel) en ik schrijf nog meer javascript die ook jquery calls doet, moet ik daarvan de source vrijgeven. Ik denk van wel eigenlijk. En als die calls worden gegenereerd door server-side code, dan die code ook. Ik denk van wel. Gelukkig kun je JQuery ook onder een MIT licentie gebruiken, dus da’s mooi 🙂

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.