ASLR: Speicherrandomisierung mit Javascript umgehen

Mittels eines Cache-Timing-Angriffs gelingt es Forschern, ASLR zu umgehen, einen der wichtigsten Schutzmechanismen gegen Exploits. Das Problem steckt im Hardwaredesign moderner CPUs und lässt sich vermutlich nicht einfach aus der Welt schaffen.

Artikel veröffentlicht am , Hanno Böck
Auf modernen CPUs lässt sich ASLR mittels Javascript umgehen.
Auf modernen CPUs lässt sich ASLR mittels Javascript umgehen. (Bild: Forrestal_PL, Wikimedia Commons/CC-BY-SA 2.0)

Ein wichtiger Mechanismus zum Schutz vor Exploits auf modernen Systemen lässt sich mittels Javascript umgehen. Einem Forscherteam des Instituts VUSec an der Vrije Universiteit Amsterdam ist es gelungen, mittels einer Cache-Timing-Attacke Informationen über das Speicherlayout in Browsern auszulesen. Damit schützt die Speicherrandomisierung (ASLR, Address Space Layout Randomization) nicht mehr effektiv vor Exploits. Der Angriff wird ASLR⊕Cache oder kurz AnC genannt, das zugehörige wissenschaftliche Paper wird auf der NDSS-Konferenz Ende Februar offiziell vorgestellt.

Umgehung von ASLR erfordert oft mehrere Sicherheitslücken

Stellenmarkt
  1. Spezialist*in Supportmanagement (m/w/d)
    Stadtwerke München GmbH, München
  2. Webentwickler (m/w/d)
    Stadtwerke Rosenheim GmbH & Co. KG, Rosenheim
Detailsuche

Viele Memory-Corruption-Exploits basieren auf sogenannten Code-Reuse-Angriffen wie beispielsweise Return-Oriented-Programming. Dabei bringt ein Exploit keinen eigenen Code mit, sondern er nutzt Codeteile des Programms aus und springt zu diesen. Damit das funktioniert, muss der Exploit jedoch wissen, wo im Arbeitsspeicher sich die Codeteile befinden. ASLR soll genau das verhindern: Der Code wird an zufälligen Stellen im Arbeitsspeicher abgelegt.

Um ASLR zu umgehen, benötigen Exploits meist zusätzliche Sicherheitslücken, mit denen sich Informationen über das Speicherlayout extrahieren lassen. ASLR verhindert Angriffe also nicht vollständig, jedoch werden oft statt einer Sicherheitslücke mehrere Lücken miteinander verkettet. Der Aufwand für Exploits steigt deutlich.

Das Problem liegt im Hardwaredesign

Mit dem jetzt vorgestellten Cache-Timing-Angriff gibt es eine generische Möglichkeit, ASLR zu umgehen. Dass es Abhilfe geben wird, ist eher unwahrscheinlich, denn der Angriff basiert auf grundlegenden Eigenschaften moderner CPUs. Zwar könnte man das Cache-Design ändern, um den Angriff zu verhindern, aber das hätte wohl nicht unerhebliche Performanceeinbußen zur Folge.

Golem Akademie
  1. Kubernetes Dive-in-Workshop: virtueller Drei-Tage-Workshop
    19.-21.07.2022, Virtuell
  2. Advanced Python – Fortgeschrittene Programmierthemen: virtueller Drei-Tage-Workshop
    23.-25.01.2023, Virtuell
Weitere IT-Trainings

Die Entdecker des Angriffs machen einige Vorschläge, wie sich das Ausnutzen zumindest erschweren lässt. So können Browserhersteller etwa verhindern, dass Javascript-Applikationen sehr genaue Zeitmessungen durchführen. Auch für die CPU-Hersteller haben sie einige Vorschläge, bei denen man jedoch testen müsste, welche Auswirkungen diese auf die Performance haben.

Völlig nutzlos wird ASLR wohl trotz dieses Angriffs nicht. Einen derartigen Cache-Timing-Angriff zuverlässig zu betreiben, dürfte nicht ganz einfach sein, da verschiedenste CPU-Architekturen und Browser berücksichtigt werden müssen. Auch funktioniert der gesamte Angriff nur, wenn ein Angreifer Code ausführen kann. Im Browser kann davon allgemein ausgegangen werden, da jede Webseite Javascript ausführen kann. In vielen anderen Fällen dürfte ASLR jedoch weiterhin ein sehr mächtiges Werkzeug zur Verhinderung von Exploits bleiben.

Der AnC-Angriff zeigt ähnlich wie der Rowhammer-Angriff einmal mehr, dass die Hardware bei Sicherheitsmechanismen mit berücksichtigt werden muss. Das bringt besondere Herausforderungen mit sich. Während bei Software die Probleme oft mit einem einfachen Update behoben sind, ist das bei Hardware nicht möglich.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


FreiGeistler 18. Feb 2017

Foto und Video geht doch auch ohne Browser ?:-(

RandomCitizen 17. Feb 2017

Gut, für Browser und für Programme, die Skripte/Bytecode ausführen, kann ich verstehen...



Aktuell auf der Startseite von Golem.de
Forschung
Blaualge versorgt Computer sechs Monate mit Strom

Ein Forschungsteam hat einen Mikroprozessor sechs Monate ununterbrochen mit Strom versorgt. Die Algen lieferten sogar bei Dunkelheit.

Forschung: Blaualge versorgt Computer sechs Monate mit Strom
Artikel
  1. EC-Karte: Trotz Kartensperre können Diebe stundenlang Geld abheben
    EC-Karte
    Trotz Kartensperre können Diebe stundenlang Geld abheben

    Eine Sperre der Girocard wird nicht immer sofort aktiv. Verbraucher können sich bereits im Vorfeld schützen.

  2. Swisscom-Chef: Vermasselt habe ich nichts
    Swisscom-Chef
    "Vermasselt habe ich nichts"

    Urs Schaeppi gibt den Chefposten bei Swisscom auf. Sein Rückblick auf neun Jahre Konzernführung fällt ungewöhnlich offen aus.

  3. EV Driver Survey: Elektroautos bei IT-Experten besonders beliebt
    EV Driver Survey
    Elektroautos bei IT-Experten besonders beliebt

    Fahrerlebnis und Technik sind für Fahrer von Elektroautos der größte Zusatznutzen dieser Mobilitätsform. Fast alle würden wieder ein E-Auto kaufen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • LG OLED TV (2021) 77" günstig wie nie: 1.771,60€ statt 4.699€ • Grakas günstig wie nie (u. a. RTX 3080Ti 1.285€) • Samsung SSD 1TB (PS5-komp.) + Heatsink günstig wie nie: 143,99€ • Microsoft Surface günstig wie nie • Jubiläumsdeals MediaMarkt • Bosch Prof. bis 53% günstiger[Werbung]
    •  /