Trojan Source: Wie Schadcode vor Security-Audits versteckt wird

Die Security-Szene diskutiert derzeit eine potenzielle Schwachstelle, mit der sich Schadcode unerkannt in alle möglichen Software-Projekte einschleusen lässt. Beunruhigend ist dabei vor allem, dass Code-Prüfungen kaum weiterhelfen.
Hacker, Security, Hack, Entwickler, Entwicklung, Exploit, Cybersecurity, Hacking, Code, Programmierung, Quellcode, Programmierer, Developer, Sdk, Programmieren, Sourcecode, Dev, Cyber, Coder, Development, Coding, Binärcode, Binär
Für gewöhnlich gilt es als Goldstandard in der Software-Entwicklung, wenn Quellcode im Rahmen eines Audits geprüft wird. Das Problem, auf das Forscher der University of Cambridge nun aber hinwiesen, liegt darin, dass die Prüfer den Schadcode in verschiedensten Tools schlicht nicht sehen können. Sie bezeichnen die Sache daher als "Trojan Source"-Schwachstelle.

Das Problem liegt hier also darin, dass der menschliche Betrachter anderen Code sieht als der Compiler, der diesen dann in den maschinenlesbaren Binär-Code übersetzt. So können unerkannt schädliche Trojaner-Funktionen in ein Programm eingebettet werden. Dies ist im Grunde eine hervorragende Möglichkeit, so genannte Supply-Chain-Angriffe zu organisieren, bei denen Backdoors und andere Malwares nicht erst nachträglich per Exploit eingeschleust werden müssen, sondern von Beginn an vorhanden sind.

Ich sehe was, was du nicht siehst

Verursacht wird die Sache durch eine Unicode-Eigenart. Der Zeichencode wurde entwickelt, damit endlich sämtliche Zeichen aller Sprachen der Welt in einem einheitlichen System nutzbar werden. Entsprechend mussten auch Steuerungs-Codes für die Textrichtung integriert werden - damit man beispielsweise in einem deutschsprachigen Dokument, in dem der Text von links nach rechts geschrieben ist, auch mal ein arabisches Zitat mit umgekehrter Fließrichtung unterbringen kann. Da der menschliche Leser dies nicht ohne Weiteres erkennt, könnte er beispielsweise annehmen, dass irgendwelche Zeichenfolgen zum Kommentar gehören, und sie ignorieren. Für den Compiler handelt es sich hier hingegen um Bestandteile des regulären Codes.

Als Workaround sollten Sicherheits-Experten, die mit einem Audit beauftragt sind, oder auch Entwickler, die den Code von Kollegen prüfen, darauf achten, lieber mal einen älteren Code-Editor zu verwenden, der bei der Interpretation von Unicode noch nicht alle Feinheiten beachtet. Längerfristig dürfte es aber sinnvoll sein, wenn die Entwickler von Compilern das Problem berücksichtigen und das Übersetzungs-Tool Warnungen ausgibt, wenn die fraglichen Steuerungs-Codes in einem Quellcode vorkommen.

Siehe auch:

Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Jetzt als Amazon Blitzangebot
Ab 10:55 Uhr [65W USB C] Koosla 12 Fach Steckdosenleiste Überspannungsschutz[65W USB C] Koosla 12 Fach Steckdosenleiste Überspannungsschutz
Original Amazon-Preis
65,98
Im Preisvergleich ab
65,99
Blitzangebot-Preis
56,09
Ersparnis zu Amazon 15% oder 9,89
Im WinFuture Preisvergleich
Tipp einsenden
❤ WinFuture unterstützen
Sie wollen online einkaufen? Dann nutzen Sie bitte einen der folgenden Links, um WinFuture zu unterstützen: Vielen Dank!