23. September 2007...20:48

Datenschutzproblem in WordPress 2.3

Zu den Kommentaren

Verschiedene Updates, bitte auf jeden Fall die Nachträge lesen. Ganz wichtiger Hinweis schon hier oben, es gibt Abhilfe gegen das Problem mit einem Plugin. (Dank an meinen Leser Morty.)

Morgen soll sie ja kommen, die Release von WordPress 2.3, die mich jetzt schon im Vorfeld einiges an Schweiß gekostet hat. Viele Blogger, die weniger in ihrem Blog verbastelt haben, werden sicherlich gleich freudig updaten, ich habe sogar im Vorfeld einige erlebt, die sich freudestrahlend und hündisch schwanzwedelnd die Beta 3 auf den Webserver gespielt haben, als ob man nicht genug Probleme hätte.

Es gibt allerdings einen wirklich guten Grund, mit dem Update noch ein wenig zu warten. Dieser gute Grund heißt Datenschutz. Das wäre eigentlich das elfte Ding, dass jeder über WordPress 2.3 wissen sollte.

Ein neues Feature in WP 2.3 wird die automatische Überprüfung der Aktualität aller installierter Plugins sein. Das ist im Prinzip eine gute Idee, da der Blogger gleich sieht, dass sein System nicht auf dem neuesten Stand ist, dass er Plugins hat, die eventuell fehlerhaft oder gar ein Sicherheitsrisiko sind. Ich habe nichts gegen dieses Feature, ich finde sogar, dass es noch nicht weit genug geht und um eine bequeme Update-Möglichkeit direkt aus dem Internet heraus ergänzt werden sollte. Aber ich habe etwas gegen die Implementation dieses Features.

Die folgenden Angaben beziehen sich auf den kürzlich veröffentlichten RC1 von WordPress 2.3, da ich natürlich nicht den Quelltext der Release vorliegen habe.

Bei der Überprüfung der Plugins werden die folgenden Daten automatisch und ohne Kenntnis des Anwenders an api.wordpress.org übertragen — ich hoffe, dass gleich bei vielen Bloggern ein paar Alarmglocken klingeln:

Die Versionsnummer der WordPress-Installation
Okay, das kann man so machen. Schließlich läuft ein neues Plugin eventuell nicht mit einer älteren Version von WordPress, und das könnte man in der Anzeige berücksichtigen.

Alle installierten Plugins einschließlich Versionsnummer
Diese Information ist für den Update-Hinweis erforderlich.

Die Information, welche von diesen Plugins aktiviert sind
Warum diese Information überhaupt benötigt werden sollte, ist mir ein Rätsel. Wenn man lediglich auf Updates für aktive Plugins hinweisen möchte, ist mir auch nach längerem Nachdenken nicht klar, wofür eine Liste aller Plugins benötigt wird. Will man jedoch auch für deaktivierte Plugin auf mögliche Updates hinweisen, so ist die Übermittlung dieser Zusatzinformation nicht sinnvoll, sie dient offenbar nur für Auswertungen auf Seiten von wordpress.org, über deren Natur und Umfang der Blogger jedoch im Unklaren gelassen wird.

Als wenn das noch nicht schlimm genug wäre, kommt noch Eines hinzu:

Die URL, unter der das Blog im Internet erreichbar ist
Diese Information wird im HTTP-Header der Datenübertragung übermittelt. Sie hat überhaupt keinen Bezug zur Funktion der Plugin-Überprüfung. Sie ist aber insofern ausgesprochen gefährlich, als dass hier Informationen über Blogs mit potenziell angreifbaren Komponenten mit einer URL der möglicherweise angreifbaren Installation zusammen übermittelt wird, und zwar völlig ohne sachlichen Grund.

Es ist völlig unklar, ob diese Informationen irgendwo gespeichert werden. Klar ist nur, dass hier ein wesentlicher Grundsatz des Datenschutzes, nämlich die Vermeidung überflüssiger Datenübertragung und Datenhaltung, einfach ignoriert wird.

