Joomla! setzt auf TUF und damit auf sichere Core-Updates
Habt Ihr schon einmal die Geschichte der antiken Stadt Troja gehört? Sie hatte schier unüberwindbare Mauern, die Angreifer draußen hielten und die Stadt sicher machten.
Jedoch hatte die Armee der Griechen, die die Stadt angriff, eine geniale Idee: Sie täuschten vor, ihren Angriff zu beenden und nach Hause zu reisen, während sie ein Geschenk für das Volk von Troja zurückließen: ein riesiges hölzernes Pferd. Das Volk von Troja war dankbar für dieses Geschenk und zog das Pferd in die Stadtmauern - ohne zu wissen, dass sich griechische Soldaten in dem Pferd versteckt hatten, die nachts herauskrochen, die Türen für den Rest ihrer Armee öffneten und damit die Stadt dem Untergang weihten.
Was die griechischen Soldaten nicht wussten: Sie wurden damit gewissermaßen zu den Erfindern eines Angriffstyps, der bis heute in IT-Systemen relevant ist.
Supply-Chain-Angriffe
In der IT-Welt wird ein Angriff, der auf das Update-Verfahren einer Software abzielt, "Supply-Chain-Angriff" genannt. Und es ist kein theoretisches Problem, sondern eine reale Bedrohung nicht nur für Desktop-Software, sondern auch für CMS - und in Kombination mit einem Auto-Update-Mechanismus kann es schnell zu einem Albtraum-Szenario werden. 2016 wurde eine Schwachstelle im WordPress-Update-Server entdeckt, die es Angreifern ermöglicht hätte, 27% des bekannten Webs auf einen Schlag zu kompromittieren.
Kryptographie zur Rettung
Die Abwehr eines Supply-Chain-Angriffs erfordert, dass die lokale Software (in diesem Fall: unsere Joomla-Website) in der Lage ist zu validieren, dass die Informationen über verfügbare Updates von einer autorisierten Entität (also dem offiziellen Joomla Projekt) veröffentlicht wurden. Über die auf dem Update-Server bereitgestellten und verifizierten Informationen kann die Software dann letztlich prüfen, dass auch das heruntergeladene Update Paket legitim ist.
Um dies zu tun, verwendet die Software-Industrie die sog. Public/Private-Key-Kryptographie: Ein Entwickler veröffentlicht die Update-Informationen und signiert sie mit seinem privaten Schlüssel. Die lokale Software-Instanz hat eine Kopie des zugehörigen öffentlichen Schlüssels gespeichert, wodurch sie diese Signatur überprüfen kann.
Einführung von TUF
Mit Joomla 5.1 wurde ein solches Update-Verifizierungssystem eingeführt! Es basiert auf "The Update Framework" oder einfach "TUF", einem System, das von der Python-Community entwickelt wurde. Mit TUF ist das Projekt nun in der Lage, die Integrität seiner Update-Informationen zu beweisen und zukünftige Kern-Updates manipulationssicher zu machen.
TUF löst eine Vielzahl verschiedener Probleme und ermöglicht es dem Projekt auch, autorisierte Signaturschlüssel in Zukunft sicher hinzuzufügen und zu entfernen. Es ist eine nachhaltige Lösung für die kommenden Jahre.
Und das Beste daran: Joomla-Benutzer müssen absolut nichts tun, um das neue System zu nutzen! Der TUF-basierte Updater wurde mit Joomla 5.1 sowohl für bestehende als auch für neue Websites eingeführt.
Neue Standards setzen
Joomla ist, soweit wir wissen, das erste und bisher einzige PHP-basierte CMS, das ein solches System in seinem Update-Prozess implementiert. Es zeigt, dass das Projekt seine Vision ernst nimmt: die Entwicklung von Open-Source-Software, die frei, sicher und von hoher Qualität ist.
Der Beitrag basiert auf den Magazine-Artikeln https://magazine.joomla.org/all-issues/june-2022/joomla-tuf-sprint-june-2022 und https://magazine.joomla.org/all-issues/april-2024/tamper-proof-core-updates-for-joomla-tuf-making-it-into-5-1 und der Korrekturschleife durch David Jardin.
Bild von Hans Rohmann auf Pixabay