Address Space Layout Randomization
Address Space Layout Randomization (ASLR) - Speicherverwürfelung
Beschreibung
- Address Space Layout Randomization (ASLR)
- Zufallsgestaltung des Adressraum-Aufbaus
- Speicherverwürfelung
- Adressverwürfelung
- Technik, die die Ausnutzung von Sicherheitslücken in Computersystemen erschwert
- Durch ASLR werden Adressbereiche den Programmen auf zufälliger Basis zugewiesen, wodurch die Zuweisung der Adressbereiche eines Programms praktisch nicht mehr vorhersagbar ist
- Dies soll Angriffe durch Pufferüberlauf erschweren
- Mit Heap-Spraying existiert eine Angriffstechnik, die die Erfolgswahrscheinlichkeit des Angriffs trotz der Nutzung von ASLR erhöhen kann
ASLR bezieht sich auf den EBP und Libraries sowie das Heap-, das Text-, das Data- und das BSS-Segment, wobei letztere nicht bei allen ASLR-Lösungen randomisiert werden
Desktop-Betriebssysteme
Die ASLR-Technik fand erstmals in dem Betriebssystem OpenBSD Verwendung und wurde mit Erscheinen von Windows Vista auch von Microsoft eingeführt, außerdem wurde sie von Apple in Mac OS X Leopard eingeführt
- Allerdings unterscheidet sich die Implementierung in Vista und Mac OS X Leopard voneinander
- Während in Vista ASLR im gesamten System implementiert ist, wird bei Mac OS X Leopard nur die Bibliothek geschützt. Mit der Einführung von Mac OS X Lion wurde ASLR komplett implementiert
Der offizielle Linux-Kernel bietet ab der Version 2.6.12 (Juni 2005) eine unvollständige ASLR-Implementierung
- Mit PaX konnte jedoch schon seit 2001 eine weiterreichende Unterstützung verwendet werden
Seit Kernelversion 3.14 gibt es eine vollständige Implementierung von ASLR Ab Version 4.8 kollidiert die Vorlage:Lang (KASLR) nicht mehr mit der Hibernate-Funktion
Mobile Betriebssysteme
Mit iOS 4.3 fand die ASLR-Technik erstmals auch auf einem Betriebssystem für Mobilgeräte Anwendung
- Die Implementierung in dem mobilen Webbrowser Apple Safari sollte Anwendern Sicherheitsvorteile bringen, führte aber zunächst zu einer Sicherheitslücke
- Dem Hacker Charlie Miller gelang es nur drei Tage nach Erscheinen der Firmware, diese über das ASLR-Einfallstor zu hacken
Android führte in der Version 4.0 (Ice Cream Sandwich) ebenfalls eine unvollständige ASLR-Implementierung ein Ab Version 4.1 (Jelly Bean) verfügt Android über eine vollständige Implementierung
Umgehung via Spraying
ASLR lässt sich durch sogenanntes Vorlage:Lang für 32-Bit-Prozessor umgehen
- Dabei wird der Schadcode über hunderte Megabyte im Speicher dupliziert (großflächiges „Sprayen“)
- Dadurch steigt die Wahrscheinlichkeit, dass trotzdem (irgendwann) Schadcode im Speicher getroffen und ausgeführt wird
Anhang
Siehe auch
Links
Weblinks