Wenn diese Informationen nur übertragen werden, ist das schon schlimm. Die Übertragung geschieht unverschlüsselt über HTTP, jeder Rechner auf der Route kann im Prinzip alle diese Daten lesen und irgendwo speichern, um daraus eine Liste angreifbarer Systeme zu erstellen. Selbst die Angriffe ließen sich bequem automatisieren, wenn jemand mit bösem Willen an einer geeigneten Position im Informationsstrom säße. Bei solchen Erwägungen muss man sich immer vor Augen halten, dass diese Person auch ein krimineller Eindringling sein könnte — je mehr sich das Ziel eines Angriffes auf einen bestimmten Rechner im Internet lohnt, desto größer wird der Ehrgeiz derer, die sich daran versuchen werden.

Sollten diese Informationen auch noch bei wordpress.org gespeichert werden, denn würde diese Situation noch viel schlimmer. Es würde ein Rechner im Internet entstehen (und ein Rechner am Internet ist immer ein “Opferrechner”, der allen nur denkbaren Angriffen ausgesetzt ist), auf dem sich detaillierte Daten über angreifbare Blogs ansammeln. Ein solcher Rechner wäre für kriminelle Angreifer — etwa für die Spam-Mafia — ausgesprochen attraktiv, von daher ist von großen Anstrengungen auszugehen.

Leider gibt es kein gutes Mittel gegen diese Datenschutzproblematik in WordPress 2.3, man kann diesen Automatismus zum Beispiel nicht durch ein Plugin abstellen. (Jedenfalls nicht nach meiner ersten Durchsicht der Quelltexte). Das einzige, was einem bleibt, um dieses Problem zu vermeiden, ist die direkte Bearbeitung der Quelltexte, bevor die neue Version installiert wird.

Im RC1 der Version 2.3 befindet sich die fraglichste Stelle in der Zeile 81 der Datei wp-admin/include/update.php, hier wird die URL des Blogs zum Bestandteil des HTTP-Headers gemacht. (In der Release muss man die Zeile in der Datei einfach mit Hilfe des Editors suchen.) Im RC1 sieht diese Zeile so aus:

$http_request .= 'User-Agent: WordPress/' . $wp_version . '; ' . get_bloginfo('url') . "\r\n";

Der Funktionsaufruf get_bloginfo(‘url’) liefert die URL der WordPress-Installation. Wer dieses Problem für sein eigenes Blog vermeiden will, sollte hier keine Hemmungen haben, eine andere URL anzugeben. Und zwar am besten eine, die auch klar zum Ausdruck bringt, was man von dieser Beglückungsidee in der neuen WordPress-Version hält. Das könnte denn etwa so aussehen:

$http_request .= 'User-Agent: WordPress/' . $wp_version . '; http://www.privacy.org/' . "\r\n";

Das ist natürlich nur ein Vorschlag für die Modifikaition dieser Zeile. Wer eine bessere Site kennt, die durch den bloßen Verweis für einen englischen Leser klar zum Ausdruck bringt, was man von solchen versteckten, automatischen “Features” hält, der soll sie gern verwenden.

Ich würde niemandem empfehlen, bei solchen überflüssigen Datenübertragungen und möglicherweise auch unnötigen Datenspeicherungen tatenlos zuzuschauen.

Nachtrag: Eine sehr viel bessere (aber auch aufwändigere) Lösung, wie man wordpress.org gegenüber die eigene URL verschweigt, findet sich bei Schnurpsel. Der Vorteil dieser Lösung ist, das sie keine Eingriffe in den offiziellen Code benötigt. Stattdessen muss man jedoch die my-hacks.php verwenden. Wer ernsthaft darüber nachdenkt, aber nur wenig technisches Verständnis hat, sollte sich an anderer Stelle darüber schlau lesen — es ginge wirklich zu weit, diese alte Erweiterungsschnittstelle an dieser Stelle zu erläutern.

Weiterer Nachtrag: Es gibt ein Plugin, mit dessen Hilfe der komplette Versionschecker für die Plugins abgeschlatet werden kann. Leider schaltet dieses Plugin etwas zu viel ab. Das Feature ist und bleibt ja an sich sinnvoll, nur die Übermittlung von kritischen Installationsdaten zusammen mit der URL, unter der diese Installation im Internet für Angreifer zur Verfügung steht, die ist sinnlos. Es handelt sich keineswegs um eine vernünftige Abhilfe, diese müsste im WordPress-Kern eingebaut werden. Vielleicht ist ein solches Plugin aber dennoch für einige Blogger einfacher zu verwenden als die sonstigen Hinweise, wie man in den Quelltext eingreifen muss, um die Übermittlung seiner Blog-URL zusammen mit einem Haufen Daten, die für einen Angreifer hochinteressant sind, zu unterbinden. Allerdings muss sich jeder, der dieses Plugin verwendet darüber bewusst sein, dass er in eingener Verantwortung regelmäßig nach aktuelleren Versionen seiner Plugins schauen muss — das wäre nicht nötig und könnte die Arbeit eines Computers bleiben, wenn die WordPress-Entwickler die elementaren Grundlagen des Datenschutzes berücksichtigen würden. Schade, dass sie es nicht tun (oder nicht tun wollen).

