Angreifer könnten Source Code trojanisieren, der trotzdem legitim aussieht

Aufgrund von Schwachstellen im Unicode-Standard könnten Angreifer etwa Hintertüren in Quellcodes unterbringen, die Sicherheitsforschern nicht auffallen.

In Pocket speichern vorlesen Druckansicht 50 Kommentare lesen
Cyber,Hacker,Attack,Background,,Skull,Vector

(Bild: Titima Ongkantong/Shutterstock.com)

Lesezeit: 2 Min.

Angreifer könnten mit einer bestimmten Taktik theoretisch beliebigen Source Code mit Schadfunktionen ausstatten, ohne, dass eine Untersuchung des Codes durch Sicherheitsforscher Auffälligkeiten zutage fördert. Wird der Quellcode dann kompiliert und ausgeführt, könnten sich Angreifer beispielsweise mit Hintertüren auf Computern einnisten. Davon soll im Grunde jede Programmiersprache betroffen sein.

Davor warnen Sicherheitsforscher der University of Cambridge und University of Edinburgh im ausführlichen Bericht "Trojan Source Invisible Vulnerabilities". Kern des Problems ist der Unicode-Standard in Verbindung mit dem Bidi-Algorithmus. Unicode bildet Schriftzeichen und Textelemente aller bekannten Schriftkulturen und Zeichensysteme ab. Die Funktion Bidi override stellt sicher, dass Sprachen wie Deutsch (von links nach rechts gelesen) und Arabisch (von rechts nach links gelesen) korrekt dargestellt werden.

Genau hier könnte ein Angreifer ansetzen und bestimmte Zeichengruppen, etwa in auskommentierten Abschnitten, in bösartiger Absicht umarrangieren. Auch der Einsatz von ähnlich oder gleich aussehenden Schriftzeichen (Homoglyph) zur Code-Manipulation ist vorstellbar.

Ist das gut gemacht, sieht der Quellcode für einen menschlichen Betrachter harmlos aus. Bei der Kompilierung, die trotz der Manipulation funktionieren soll, kommt jedoch am Ende ein Programm mit Schadfunktionen heraus. Bislang wurden die Schwachstellen (CVE-2021-42574, CVE-2021-42694) noch mit keinem Bedrohungsgrad versehen.

Geschieht das bei großflächig eingesetzter Open-Source-Software, die wiederum als Baustein anderer Software zum Einsatz kommt, könnte das weitreichende Folgen haben. So würden Entwickler unwissend die Schadfunktionen in Forks von Softwares via Copy-and-paste weiterverbreiten. Das ist besonders heikel für Großprojekte wie Linux, wo im Grunde jedermann Code einreichen kann.

Die Sicherheitsforscher geben an, bislang keine Attacken dieser Art dokumentiert zu haben. Sie versichern, die Veröffentlichung mit Details zu Attacken 99 Tage zurückgehalten zu haben, damit Entwickler Sicherheitsupdates für ihre Programmiersprachen bereitstellen können.

Die Patch-Welle hat bereits begonnen und etwa die Programmiersprache Rust ist einer Meldung zufolge in der Version 1.56.1 gegen Trojan-Source-Attacken abgesichert. Die Sicherheitsforscher erwarten, dass Plattformen wie Github zeitnah reagieren und Code in Programmiersprachen ohne Bidi-Schutz erkennen und Warnungen aussprechen.

(des)