Login
Newsletter
Werbung

Mo, 11. März 2019, 08:09

Software::Entwicklung

LLVM entfernt ShadowCallStack für x86_64

ShadowCallStack, eine Schutzfunktionalität von LLVM vor Stapelüberläufen in Anwendungen, wird aus der x86_64-Architektur entfernt. Als Grund nennt das Team die miserable Geschwindigkeit und sicherheitsrelevante Probleme.

llvm.org

ShadowCallStack ist ein experimenteller Instrumentationsdurchlauf von LLVM, der derzeit für die x86_64- und aarch64-Architekturen implementiert ist. Die Einrichtung schützt Programme vor Überschreiben ihrer Rücksprungadressen, wie sie beispielsweise bei Stapelüberläufen geschehen können. Dazu speichert ShadowCallStack die Rücksprungadresse einer Funktion in einem separat zugewiesenen »Schattenaufruf-Stack« im Funktionsprolog und prüft beim Rücksprung diese zuvor abgelegten Daten ab.

Die Einrichtung soll eine Alternative zu -fstack-protector darstellen und unter anderem über einen besseren Schutz verfügen. Auf aarch64 verwendet die Instrumentierung das Plattformregister x18 und unter x86_64 den gs Segmentregister. Die Nutzung unter der x86-Plattform führt allerdings zu teils drastischen Geschwindigkeitseinbußen, weshalb sie nie standardmäßig eingeschaltet wurde. Je nach Benchmark und Situation betrug die Verlangsamung der Ausführung zwischen 10 und 15 Prozent.

Wie die Entwickler von LLVM nun bekannt gaben, wird ShadowCallStack deshalb wieder aus der modularen Compiler-Architektur entfernt. Laut Aussage von Vlad Tsyrklevich verließ die Funktionalität nie den experimentellen Charakter und hat sich nie wirklich in produktiven Umgebungen etablieren können. Hinzu kommen nun diverse Sicherheitsprobleme, die ShadowCallStack plagen. Laut Tsyrklevich sind die Ungereimtheiten dermaßen problematisch, dass sie seitens der Entwickler auf jeden Fall angegangen werden müssten.

Ende der vergangenen Woche reichte Tsyrklevich deshalb einen Patch ein, der ShadowCallStack für die x86_64-Architektur vollständig aus den aktuellen Quellen von LLVM komplett eliminiert. In aarch64 bleibt die Funktion allerdings weiterhin bestehen und kann dort weiterhin genutzt werden.

Werbung
Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten
Werbung