Nachtrag Drei: Il Filosofo hat ein Plugin geschrieben, dass die Update-Prüfung implementiert, ohne dass es zur Übertragung des Domainnamen kommt. Ich habe es noch nicht ausprobiert, aber wenn es die Schnüffelfunktion in WP 2.3 angemessen ersetzt, kann es ein gangbarer Weg sein. Wer nicht damit einverstanden ist, dass ohne sachlichen Grund Daten über seine Installation gesammelt werden, der sollte einmal einen Blick darauf werfen.

A note to native english speakers reading this german post: You are allowed by my license to copy and to translate this text into your language and to publish it on your own webspace, as long as you do not sue me. ;) From my point of view, it is an important problem that people need to know about. So, if you can, please spread the word!

76 Kommentare

  • [...] Eintrag bei fefe brachte mich zum Artikel »Datenschutzproblem in WordPress 2.3« auf [...]

  • [...] die my-hacks.php installiert, um den Datenschutz zu gewährleisten. Wie man zum Beispiel hier lesen kann, hat WordPress 2.3 nämlich ein richtig großes Problem mit dem Datenschutz, [...]

  • Es gibt jetzt ein Plugin das hilft:
    http://www.ilfilosofo.com/blog/tinfoil-hat/
    @NAchtwächter: Wäre super, wenn du das im Beitrag verlinkst.

  • [...] aus diesem Grund update ich auch nicht auf die aktuelle WordPress Version 2.3. Ein interessanter Beitrag mit einigen [...]

  • 9 WordPress Alternatives

    much more with demos for front- and backend

    have fun !

    q:D

  • [...] einer beliebten blog-software die versionsnummer 2.3 trägt und am 23. september 2007 für künstliche aufgeregtheit in jenen künstlichen welten sorgt, die die menschen jetzt als ihre richtigen welten empfinden [...]

  • [...] Querelen zu verhindern, die sich WordPress neuerdings selbst gönnt, nachzulesen beim Herrn Nachtwächter. Zum Anderen ist der nächste Schritt das Importieren der alten Tags.Also, anschnallen!   [...]

  • [...] Datenschutzproblem in WordPress 2.3 [...]

  • [...] Mehr über diese Schnüffelnummer und wie man sich dagegen wehren kann, weis der Nachtwächter. Weitere Probleme habe ich mit den neuen Canonical URL Redirect die hinter einem Loadbalancer zu [...]

  • [...] Lumières Dans La Nuit – Datenschutzproblem in WordPress 2.3 [...]

  • [...] ein integriertes Plugin namens LinkLift (welches nur im DE-Paket enthalten ist) und zum Anderen die neue Updateüberprüfung (für Hintergrundinfos Links anklicken; Insider sollten wissen worum´s geht). Natürlich [...]

  • [...] der ganzen Welt zu präsentieren. Kann aber jeder halten wie er oder sie will. tamagothi.de schlägt eine einfache, aber wirkungsvolle Methode vor, wie man die Übermittlung seiner [...]

  • WordPress 2.3 und wordpress-deutschland.org in der Kritik…

    Schon vor einigen Tagen ist die neue WordPress-Version 2.3 erschienen und natürlich gibt es von wordpress-deutschland.org auch wieder eine deutschsprachige Ausgabe.
    Noch läuft WP 2.3 hier nicht im Pottblog aber bemerkenswert finde ich zwei As…

  • [...] und dann die ganze Aufregung darüber, dass WP nun nach Hause telefoniert, um darüber zu informieren, ob es Aktualisierungen für eingesetzte Plugins oder WP selbst [...]

  • [...] ich oben als letzten Punkt in der Liste genannt habe, findet sich neben anderen Vorschlägen auch hier. Man ersetzt also in der Datei wp-admin/include/update.php die vorhandene [...]

  • [...] Die neue Updatefunktion von WordPress 2.3 hat angeblich ein Datenschutzproblem, da beim prüfen auf Updates von WordPress und den Plugins mehr Daten an WordPress übertragen werden, als eigentlich nötig. [...]

  • [...] Also die Versionsnummer und die Plugins mit Versionsnummer und Status find ich ja noch ok, aber die HTTP-URL find ich etwas dreist! So kann nämlich ermittelt werden ob mein Blog zum Beispiel sicher oder unsicher ist. Natürlich müssen die Daten dann auch irgendwo gespeichert werden und irgendjemand muss das dann ja auch auslesen können. Natürlich kann man die Funktion auch etwas modifizieren, wie das funktioniert findet ihr hier [...]

  • [...] nicht erforderlich ist (z.B. Blog-URL und Versionsnummern nicht aktivierter Plugins; siehe auch http://www.tamagothi.de) – und das alles, ohne dass der jeweilige Blogbetreiber je das “Herausposaunen” dieser [...]

  • [...] handelt, setzen die Entwickler in der letzten Zeit völlig falsche Schwerpunkte, treffen oft fragwürdige Entscheidungen und achten dabei nicht mehr darauf, dass den Menschen eine kleine, leicht benutzbare und [...]

  • @ Nachtwächter

    falls du noch auf der suche von einer alternativen blog-software bist, dann hab ich hie nen tipp:
    Life Type
    Bietet alles was das bloggerherz begehrt. wie zb. trackbacks, xml-rpc, spamschutz u.v.m.
    hier gibts ne demo installation:
    Life Type Demo

    greetz

  • 5 Gründe, warum ich nicht mit WordPress blogge…

    Olaf von WordPress Deutschland fragt nach fünf guten Gründen, warum man mit WordPress bloggt. Ein paar hundert Antworten dazu sind schon eingetroffen. Ich mach jetzt mal das Gegenteil.

    Hier sind meine fünf guten Gründe, warum ich nicht mit Word…

  • [...] Admin-Frontend in einer Weise verschandelt wird, die die jetzt bestehende Stärke vernichtet, ob das System nach Hause telefoniert oder ob unter einem unnötigen, selbst geschaffenen Zeitdruck sogar Versionen veröffentlicht [...]

  • [...] für die Version 2.3 auch noch um ein »Feature« ergänzt wurde, welches ein völlig unnötiges Datenschutzproblem in WordPress einführte. Zu allem Überfluss haben sich die WordPress-Entwickler freiwillig unter einen unangemessenen [...]

  • Naja, Privacy ist zwar gut und schön und die Pluginliste wird auch unnötig durchs Web übertragen, aber dennoch würde ich jetzt keinen so rießigen Aufstand wegen dem Datenschutz machen ;)

    Von Wegen »die Spam-Mafia wird alles an dransetzen, den Server zu hacken«, dieses Statement zieht den ganzen Artikel ins lächerliche :o )

  • Zu Rhetorik (74):

    Von Wegen »die Spam-Mafia wird alles an dransetzen, den Server zu hacken«, dieses Statement zieht den ganzen Artikel ins lächerliche :o )

    Spam ist keineswegs ein Spielzeug pubertierender Jugendlicher, sondern eine kriminelle “Industrie” mit Umsätzen im Milliardenbereich. In diesem Umfeld erscheint eine gezielte Attacke mehr als nur denkbar. Ich weiß nicht, ob es Dir schon aufgefallen ist, dass zurzeit tausende von WordPress-Blogs so gezielt gecrackt werden, dass die Spam nicht mehr in den Kommentaren, sondern in den regulären Beiträgen erscheint. Dieses Problem betrifft auch die aktuellen Versionen von WordPress, und die Angriffe scheinen sich auf mehrere Schwachpunkte gleichzeitig zu richten. Im Moment ist noch völlig unklar, wie diese Angriffe durchgeführt werden. Vor diesem Szenario erscheint es mir geradezu profetisch, wie ich “den ganzen Artikel ins lächerliche” gezogen habe — nur, dass den Betroffenen das Lachen gerade gründlich vergeht.

    Mit Spam und mit Reklame wird nicht gespielt.

  • Es muß nicht immer WordPress sein, es gibt auch andere z.b sehr guter blog.


Einen Kommentar hinterlassen