Gescheiterter Versuch den Quellcode der Programmiersprache PHP zu kompromittieren

Unbekannte Angreifer versuchten eine Backdoor in den Quellcode der Skriptsprache PHP einzuschleusen.

Unbekannte Cyberverbrecher versuchten vor Kurzem einen Supply-Chain-Großangriff auszuführen, indem sie Schadcode in das offizielle Git-Repository der Skriptsprache PHP einschleusten. Hätten die Entwickler die Backdoor nicht rechtzeitig entdeckt, wäre es den Verbrechern gelungen den Schadcode heimlich auf zahlreichen Webservern zu installieren und das Cyberverbrechen wäre als größter Supply-Chain-Angriff in die Geschichte eingegangen.

Was beim PHP-Projekt passiert ist

Die Programmierer, die die Skriptsprache PHP entwickelt haben, verwenden das Versionskontrollsystem Git, um Veränderungen am Code vorzunehmen. Nach der Implementierung der Änderungen, bzw. Commits wird der Code erneut überprüft. Bei einer Routinekontrolle entdeckte einer der Entwickler einen verdächtigen Commit, der vorgab einen Tippfehler im Quellcode zu beheben. Der Commit wurde unter dem Namen Nikita Popov hochgeladen, der zu den aktiven PHP-Entwicklern gehört. Nach genauerer Untersuchung stellte sich heraus, dass es sich um eine Backdoor handelte. Popov war also nicht der Absender dieses Commits.

Nach weiteren Überprüfungen wurde noch ein Commit gefunden, den angeblich Rasmus Lerdorf in das Repository hochgeladen hatte. Die wachsamen Programmierer stellten dies innerhalb von wenigen Stunden fest und so wurde gewährleistet, dass das Update auf Version 8.1 (das voraussichtlich gegen Ende dieses Jahres veröffentlicht wird) keine Backdoor enthält.

Das Gefährliche an der Code-Änderung

Eine Backdoor im Repository ermöglicht es den Angreifern remote Schadcode auf Webservern einzuschleusen, die die kompromittierte Version von PHP nutzen. Auch wenn PHP etwas an Popularität eingebüßt hat, ist sie immer noch die weitverbreitetste Skriptsprache für Webseiteninhalte und wird aktuell von ca. 80 % aller Webserver verwendet. Auch wenn nicht alle Administratoren ihre Tools umgehend aktualisieren, gibt es doch viele, die darauf achten, dass die Server immer auf dem neusten Stand sind, um interne und externe Sicherheitsbestimmungen einzuhalten. Hätten die Verbrecher es geschafft, die Backdoor erfolgreich unentdeckt in die neue PHP-Version einzuschleusen, hätte das zur Kompromittierung einer großen Anzahl von Unternehmens-Webservern geführt.

So wurde die Backdoor von den Angreifern eingeschleust

Experten sind sich sicher, dass der Angriff auf eine Schwachstelle im internen Git-Server zurückzuführen ist und nichts mit kompromittierten Konten der Entwickler zu tun hat. Tatsächlich ist das Risiko, dass ein Commit jemandem anderen zugeschrieben wird, seit Langem bekannt. Seit diesem Vorfall wird der Server git.php.net nicht mehr vom PHP-Support-Team verwendet und das gesamte Projekt wird zukünftig direkt auf GitHub gehostet (bisher wurden die Git-Repositorys nur gespiegelt).

So können Sie sich schützen

Entwicklungsumgebungen sind attraktive Angriffsziele für Cyberkriminelle. Wenn die Verbrecher es schaffen, den Code von einem Software-Produkt zu kompromittieren, das großes Vertrauen bei den Benutzern genießt, können zahlreiche weitere Ziele über einen Supply-Chain-Angriff mit dem Schadcode infiziert werden. Weitverbreitete Software wird rund um den Globus von Millionen von Benutzern verwendet, daher ist es sehr wichtig diese Menschen vor solchen Angriffen zu schützen.

  • Überprüfen Sie regelmäßig jede einzelne Code-Änderung, einschließlich der Commits die angeblich von eminenten, vertrauenswürdigen Programmierern gemacht wurden.
  • Überwachen Sie die Sicherheit der Server und Services, die für die Entwicklung verwendet werden.
  • Schulen Sie Ihre Mitarbeiter mithilfe von spezialisierten Online-Plattformen, damit sie in der Lage sind moderne Cyberbedrohungen zu erkennen.
Tipps