Zum Inhalt springen

Address Space Layout Randomization

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. März 2012 um 20:52 Uhr durch Nameless23 (Diskussion | Beiträge) (Speicherverwürfelung (Quelle: http://www.secupedia.info/wiki/ASLR)). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Address Space Layout Randomization (ASLR; auf Deutsch in etwa Zufallsgestaltung des Adressraum-Aufbaus, kurz Speicherverwürfelung) ist eine Technik, die die Ausnutzung von Sicherheitslücken in Computersystemen erschwert. ASLR vergibt den Programmen zufällig die Adressbereiche, somit ist das System praktisch nicht mehr deterministisch. Dies soll Angriffe durch Pufferüberlauf verhindern.

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.

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 10.5 eingeführt. Allerdings unterscheidet sich die Implementierung in Vista und Mac OS X 10.5 voneinander. Während in Vista ASLR komplett implementiert ist, wird bei Mac OS X 10.5 nur die Bibliothek geschützt.[1] Mit der Einführung von Mac OS X 10.7 Lion wurde ASLR komplett implementiert. Der offizielle Linux-Kernel bietet seit der Version 2.6.12 eine (unvollständige) ASLR-Implementierung, jedoch kann mit PaX oder Exec Shield eine weiterreichende Unterstützung verwendet werden. Mit dem Update auf iOS 4.3 findet die ASLR-Technik erstmalig auch auf einem Betriebssystem für Mobilgeräte Anwendung. Die Implementierung in dem mobilen Internetbrowser 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[2]. Android in der Version 4.0 (Ice Cream Sandwich) enthält ebenfalls eine (unvollständige) ASLR-Implementierung[3].

Umgehung via Spraying

ASLR lässt sich durch sogenanntes Spraying umgehen. Dabei wird der Schadcode über hunderte Megabyte im Speicher dupliziert (großflächiges "Sprayen"). Dadurch steigt die Wahrscheinlichkeit, dass trotzdem (irgendwann) ein Bibliotheksaufruf Schadcode ausführt.[4]

Einzelnachweise

  1. Siehe http://www.laconicsecurity.com/aslr-leopard-versus-vista.html
  2. http://www.macnews.de/iphone/ios-4-3-sicherheitslucke-erfordert-update-158144
  3. http://www.heise.de/security/artikel/Adressverwuerfelung-fuer-Android-4-1440459.html
  4. http://www.heise.de/newsticker/meldung/Die-Rueckkehr-der-Pufferueberlaeufe-194416.html