{"id":8855,"date":"2022-12-27T19:50:00","date_gmt":"2022-12-27T17:50:00","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=8855"},"modified":"2024-12-30T23:21:39","modified_gmt":"2024-12-30T21:21:39","slug":"protestware-die-it-sicherheit-im-ukraine-krieg-open-source-als-politische-waffe","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/protestware-die-it-sicherheit-im-ukraine-krieg-open-source-als-politische-waffe\/","title":{"rendered":"Protestware: Die IT-Sicherheit im (Ukraine-)Krieg &#8211; Open Source als politische Waffe?"},"content":{"rendered":"<p>Seit Monaten befindet sich die Ukraine im Krieg. Und das l\u00e4ngst nicht nur analog an den klassischen Waffen, <a title=\"IT-Armee und Hacker im Russland-Ukraine Krieg: Welche Rolle spielen Aktivisten im Cyberkrieg?\" href=\"https:\/\/u-labs.de\/portal\/it-armee-und-hacker-im-russland-ukraine-krieg-welche-rolle-spielen-aktivisten-im-cyberkrieg\/\">wie ich in einem fr\u00fcheren Beitrag bereits aufzeigte<\/a>. Doch der Krieg kommt seit einiger Zeit auch zunehmend bei Softwareentwicklern und Projekten an. Solche Software wird oft als <strong>Protestware<\/strong> bezeichnet, angelehnt an g\u00e4ngige Lizenzbezeichnungen wie <strong>Freeware<\/strong>.<\/p>\n<p>Von dort zieht er weite Kreise, oft auch unfreiwillig. <a href=\"https:\/\/u-labs.de\/portal\/npm-paket-node-ipc-enthaelt-malware-und-zerstoert-daten-als-protest-gegen-den-ukraine-krieg\/\" title=\"NPM-Paket node-ipc enth\u00e4lt Malware und zerst\u00f6rt Daten als Protest gegen den Ukraine-Krieg\">Der bislang spektakul\u00e4rste Fall war wohl node-ipc<\/a>: Zun\u00e4chst legte es eine Textdatei auf dem Desktop an, deren Inhalt sich klar gegen den Krieg aussprach. Sp\u00e4ter enthielt das Paket eine Schadsoftware, die mit 25% Wahrscheinlichkeit versucht alle Daten zu l\u00f6schen, falls die IP-Adresse des Opfers zu Russland oder Belarus zugeordnet werden kann. Dies ist in verschiedener Hinsicht gef\u00e4hrlich, wie ich im damaligen Beitrag ausf\u00fchrlicher erkl\u00e4rt habe.<\/p>\n<p>Mittlerweile haben <a href=\"https:\/\/github.com\/open-source-peace\/protestware-list\" title=\"einige Open Source Projekte\" target=\"_blank\" rel=\"nofollow\">einige Open Source Projekte<\/a> \u00f6ffentlich ihren Protest zum Ausdruck gebracht. Eine Liste enth\u00e4lt auch <a href=\"https:\/\/www.technologyreview.com\/2022\/03\/21\/1047489\/activists-are-targeting-russians-with-open-source-protestware\" title=\"dieser Artikel \" target=\"_blank\" rel=\"nofollow\">dieser Artikel <\/a>(russische Quellen). Es wird<a href=\"https:\/\/beny23.github.io\/posts\/on_weaponisation_of_open_source\/\" title=\" \u00fcber die Bewaffnung von Open Source\" target=\"_blank\" rel=\"nofollow\"> \u00fcber die Bewaffnung von Open Source<\/a> gesprochen. Man kann grob zwischen vier Arten unterscheiden:<\/p>\n<h3 class=\"wp-block-heading\">1. Positionierung innerhalb des Repositorys<\/h3>\n<p>Am h\u00e4ufigsten sind Flaggen der Ukraine oder anderen Zeichen in den Repositorys selbst zu sehen, meist in der README. Das Projekt <a href=\"https:\/\/github.com\/vshymanskyy\/StandWithUkraine\" title=\"StandWithUkraine \" target=\"_blank\" rel=\"nofollow\">StandWithUkraine <\/a>bietet entsprechende Vorlagen und f\u00fchrt ebenfalls eine Liste bekannter Unterst\u00fctzer. <\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-23.png\"><img loading=\"lazy\" decoding=\"async\" width=\"909\" height=\"608\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-23.png\" alt=\"\" class=\"wp-image-8858\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-23.png 909w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-23-300x201.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-23-768x514.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-23-70x47.png 70w\" sizes=\"auto, (max-width: 909px) 100vw, 909px\" \/><\/a><figcaption class=\"wp-element-caption\">Beispiel einer Projekt-README mit Unterst\u00fctzungsaufruf f\u00fcr die Ukraine (Quelle: <a href=\"https:\/\/github.com\/pnpm\/pnpm\/\" title=\"pnpm Repository\" target=\"_blank\" rel=\"nofollow\">pnpm Repository<\/a>)<\/figcaption><\/figure>\n<p>Manche haben auch entsprechende Statements in den Code eingebaut, etwa bei der Installation eines Paketes wie bei <a href=\"https:\/\/github.com\/medikoo\/es5-ext\/commit\/28de285ed433b45113f01e4ce7c74e9a356b2af2\" title=\"es5-ext\" target=\"_blank\" rel=\"nofollow\">es5-ext<\/a>. Dies ist eine Kompatibilit\u00e4tsschicht, um das neuere ECMAScript 6 auch in \u00e4lteren Browsern benutzen zu k\u00f6nnen. Wer eine bestimmte Zeitzone eingestellt hat und das Paket installiert, sieht eine politische Botschaft auf Russisch auf der Konsole.<\/p>\n<p>Dies sehen nur die Entwickler\/Administratoren, aber in der Regel keine Endnutzer. Die Auswirkungen bzw. Kollateralsch\u00e4den sind hier am geringsten und diese Form des Protestes findet in der Community noch am ehesten Anklang &#8211; wenngleich bei einigen grunds\u00e4tzlich umstritten ist, ob Software f\u00fcr politische Botschaften genutzt werden sollte.<\/p>\n<h3 class=\"wp-block-heading\">2. Politische Botschaften in der Anwendung<\/h3>\n<p>Im Unterschied zur ersten Variante werden die politischen Parolen so in die Anwendung eingebaut, dass sie f\u00fcr den Endbenutzer sichtbar sind. <\/p>\n<p>In bestimmten Regionen<a href=\"https:\/\/github.com\/Yaffle\/EventSource\/issues\/199#issuecomment-1071769802\" title=\" wurde ein Infokasten eingebaut\" target=\"_blank\" rel=\"nofollow\"> wurde ein Infokasten eingebaut<\/a>, der 15 Sekunden nach dem Aufruf der Seite in bestimmten Regionen erscheint. Darin wird beschrieben, dass eine gro\u00dfe Mehrheit der Ukrainer hinter Zelensky und seiner Abwehrstrategie steckt, die ganze Welt Sanktionen gegen Russland beschlossen hat und man den Tor-Browser f\u00fcr unzensierte Informationen nutzen soll:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-24.png\"><img loading=\"lazy\" decoding=\"async\" width=\"386\" height=\"690\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-24.png\" alt=\"\" class=\"wp-image-8859\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-24.png 386w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-24-168x300.png 168w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-24-39x70.png 39w\" sizes=\"auto, (max-width: 386px) 100vw, 386px\" \/><\/a><\/figure>\n<\/div>\n<p>Hier ist die Reichweite deutlich gr\u00f6\u00dfer: Nutzt man das Paket beispielsweise auf der eigenen Homepage, sehen alle Besucher aus der entsprechenden Region die Meldung. Ein weiteres Beispiel ist die Leaflet. Die interaktive JavaScript-Karte hat <a href=\"https:\/\/github.com\/Leaflet\/Leaflet\/commit\/483545c72b366e671cfd8e0fd9b63598dbce26b8\" title=\"eine Ukraine-Flagge eingebaut\" target=\"_blank\" rel=\"nofollow\">eine kleine Ukraine-Flagge eingebaut<\/a>. Wer darauf klickt, sieht ein Popup-Fenster \u00fcber die pers\u00f6nliche Betroffenheit des Entwicklers. <\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-25.png\"><img loading=\"lazy\" decoding=\"async\" width=\"873\" height=\"314\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-25.png\" alt=\"\" class=\"wp-image-8860\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-25.png 873w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-25-300x108.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-25-768x276.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-25-70x25.png 70w\" sizes=\"auto, (max-width: 873px) 100vw, 873px\" \/><\/a><\/figure>\n<p>Nicht nur quelloffene Software ist betroffen. Teils haben auch propriet\u00e4re Produkte oder Clouddienste bereits ihre politische Position in ihren Diensten kundgetan, dotnetfiddle.net beispielsweise:<\/p>\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-26.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"296\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-26-1024x296.png\" alt=\"\" class=\"wp-image-8861\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-26-1024x296.png 1024w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-26-300x87.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-26-768x222.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-26-70x20.png 70w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-26.png 1201w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<p>Der Terraform-Provider f\u00fcr die Amazon AWS Cloud geht noch einen St\u00fcck weiter. <a href=\"https:\/\/github.com\/terraform-aws-modules\/terraform-aws-ec2-instance\/commit\/6867788411a202b61187f9935e9eaa72a18f0bbe\" title=\"Er f\u00fchrt eine Variable namens putin_khuylo ein\" target=\"_blank\" rel=\"nofollow\">Er f\u00fchrt eine Variable namens <em>putin_khuylo <\/em>ein<\/a>, die Fragt: <em>Stimmen Sie zu, dass Putin die ukrainische Souver\u00e4nit\u00e4t und territoriale Integrit\u00e4t nicht respektiert?<\/em> Wer diese nicht auf &#8222;true&#8220; zur Zustimmung setzt, konnte das Modul nicht benutzen.<\/p>\n<p>Solche Beispiele gibt es viele. Das Projekt <a href=\"https:\/\/github.com\/NewNowCool\/help-the-ukraine-now\" title=\"help-the-ukraine-now\" target=\"_blank\" rel=\"nofollow\">help-the-ukraine-now<\/a> bietet ein Skript an, welches man auf die eigene Seite einbinden kann. Es zeigt russischen Besuchern eine Nachricht zum Krieg. Davon w\u00fcrde ich Abstand nehmen &#8211; schon alleine aus dem Grunde, weil das Skript auf einem fremden Server liegt und damit die eigene Seite nach belieben ver\u00e4ndert werden k\u00f6nnte. Sei es vom Entwickler oder aber durch Dritte, die diese Domain z.B. kapern.<\/p>\n<h3 class=\"wp-block-heading\">3. Destruktive<\/h3>\n<p>Wie der Name schon vermuten l\u00e4sst, geht es hier nicht nur um das Verbreiten politischer Standpunkte und Aufforderungen. Sondern es wird &#8211; wie bei <a href=\"https:\/\/u-labs.de\/portal\/npm-paket-node-ipc-enthaelt-malware-und-zerstoert-daten-als-protest-gegen-den-ukraine-krieg\/\" title=\"NPM-Paket node-ipc enth\u00e4lt Malware und zerst\u00f6rt Daten als Protest gegen den Ukraine-Krieg\">node-ipc<\/a> &#8211; aktiv Schaden verursacht. Dazu z\u00e4hlt augenscheinlich <a href=\"https:\/\/www.pluginvulnerabilities.com\/2022\/02\/28\/update-to-wordpress-plugin-mistape-appears-to-add-malicious-backdoor\/\" title=\"eine Hintert\u00fcr im WordPress Erweiterung namens Mistape\" target=\"_blank\" rel=\"nofollow\">eine Hintert\u00fcr im WordPress Erweiterung namens Mistape<\/a>: Sie meldet die Adresse der eigenen Seite beim Angreifer, der \u00fcber einen speziellen Parameter als Administrator eingeloggt wird. <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/1H3xPB4PgWeFcHjZ7NOPtrcya_Ua4jUolWm-7z9-jSpQ\/htmlview?pru=AAABf7z88MA*ITSp0EBrKinw0LjFWZ9tzQ#\" title=\"Russischen Aufzeichnungen zufolge\" target=\"_blank\" rel=\"nofollow\">Russischen Aufzeichnungen zufolge<\/a> wurde die Schwachstelle daf\u00fcr genutzt, um Nachrichten der Ukraine auf gekaperten Seiten einzubinden.<\/p>\n<p>Belegen l\u00e4sst sich das jedoch nicht. Eben so wenig ist klar, ob diese L\u00fccke gezielt f\u00fcr den Krieg eingebaut wurde. Fakt ist jedoch: Die Hintert\u00fcr wurde vom Entwickler eingebaut. Bisher sind solche destruktiven Angriffe auf Projekte noch relativ selten &#8211; sieht man von Hacks vieler Internetseiten ab, die dann u.a. daf\u00fcr genutzt werden, um dort politische Inhalte zu verbreiten. Diese Art ist am gef\u00e4hrlichsten.<\/p>\n<h3 class=\"wp-block-heading\">4. Unsichtbare<\/h3>\n<p>Mittlerweile gibt es Webseiten, die im Hintergrund versuchen, <a href=\"https:\/\/blog.avast.com\/de\/ddos-hacktivismus-eine-hoch-riskante-praxis\" title=\"DDoS-Angriffe gegen russische Internetseiten zu f\u00fchren\" target=\"_blank\" rel=\"nofollow\">DDoS-Angriffe gegen russische Internetseiten zu f\u00fchren<\/a>. Sp\u00e4ter tauchten einige auf, die sich gegen Ukrainische Seiten wenden. Dies ist nat\u00fcrlich grunds\u00e4tzlich illegal, egal gegen welche Seite. Der beste Schutz gegen solche JavaScript-Schweinereien ist allerdings nicht besonders komfortabel: Per NoScript alle Skripte deaktivieren und nur jene von vertrauensw\u00fcrdigen Seiten erlauben. Dies sch\u00fctzt nebenbei eure Privatsph\u00e4re.<\/p>\n<h2 class=\"wp-block-heading\">Politik in der Software und Entwicklung &#8211; legitim oder NoGo?<\/h2>\n<p>Grunds\u00e4tzlich stellt sich die Frage, ob sich Softwareentwickler mit ihren Projekten \u00fcberhaupt positionieren sollten. Wenn sie es tun, kommt es schnell zu Diskussionen: Die einen sind klar dagegen, andere daf\u00fcr. Und dann wird oft \u00fcber verschiedene inhaltliche Punkte gestritten. Ob man die russische Bev\u00f6lkerung f\u00fcr den Krieg verantwortlich machen kann, die Ukraine eine Mitschuld tr\u00e4gt und vieles mehr.<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-27.png\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"377\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-27.png\" alt=\"\" class=\"wp-image-8862\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-27.png 839w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-27-300x135.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-27-768x345.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/04\/grafik-27-70x31.png 70w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/a><\/figure>\n<p>Die <a href=\"https:\/\/opensource.org\/osd\" title=\"Open Source Definition\" target=\"_blank\" rel=\"nofollow\">Open Source Definition<\/a> verbietet zwar keine politische Positionierung. Allerdings ist in Punkt 5 klar definiert: Quelloffene Software darf keine Personen oder Gruppierungen diskriminieren. Dies scheint durchaus in einigen F\u00e4llen gegeben &#8211; im Extrembeispiel, wenn die Daten von Russen gel\u00f6scht werden.<\/p>\n<p>Schlussendlich r\u00fctteln solche Aktivisten das Bewusstsein daf\u00fcr wach, dass man seine Abh\u00e4ngigkeiten pr\u00fcfen sollte &#8211; letztendlich ist es fremder Code, den man in die eigene Anwendung einbaut. Aber er schadet auch dem Vertrauen in Software generell. Unabh\u00e4ngig davon, welche politischen Ansichten man teilt, muss man sich doch die Frage stellen: Wo f\u00e4ngt das an und wo h\u00f6rt das auf? Wird man bestimmte Programme zuk\u00fcnftig nur nutzen d\u00fcrfen, wenn man politischen Aussagen des Entwicklers zustimmt? Falls nicht, verwandelt sie sich in eine Waffe?<\/p>\n<p>Ich halte das f\u00fcr eine gef\u00e4hrliche Entwicklung. Es ist zwar wichtig, dass sich Entwickler Gedanken dar\u00fcber machen, welche Folgen ihre Arbeit f\u00fcr die Gesellschaft hat. Man denke da beispielsweise an eine Killerdrohne, bei der man durchaus kontrovers hinterfragen kann, ob man sich damit an fragw\u00fcrdigen T\u00f6tungen beteiligt. Selbstjustiz ist allerdings keine L\u00f6sung, auch nicht f\u00fcr Softwareentwickler. <a href=\"https:\/\/blog.opensource.org\/open-source-protestware-harms-open-source\/\" title=\"Dies schadet eher der Gemeinschaft\" target=\"_blank\" rel=\"nofollow\">Dies schadet eher der Gemeinschaft<\/a>, die ohnehin bereits immer wieder von F\u00e4llen wie z.B. gel\u00f6schten Projekten wegen mangelnder Anerkennung\/Entlohnung getr\u00fcbt wird. <\/p>\n<p>Wer den Drang versp\u00fcrt etwas zu tun, kann seine Ressourcen besser in unterst\u00fctzende Ma\u00dfnahmen investieren: Etwa zivile Hilfeleistungen oder Spenden daf\u00fcr.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seit Monaten befindet sich die Ukraine im Krieg. Und das l\u00e4ngst nicht nur analog an den klassischen Waffen, wie ich in einem fr\u00fcheren Beitrag bereits aufzeigte. Doch der Krieg kommt seit einiger Zeit auch zunehmend bei Softwareentwicklern und Projekten an. Solche Software wird oft als Protestware bezeichnet, angelehnt an g\u00e4ngige Lizenzbezeichnungen wie Freeware. Von dort &#8230;<\/p>\n","protected":false},"author":5,"featured_media":9895,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1110,4],"tags":[],"class_list":["post-8855","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gesellschaftliches","category-politik-news"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=8855"}],"version-history":[{"count":8,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8855\/revisions"}],"predecessor-version":[{"id":9917,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8855\/revisions\/9917"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/9895"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=8855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=8855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=8855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}