ATK Project gegen WEKA Business Information GmbH & Co. KG. [update] Marc Ruef | 22.06.2006 Der Dante Security Scanner (http://www.computec.ch/download.php?view.307) war mein erster Gehversuch, eine umfassende und komfortable Software zu entwickeln, die automatisiert Schwachstellen in einem Zielsystem identifizieren können sollte. Schon über Jahre hinweg hatte ich mir Konzepte zusammengestellt und dann in dieser quelloffenen Software publiziert. Einige Jahre später ging ich noch einen Schritt weiter und habe mit dem Attack Tool Kit (ATK) (http://www.computec.ch/projekte/atk/) ein Exploiting Framework zu erstellen versucht, das nicht nur das Auffinden sondern auch das Ausnutzen von Sicherheitslücken komfortabel ermöglichen sollte. Dabei sind Erfahrungen aus Dante und einigen anderen, bisher nicht veröffentlichten Utilities, eingeflossen. Das im Jahr 2003 ins Leben gerufene ATK-Projekt erfreut sich grosser Beliebtheit. Die Quelloffenheit hat scheinbar schon so manchen Entwickler beflügelt, selber etwas in der Richtung zu schreiben. Und schon in einem oder anderem Buch aus einschlägiger Richtung fand das Exploiting Framework seine Erwähnung (http://www.computec.ch/projekte/atk/press/). Ich bin sehr zufrieden mit der Software, obschon ich seit geraumer Zeit an einer komplett überarbeiteten Version absorbiert bin... Im Februar dieses Jahres erhielt ich ein Email eines deutschen Journalisten (Email vom 07. Februar 2006; ausdrücklicher Dank an dieser Stelle!). In diesem stellte er sich nur knapp vor, um schnell zum Kernpunkt seiner Zeilen zu kommen. So habe er vor einigen Wochen die Software INTEREST Security Scanner (http://www.securityscanner.de) der deutschen Firma WEKA Business Information GmbH & Co. KG. (http://www.weka.de) erhalten, um diese einem typischen Zeitschriften-Test zu unterziehen. Dabei handle es sich um einen Securityscanner, der in einigen Punkten doch verdächtige Gleichheiten zum ATK aufzuweisen habe. Ich solle mir das Tool doch mal anschauen. Ich war damals gerade an einem Web Application Penetration Test in einer Privatbank zugegen und konnte mich nun halt nicht während der Arbeitszeit dieser Sache widmen. Dennoch überlegte ich fortwährend, was wohl da auf mich zukommen würde. Nach Feierabend war ich sodann darum bemüht, mir die Trial-Version der besagten Applikation herunterzuladen, mich auf der Produkt-Webseite ein bisschen umzusehen und die Screenshots anzuschauen. Es war ein ebenfalls für Windows geschriebenes Tool, das mit einer Vielzahl an Scanning-, Auswertungs- und Angriffs-Möglichkeiten aufwarten sollte. Eines der Bedienelemente versprach ein Exploiting. Durch das Anklicken des entsprechenden Buttons wurde mir das Subframe geladen, in dem zu meinem Erstaunen sämtliche Titel der gegenwärtig publizierten ATK-Plugins aufgelistet wurden. Ein Exploit-Scan listete fortwährend auf, was das jeweilige Plugin genau machen würde. Und wie zu erwarten war, war genau ASL (Attack Scripting Language) benutzt worden, wie ich sie für das ATK entwickelt hatte. Dies ist eine spezielle Programmiersprache (Skriptsprache), mit der sich die Zugriffe eines Angriffs möglichst effizient umsetzen lassen. Das ATK sowie all seine Teile wurden quelloffen unter der General Public License (GPL) publiziert. Diese erlaubt die Weiterverwendung von Programmcode, sofern dieser wiederum der GPL unterliegt: Quelloffenheit, Möglichkeit der eigenen Anpassungen sowie die Nennung der Original-Quellen (beim ATK also ich bzw. das Projekt). Die besagte Applikation liegt jedoch nur in komplilierter Form vor und von einer Nennung meiner Person oder der des ATK-Projekts wird gänzlich abgesehen. Die Nutzung der Software erfordert gar in der Vollversion eine Lizenz, die 248 Euro beträgt. Ein klarer Verstoss gegen das Urheberrecht und die GPL. Ich liess es mir also nicht nehmen, mit dem Software-Konzern in Verbindung zu treten. In einem eingeschriebenen Brief wies ich höflich auf den Umstand der Verletzung meines geistigen Eigentums hin (Brief vom 18. Februar 2006): quoteSehr geehrte Damen und Herren Von verschiedenen Stellen wurde ich auf Ihr Produkt INTEREST Security Scanner aufmerksam gemacht. Mir wurde berichtet, dass einige Teile der besagten Lösung offensichtliche Ähnlichkeit mit einer von mir mit dem Namen Attack Tool Kit (ATK) im Jahr 2003 publizierten Software hat (http://www.computec.ch/projekte/atk/). Die Durchsicht der Screenshots auf Ihrer Webseite http://www.securityscanner.de, das Ausprobieren der dort zum freien Download angebotenen Demo und deren Funktionsweise zeugen von handfesten Indizien, dass Sie unerlaubterweise Programmcode meiner Entwicklung übernommen haben (http://www.securityscanner.de/download.html). Wie auf der ATK Projekt Webseite (unter anderem in der Einführung und der FAQ) nachzulesen ist, wurde das ATK und all seine Teile unter der General Public License (GPL) Version 2 publiziert. Diese sieht vor, dass Teile der Software kopiert werden können, solange die folgenden drei Bedingungen erfüllt sind: 1. Die Original-Quelle des Codes wird genannt; 2. Die Weiterentwicklung wird wiederum unter der gleichen Lizenz (GPL) veröffentlicht; 3. Die Weiterentwicklung muss samt Quellcode vertrieben werden oder der Quelltext muss nach Anfrage zur Verfügung gestellt werden. Leider konnte ich weder auf Ihren Webseiten, noch in den in der Demo mitgelieferten Dateien oder der Trial-Version selbst einen Hinweis auf das Attack Tool Kit Project bzw. meine Person finden. Ebenso wird Ihre Software ohne Quelltext aber zum Preis von 199 für 6 Monate angeboten. In der schriftlichen Begründung zu seinem Urteil vom 19. Mai 2004 (Az. 21 O 6123/03) erklärte das Landgericht München die GPL in Deutschland hingegen grundsätzlich für rechtswirksam (http://www.jbb.de/urteil_lg_muenchen_gpl.pdf). Mit diesem Schreiben, das Sie sowohl als PDF-Datei per Email als auch per eingeschriebenem Postbrief erhalten werden, möchte ich Sie höflichst auffordern, die Lizenzbestimmungen der GPLv2 des ATK einzuhalten. Sollten Sie binnen angemessener Frist von 14 Tagen nach Erhalt dieses Briefes dieser Forderung nicht nachkommen, behalte ich mir das Einleiten juristischer und journalistischer Schritte vor./quote Die Antwort kam schon nach wenigen Tagen. Der Justiziar der Gegenpartei meinte, dass er Rücksprache mit dem Entwickler gehalten hätte und dieser sich keiner Schuld bewusst sei. Es wurde keine einzige Zeile Programmcode von ATK kopiert (Rückantwort vom 28. Februar 2006). Sollte ich mit der Wahrheit wirklich an die Öffentlichkeit gehen wollen, würde man sich rechtliche Schritte gegen mich vorbehalten. Obschon ich im ersten Schreiben lediglich auf Screenshots verwiesen hatte, stellte ich natürlich schon sehr früh ein intensives Reverse Engineering des Produkts an und war mir deshalb meiner Sache 100 %ig sicher. Dank Disassembler und Hexeditoren konnte ich kopierte Bytes sehr genau ausmachen. Entsprechend wies ich nocheinmal in einem eingeschriebenen Brief auf das Fehlverhalten hin (Auszug vom Brief vom 07. März 2006): quoteMit diesem Schreiben möchte ich nocheinmal mit Nachdruck darauf hinweisen, dass sich Ihr Entwickler in diesem Belang offensichtlich irrt. Es ist mir möglich in einigen Punkten einfach und nachhaltig zu beweisen, dass Sie mit der gegenwärtigen Fassung des kommerziellen Produkts eine Lizenzverletzung der GPL begehen. Es sind dabei unter Umständen nicht nur mein Produkt, sondern auch andere internationale Projekte namhafter Grösse - von denen ich unter der GPL veröffentlichte Teile übernommen habe - indirekt betroffen. Ich räume Ihnen 10 Tage Frist ein, um sich der Sache angemessen und endgültig anzunehmen. Die Lizenzbestimmungen der GPL gilt es zu respektieren. Das Ausbleiben einer Einlenkung verstehe ich als Fehlen der Bereitschaft zur rechtmässigen Kooperation. In diesem Fall werde ich mit den mir vorliegenden Beweisen in umfassender Art und Weise an die Öffentlichkeit gehen./quote In der nächsten Antwort (Brief vom 16. März 2006) investierte der Anwalt der Gegenpartei mehr Zeichen darin mir vorzuwerfen, ich würde sie erpressen und sie würden mich auch verklagen wollen, weder auf den eigentlichen Vorwurf der Urheberrechtsverletzung durch sie einzugehen. Nur knapp wurde wieder betont, dass der Entwickler jegliche Schuld von sich weise und ich mich ja noch nicht mal darum bemüht hätte, mit Beweisen aufzuwarten. Okay, kein Problem, Beweise habe ich genug. Also schrieb ich in einem weiteren Brief kurz und knapp das Folgende und belegte dies mit Screenshots (Auszug vom Brief vom 28. März 2006): quoteEinmal mehr beziehe ich mich mit diesen Zeilen auf einen Ihrer Briefe. Hierbei auf jenen vom 16. März 2006. In diesem haben Sie sich das erste Mal bemüht nachzufragen, welche Teile denn überhaupt von der besagten Urheberrechtsverletzung betroffen sind. Damit sind wir schon mal einen grossen Schritt weiter. Danke. Sehen Sie, meine Zeit ist kostbar und wird auch entsprechend entlöhnt. Ich sehe nicht ein, warum ich nun Stunden aufwenden sollte, um detailliert auf sämtliche Punkte einzugehen, bei denen ich die Nichteinhaltung der gegebenen Lizenzbestimmungen des Attack Tool Kit Projects vermute. Ihr Entwickler wird wohl seine Sinne genug beisammen haben um zu wissen, welche Teile er übernommen hat. Sollte dem nicht so sein, können wir gerne über eine Bezahlung meiner Person reden, ein umfassendes Reverse Engineering Ihres Produkts anzustellen und damit für jedes Bit und Byte die Aussage treffen zu können, ob diese aus meiner Software übernommen wurde oder nicht. Eine entsprechende Offerte mit vorgesehenem Kostendach lasse ich Ihnen auf Anfrage ansonsten gerne zukommen. Soweit ich das auf den ersten Blick sehe, sind sämtliche Plugins des ATK 4.1 (Release am 09. Februat 2005) übernommen wurden. Dies scheint offensichtlich, denn so sind die Anzahl der Plugins praktisch identisch. Desweiteren sind sämtliche Titel der Plugins gleich (inkl. meiner fehlerhaften englischen Übersetzungen). Auch die Scanning-, Exploit- und Pattern Matching-Routinen sind identisch. Samt meiner zu Studienzwecken erstellten und grundsätzlich im Visual Basic-Umfeld genutzten regulären Ausdrücken, die in einem kommerziellem Produkt wie dem Ihren aus Performance- und Verwaltungs-Gründen absolut unsinnig erscheinen. Dass die Plugins teilweise 1 zu 1 übernommen wurden lässt sich ganz besonders schön an jenen erkennen, bei denen exemplarische Zugriffe umgesetzt werden und Hinweise auf das ATK Project verblieben sind. Ein Beispiel ist da „SMTP mail relay test“, bei dem als Absenderadresse plugin156@atk.test für den Test-Zugriff gewählt wurde. Dieser String ist ebenfalls bei meinem Plugin – das per Zufall bei mir genau die ID 156 hat – auch gegeben (Siehe Abbildung 1 und 2). Es wäre aber jegliche Zeichenkette in diesem Zugriff sinnvoll, solange sie sich in etwa an die Konventionen von RFC 821 (SMTP) hält. Dass sich Ihr Unternehmen genau für die gleichen 18 Zeichen in exakt der gleichen Reihenfolge entscheidet, erscheint mir dann doch ein bisschen unwahrscheinlich. Die Kopie erscheint offensichtlich./quote Lustigerweise wurden Tage nach diesem Brief die zum öffentlichen Download bereitgestellte Demo-Version kommentarlos von der Produkt-Webseite entfernt. Ebenso die Screenshots, anhand derer sich die kopierten Elemente mit blossem Auge identifizieren lassen. Für mich sowie meine Anwälte ein klares Schuldeingeständnis und eine Massnahme zur Schadenslimitierung. Natürlich habe ich eine signierte Offline-Kopie der Original-Webseite, die in einem Gerichtsfall gute Dienste leisten wird. Als nächstes wurde mir vom Anwalt vorgeschlagen, diese "hochkomplexe Sache" doch per Telefon zu besprechen. In einem halbstündigen Telefonat (04. Mai 2006) wurde mir Honig ums Maul geschmiert, man wünsche sich eine schnelle Beilegung des Streits - Man werde alles unternehmen, um die Sache zu regeln. Und dennoch: Man könne mir noch nicht vollumfänglich beipflichten, dass hier eine Urheberrechtsverletzung vorliege, da man das selber technisch noch nicht geprüft hätte. Nur leider interessiert mich sowas nicht. Sodann wurden mir drei Lösungswege angeboten. Die am wenigsten herbeigewünschte Lösung bestand darin, die GPL einzuhalten. Es sei mit erhöhtem Aufwand verbunden und eine Offenlegung der Quellen würde die bestehenden Kunden verärgern. Das interessiert mich aber nicht. Desweiteren könne man mich entlöhnen (inkl. Einsicht in die Bücher), eine Zusammenarbeit mit mir anstreben oder mit gar die Möglichkeit geben, ein Buch in ihrem Verlag unentgeldlich zu publizieren. Ich schrieb Tage später in einem Email, dass es mir leid tue, ich aber nicht daran interessiert sei. Die Einhaltung der GPL sei mir wichtiger. Der Anwalt sagte, er werde das mit seinem Mandanten nocheinmal anschauen. Viele Tage vergingen, ohne dass ich etwas von der Gegenpartei gehört hätte. Nach etwa zwei Wochen schrieb ich etwas genervt die folgenden Zeilen per Email an den Anwalt Dr. Georg F. Schröder der Heussen Rechtsanwaltsgesellschaft mbH (http://www.cybercourt.de) in München (Email vom 02. Juni 2006): quoteIch wollte mich bei Ihnen erkundigen, wie der Stand in Bezug auf WEKA/ATK aussieht. Sie muessen verstehen, dass ich in diesem Belang ungern auf Ewigkeit vertroestet werde und mich stets selbst um eine Weiterfuehrung bemuehen muss./quote In einer Antwort wurde mir vorgeschlagen, nocheinmal zu telefonieren. Nach kurzer Terminkoordination per Email wurde sich auf den Montag der kommenden Woche geeinigt (Emails vom 08. Juni 2006). Der Anwalt der Gegenpartei versprach mir, mich um am 19. Juni 2006 um 10:00 Uhr im Buero anzurufen. Fix habe ich noch einige Termine auf den Nachmittag geschoben, um mir die Zeit für das Telefonat nehmen zu können. Als um 10:30 Uhr noch immer niemand aus Deutschland angerufen hatte (lediglich ein alter Bekannter, über dessen Anruf ich mich natürlich sehr gefreut habe), nahm ich den Hörer selber in die Hand. Am anderen Ende der Leitung behauptete die Sekretärin des Anwalts, dass der Herr nicht zu sprechen sei. Meine Antwort: "Sie holen mir den jetzt ans Telefon!" Die Dame versuchte ihn sodann zu erreichen und eine Weiterleitung auf sein Handy umzusetzen. Leider ohne Erfolg. Man bat mich darum, mein Glück nochmals in einer halben Stunde zu versuchen. Ja, klar, ich renne jetzt dieser Sache nach... Eine halbe Stunde später klingelte ich wirklich nocheinmal durch. Die Dame wiederholte ihre lieblosen Sätzchen vom letzten Gespräch und sagte, dass der Herr Anwalt erst gegen Nachmittag erreichbar wäre. Nur leider bin ich dann nicht erreichbar. Also bat ich darum, ihm eine Nachricht zukommen zu lassen, die nun bitte wortwörtlich notiert werden sollte. Ich war ziemlich ungehalten und fing an zu diktieren: "Man solle mir in den kommenden 48 Stunden ein annehmbares Angebot unterbreiten. Bleibt ein solches aus, werde ich mich der Sache annehmen, wie ich es für richtig halte." Rund 24 Stunden später klingelte bei mir im Büro das Telefon und der leicht angespannte Anwalt meldete sich mit den Worten: "Sie haben um einen dringenden Rückruf gebeten?" Er fragte zum tausendsten Mal, was wir nun machen sollen. Und ich wiederholte lapidar, dass ich in 24 Stunden eine Lösung will. Seine Antwort darauf war, dass er für die 24 Stunden nicht garantieren könne, dem Mandanten aber sofort ein Email schreiben würde. Jetzt sollen die mal endlich rennen! Zwischenzeitlich wurde mir durch diverse Kontakte ermöglicht, Einsicht in die neueren Versionen des INTEREST Security Scanners zu erhalten. Diese erschien scheinbar nach den jeweiligen Briefwechseln. Offensichtlich ist, dass in der neueren Version eine Vielzahl an Anti-Debugging Techniken zum Einsatz kommen, die eine Analyse erschweren sollen. Trotzdem bleibt es mir möglich (z.B. mittels Deadlisting) nachzuweisen, dass noch immer die gleichen Inhalte übernommen wurden. Ironischerweise wurden genau jene Passagen modifiziert, die ich im dritten Brief ausdrücklick mittels Screenshot als übernommen identifiziert habe. Wichtige andere Teile, die sehr verräterisch wirken - zum Beispiel die fiktiven Zeitstempel 11 Feb 2081 11:02:11 (der 11.02.81 ist mein Geburtstag) - blieben bestehen. Gut geklaut ist halb gewonnen - Schlecht geklaut ist ganz verloren! centerimghttp://www.computec.ch/_images/newspost_images/atk-fall-timeline_klein.jpg/img Abbildung 1: Timeline der Geschehnisse (http://www.computec.ch/_images/newspost_images/atk-fall-timeline.jpg) /center Nun, mittlerweile ist meine Geduld erschöpft, der Termin für eine angemessene Rückantwort versäumt. Ich werde mich diese Tage mit verschiedenen Anwälten für Urheberrecht und Patentrecht treffen, um die nächsten Schritte dieser Angelegenheit zu besprechen. Mit diesem Schreiben gehe ich ebenfalls den Weg, die Sache an die Öffentlichkeit zu tragen. Wie zu sehen ist, habe ich der Firma WEKA und ihren Anwälten mehr als 4 Monate Zeit gelassen, mir ein anständiges Angebot zu unterbreiten und geltendes internationales sowie nationales Recht (GPL) einzuhalten. Leider alles ohne Erfolg. Jetzt kommt die Phase mit dem Holzhammer. Wie mir von verschiedenen Stellen mitgeteilt wurde, weist die betroffene Software weitere Urheberrechts-Verletzungen auf. Eine Liste mit über einem Duzend fragwürdigen Codestellen liegt mir vor, wird aber - bis weitere Abklärungen getroffen sind - noch nicht öffentlich gemacht. Die betroffenen Projekte, Firmen und Personen sind bzw. werden kontaktiert. Über ein gemeinsames Vorgehen wird vereinzelt schon diskutiert. Aus dieser Geschichte habe ich gelernt, dass sich Geduld - wenigstens in dieser Hinsicht - nicht auszahlt. In Zukunft werde ich nur noch 2 Fristen setzen: Eine, damit die Gegenpartei die Dinge anschauen und bewerten kann - Und dann nochmals eine, um meine Forderungen zu akzeptieren. Nach 14 Tagen ist die Sache dann gelaufen. Dann gibts sofort den Holzhammer. Ich mag Holzhammer! Ausdrücklicher Dank gebührt den vielen Einsendern, die mich bei der Analyse der Software unterstützt haben. Vor allem GemFire von THC. Vielen Dank an Simon, der mich fortlaufend in dieser Sache gecoacht hat. Ein Danke zudem an Flavio, der mir einen Patentanwalt empfohlen hat sowie Erol, der mich mit einem Rechtsanwalt für Urheberrecht zusammengeführt hat. Ein ausdrückliches Dankeschön an alle Zeitschriften und News-Portale, die ab heute und in absehbarer Zukunft über die Sachlage berichten. Diese Informationen weiterzutragen ist im Sinne der Wahrheit dringenst erwünscht! Pressespiegel: 23.06.06 - 11:45 Uhr - Computer-Security, Attack Tool Kit wird Opfer von Lizenzverletzungen, http://www.computer-security.de/content/view/573 23.06.06 - 15:07 Uhr - Heise/OpenHeise, Entwickler will gegen GPL-Verletzung vorgehen, http://www.heise.de/newsticker/meldung/74625 24.06.06 - 20:32 Uhr - BooCompany, WEKA: Schlecht geklaut ist ganz verloren!, http://www.boocompany.com/index.cfm/content/story/id/13882/