WordPress 5.2 sichert Auto-Updates durch Signaturprüfung

Ein Drittel aller Webseiten nutzen das beliebte CMS und hätten von Angreifern bisher auf einen Schlag gekapert werden können. Diese Gefahr ist nun gebannt.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
WordPress 5.2 sichert Auto-Updates durch Signaturprüfung

WordPress 5.2 ist nach dem Jazz-Bassisten John Francis Anthony "Jaco" Pastorius III benannt.

Lesezeit: 5 Min.
Von
  • Fabian A. Scherschel

Das von vielen Webseiten eingesetzte Content Management System (CMS) WordPress verteilt wichtige Updates seit Version 3.7 aus dem Jahr 2013 vollautomatisch. Ein Großteil der Nutzer des CMS nutzen diese Funktion, die standardmäßig aktiviert ist, falls die Hosting-Umgebung der WordPress-Installation dies zulässt – was heutzutage bei fast allen Neuinstallationen der Fall sein dürfte. Die Auto-Updates von WordPress werden von Sicherheitsexperten als äußerst positiv bewertet, da sie wenigstens die Kernfunktionen der Software mit aktuellen Sicherheitsupdates auf dem neuesten Stand halten, ohne dass der Nutzer sich darum aktiv kümmern muss.

Allerdings birgt die Funktion auch ein signifikantes Risiko: Gelänge es einem Angreifer, die Kontrolle über die WordPress-Server zu übernehmen, hätte er über die Funktion auf einen Schlag auf Millionen von vielbesuchten Webseiten Schadcode installieren können. Mit dem jetzt erschienenen Update auf Version 5.2 schieben die Entwickler diesem beängstigenden Angriffsszenario einen Riegel vor.

Untersuchungen zufolge laufen mehr als ein Drittel der 10 Millionen meistbesuchtesten Webseiten im Netz auf WordPress. Der Großteil von ihnen wird automatische Updates aktiviert haben. Ein Angreifer, der die Kontrolle über die Update-Server der Entwickler erlangt, hätte also auf einen Schlag Millionen gut besuchte Webseiten unter seine Kontrolle bringen können.

Ein solches Angriffsszenario ist nicht so weit hergeholt, wie man vielleicht erst einmal denken würde. 2017 hatten Hacker auf ähnliche Weise riesigen Schaden für die europäische Wirtschaft verursacht, in dem sie den NotPetya-Trojaner über die Update-Server der ukrainischen Steuersoftware MeDoc verbreiteten. Und bereits 2016 hatte die Sicherheitsfirma Wordfence eine Schwachstelle im Update-Mechanismus des CMS entdeckt und an die WordPress-Entwickler gemeldet, die genauso einen Angriff auf WordPress möglich gemacht hätte.

Eine andere Sicherheitsfirma namens Paragon Initiative arbeitet seit Jahren daran, diese Schwachstelle in WordPress mit Hilfe der CMS-Entwickler zu schließen. In einem zwei Jahre alten Bug-Report der Firma im Bug-Tracker von WordPress heißt es: "Momentan kann ein Angreifer, der api.wordpress.org kompromittiert ein gefälschtes WordPress-Update herausgeben und Zugang zu allen WordPress-Installationen im Internet erhalten, die automatische Updates aktiviert haben. Es ist jetzt zwei Minuten vor zwölf (es war eine Minute vor zwölf, aber dann haben Sicherheitsforscher von Wordfence diese Sicherheitslücke gefunden)." Zwei Jahre nach dem Bug-Report durch die Paragon Initiative haben die WordPress-Entwickler nun deren ursprüngliche Empfehlung umgesetzt und die WordPress-Updates kryptografisch abgesichert.

Ab der jetzt aktuellen Version 5.2 benutzt WordPress sogenannte Offline Digital Signatures, um die Auto-Update-Pakete abzusichern. Dabei bekommt jede WordPress-Installation mit dem Update einen öffentlichen Schlüssel übermittelt, mit dem sie in Zukunft die digital signierten WordPress-Update-Dateien überprüfen kann. Die Dateien werden mit einem geheimen Schlüssel signiert, zu dem nur das Kern-Entwicklerteam von WordPress Zugang hat und der nicht auf den Webservern des Projektes zu finden ist. Das soll verhindern, dass Angreifer, die von außen Zugriff auf die Update-Server bekommen, ihren eigenen Code an WordPress-Nutzer verteilen können. Da sie den geheimen Schlüssel der Entwickler nicht besitzen, können sie mit Zugriff auf die API-Server zwar die von dort verteilten Update-Pakete manipulieren, diese werden aber auf den WordPress-Installationen der Nutzer nicht installiert, da sie nicht korrekt signiert wurden.

Beim ersten Update nach Version 5.2 wird WordPress lediglich eine Warnung an den Administrator der Installation ausgeben (soft fail), falls die Signatur eines Updates nicht korrekt ist. Ab der folgenden Version werden Updates ohne gültige Signaturen dann gar nicht mehr installiert (hard fail). Details zu diesem Vorgang beschreibt die Paragon Initiative in einem ausführlichen Blog-Eintrag zu dem Thema. Als Nebenprodukt der neuen Funktion für die Kernentwickler können nun auch Plug-In-Entwickler die Krypto-Bibliothek sodium_compat benutzen, die ab WordPress 5.2 mitgeliefert wird und auf der Kryptografie-API Sodium aufbaut, die wiederum auf der NaCl-Bibliothek der Krypto-Experten Daniel J. Bernstein und Tanja Lange beruht. Sodium hat mit aktuellen PHP-Versionen die mcrypt-Bibliothek abgelöst, die noch von vielen WordPress-Plug-Ins benutzt wird, aber von ihren eigentlichen Entwicklern vor über zehn Jahren aufgegeben wurde und nicht mehr mit Updates versorgt wird.

Die neuen digitalen Signaturen für WordPress-Updates sind keine bahnbrechende Erfindung und bei anderen Software-Systemen seit Jahren Stand der Technik. Auch schützen sie Webseiten, die das CMS nutzen, freilich nicht gänzlich vor Angriffen über die Server-API der Entwickler. Wenn deren geheimer Schlüssel abhandenkäme, könnte ein Angreifer nach wie vor bösartigen Update-Code in Umlauf bringen. Auch solche Angriffe wurden in der Vergangenheit bei anderer Software schon beobachtet. Die neuen Signaturen sind allerdings ein wichtiger Schritt in die richtige Richtung und erschweren Angriffe auf Nutzer des mit Abstand beliebtesten Web-CMS signifikant. Sie machen es somit viel schwerer, ein Drittel der bekanntesten Webseiten im Netz auf einen Schlag zu kapern. (fab)