- Marnems Sicht der Dinge - http://www.marnem.de/blog -

Blogs, Sicherheitslücken und Verantwortung

Wie ich gerade bei BlogSecurity [1] lesen musste, wurde gestern Nachmittag das Blog SvenKubiak.de [2] „defaced“, d.h. gehackt und die Startseite durch eine andere ersetzt. Die Ursache fand sich in einer veralteten Version des MyGallery-Plugins.

Software ist fehlerhaft. Punkt. Immer und zu jeder Zeit, den Software wird von Menschen erdacht und erschaffen und so fehlerhaft wie der Mensch so fehlerhaft ist auch Software, im Schnitt bedeutet das 2 Fehler je 1000 Zeilen Programmiercode.
Nun gibt es vielerlei verschiedene Fehler in Software. Manche Fehler treten nie auf, denn die Stelle an der der Fehler gemacht wurde, wird nicht erreicht (zB weil die Stelle nur im Fehlerfall erreicht wird), manche Fehler haben nur kosmetische Auswirkungen (Fehler in der Benutzeroberfläche oder allgemein in der Ausgabe), manche Fehler führen zum Absturz der Software. Manche Fehler aber sorgen für von außen angreifbare Sicherheitslücken, so wie in diesem Falle.

Programmierfehler sind immer ärgerlich, sowohl für den Software-Entwickler als auch für den Nutzer der Software, denn für beide bedeuten Programmierfehler Arbeit. Der Software-Entwickler steht nun vor der Aufgabe, den Programmierfehler zu beheben und dabei möglichst keine neuen Sicherheitslücken aufzureißen. Der Software-Nutzer hingegen steht nun in der Pflicht, dafür sorge zu tragen, dass er möglichst immer die aktuellste Version der Software vorliegen hat.

Software-Anwender haben üblicherweise das alleinige Interesse die Software anzuwenden. Sie wollen sich nicht um Programmierfehler und Software-Wartung kümmern, denn schließlich haben sie ja für die Software bezahlt und sich die Mühe gemacht, das Software-Produkt zu installieren und sich einzuarbeiten. Hier liegt ein gewaltiger Denkfehler.
Jedem Autofahrer ist bewusst, dass er sich um die Pflege und Wartung seines Autos kümmern muss. Das Auto muss gewaschen werden, der Öl-Druck überprüft und defekte Teile ausgewechselt werden. Tut er das nicht, kann das zu teuren Reparaturen und zum stehen bleiben des Fahrzeugs führen.
Bei Software ist dies kaum anders. Zwar gibt es keine Verschleißteile, die regelmäßig gewechselt werden müssen, allerdings ist regelmäßiges putzen (Festplatte aufräumen, nach Viren scannen, Backups anfertigen) und regelmäßige Wartung (va das überprüfen ob neue Versionen vorliegen) nötig, da es sonst zu Rucklern, Abstürzen oder Datenverlust kommen kann.
Dies nenne ich die Verantwortung gegenüber dem Eigentum.

Programmierfehler auf öffentlich zugänglichen Geräten, wozu auf ein Blog gehört, können aber zu deutlich schlimmeren Folgen, als nur zu Rechnerabstürzen führen. Wenn zB die Steuerung einer Ampel versagt und alle Ampeln gleichzeitig auf Grün springen, ist sogar Leib und Leben in Gefahr. Ganz so dicke kann es für Blogger dann doch nicht kommen. Im Idealfall wird eine Sicherheitslücke entdeckt und der Fehler behoben, noch bevor die Sicherheitslücke ausgenutzt wurde, im schlimmsten Fall kann aber der Webserver auf dem das Blog liegt gekapert werden und über ihn strafrechtlich relevante Daten verbreitet, die zu gehörigen Problemen für den Blogger führen können.

Was ist nun zu tun?

  1. Überlegen einer Backuplösung für das Blog, damit die Daten im Blog nicht verloren gehen können. Ich verwende das WordPress Database Backup Plugin [3] um die Datenbank mit den Artikeln und Kommentaren regelmäßig (einmal am Tag) zu sichern. Desweiteren habe ich alle Dateien, die auf dem Webserver liegen, bei mir lokal gespeichert.
  2. Aktivieren des WordPress Update Monitor Plugins [3], dass anzeigt, wenn eine neue WordPress-Version erschienen ist, darum ein Update erforderlich ist und dieses Update zeitnah durchführen.
  3. Überprüfung des Blogs durch den WP-Scanner von BlogSecurity [4]. Dieser testet sowohl die Plugins, als auch das verwendete WordPress Theme auf Sicherheitslücken. Die entsprechenden Updates sollten installiert werden.
  4. Überprüfen jedes einzelnen installierten Plugins, ob es eine neue Version gibt und gegebenenfalls das Installieren dieser neuen Version.
  5. Ausarbeitung eines Wartungsplans für das Blog. In meinem Fall bedeutet das, dass ich täglich die WordPress-Datenbank und bei jeder Veränderung der Dateien diese auf meinem Rechner sichere. Desweiteren lege ich vor jedem WordPress-Update eine zusätzliche Komplettsicherung aller Dateien und der Datenbank an. Bei jedem WordPress-Update überprüfe ich JEDES Plugin, ob eine neue Version vorliegt.
  6. Überprüfen des Webservers, denn natürlich kann und wird auch dieser Sicherheitslücken haben. Wenn man nicht gerade selbst Administrators seines eigenen Servers ist, bleibt einem hier nur das Anmahnen von Updates beim Hoster (va Datenbank, PHP-Version, Webserver und Betriebssystem seien hier genannt).

Hat man diese sechs Schritte durchgeführt und hält sich an seinen Wartungsplan, so kann eigentlich nichts mehr schief gehen. Außer natürlich, die verwendeten Passwörter [5] sind nicht optimal [6]