Adressraumlayout Randomisierung

Adressraumlayout Randomisierung (ASLR) ist ein Computersicherheit Technik, die zur Verhinderung beteiligt ist Ausbeutung von Speicherbeschäftigung Schwachstellen. Um zu verhindern, dass ein Angreifer beispielsweise zuverlässig zu einer bestimmten ausgebeuteten Funktion im Speicher springt, ordnen ASLR zufällig die Adressraum Positionen der wichtigsten Datenbereiche von a Prozess, einschließlich der Basis der ausführbar und die Positionen der Stapel, Haufen und Bibliotheken.

Geschichte

Der Linux Pax Projekt prägte zuerst den Begriff "ASLR" und veröffentlichte das erste Design und Implementierung von ASLR im Juli 2001 als Patch für die Linux Kernel. Es wird als vollständige Implementierung angesehen und bietet seit Oktober 2002 auch einen Patch für die Randomisierung des Kernel -Stacks.[1]

Das erste Mainstream -Betriebssystem, das standardmäßig ASLR unterstützt OpenBSD Ausführung 3.4 in 2003,[2][3] gefolgt von Linux im Jahr 2005.

Vorteile

Die Randomisierung von Angaben behindert einige Arten von Sicherheitsangriffen, indem es einem Angreifer schwieriger wird, Zieladressen vorherzusagen. Zum Beispiel Angreifer versuchen auszuführen Return-to-libc-Angriffe Muss den zu ausgeführten Code lokalisieren, während andere Angreifer versuchen, auszuführen Shellcode In den Stapel injiziert werden zuerst den Stapel finden. In beiden Fällen verdeckt das System die verwandten Speicheradresses von den Angreifern. Diese Werte müssen erraten werden, und eine falsche Vermutung ist normalerweise nicht wiederhergestellt, da der Anwendung stürzt.

Wirksamkeit

Die Randomisierung des Adressraumlayouts basiert auf der geringen Wahrscheinlichkeit eines Angreifers, der die Orte von zufällig platzierten Bereichen erraten. Die Sicherheit wird durch Erhöhen des Suchraums erhöht. Daher ist die Randomisierung von Adressraum, wenn mehr effektiver ist, effektiver Entropie ist in den zufälligen Offsets vorhanden. Die Entropie wird erhöht, indem die Menge an erhöht wird virtueller Speicher Flächenraum, über den die Randomisierung auftritt oder die Periode reduziert, über die die Randomisierung auftritt. Die Periode wird normalerweise so klein wie möglich implementiert, sodass die meisten Systeme die Randomisierung des VMA -Raums erhöhen müssen.

Um die Randomisierung zu besiegen, müssen Angreifer die Positionen aller Bereiche, die sie angreifen möchten, erfolgreich erraten. Für Datenbereiche wie Stack und Heap, bei denen benutzerdefinierte Code oder nützliche Daten geladen werden können, kann mehr als ein Zustand mit Verwendung angegriffen werden NOP -Folien für Code oder wiederholte Kopien von Daten. Dies ermöglicht es einem Angriff, erfolgreich zu sein, wenn der Bereich auf eine Handvoll Werte randomisiert wird. Im Gegensatz dazu müssen Codebereiche wie die Bibliotheksbasis und die ausführbare Hauptdarstellung genau entdeckt werden. Oft sind diese Bereiche zum Beispiel gemischt Stackrahmen werden in den Stapel injiziert und eine Bibliothek wird zurückgegeben.

Die folgenden Variablen können deklariert werden:

  • (Entropie -Stapel -Top)
  • (Entropie -Teile von mmap() Base)
  • (Entropie -Bits der ausführbaren Hauptbasis)
  • (Entropie -Bits der Haufen)
  • (Angegriffene Bits pro Versuch der Stapelentropie)
  • (Angegriffene Teile pro Versuch von mmap() Grundentropie)
  • (Angegriffene Bits pro Versuch der ausführbaren Hauptentropie)
  • (Angegriffene Bits pro Versuch der Haufen Basis -Entropie)
  • (Versuche gemacht)
  • (Gesamtmenge der Entropie: )

Um die Wahrscheinlichkeit eines Angreifers erfolgreich zu berechnen, müssen wir eine Reihe von Versuchen annehmen α durchgeführt, ohne von einem Signature-basierten IPS, Strafverfolgungsbehörden oder einem anderen Faktor unterbrochen zu werden; Bei Brute -Forcing kann der Daemon nicht neu gestartet werden. Wir müssen auch herausfinden, wie viele Bits relevant sind und wie viele bei jedem Versuch angegriffen werden, so dass viele Bits der Angreifer besiegen müssen.

Die folgenden Formeln repräsentieren die Erfolgswahrscheinlichkeit für einen bestimmten Satz von α Versuche weiter N Entropiestücken.

  • (isoliertes Vermutung; Adressraum wird nach jedem Versuch neu randomisiert)
  • (systematisches Brute -Forcing für Kopien des Programms mit demselben Adressraum)

In vielen Systemen, kann in den Tausenden oder Millionen sein; auf modern 64-Bit Systeme, diese Zahlen erreichen in der Regel die Millionen, zumindest, Hector Marco-Gisbert und Ismael Ripoll zeigten 2014, wie die ASLR in 64-Bit-Systemen unter bestimmten Umständen in weniger als einer Sekunde umgehen soll.[4] Für 32-Bit-Systeme bei 2004 Computergeschwindigkeiten, die 16 Bit für die Adress-Randomisierung haben, geben Shacham und Mitarbeiter an. Brute -Force -Angriff In Minuten."[5] Die Anweisung der Autoren hängt von der Fähigkeit ab, dieselbe Anwendung ohne Verzögerung mehrmals anzugreifen. Die ordnungsgemäßen Implementierungen von ASLR, wie in der Grsezieverteilung enthalten, bieten verschiedene Methoden, um solche Brute -Force -Angriffe unmöglich zu machen. Eine Methode besteht darin, zu verhindern, dass eine ausführbare Datei für eine konfigurierbare Zeit ausführt, wenn sie eine bestimmte Anzahl von Male abgestürzt hat.

Android,[6] und möglicherweise andere Systeme,[die?] implementieren Library Lastreihenfolge Randomisierung, Eine Form von ASLR, die die Reihenfolge, in der Bibliotheken geladen werden, randomisiert. Dies liefert sehr wenig Entropie. Eine Annäherung an die Anzahl der pro notwendigen Bibliothek gelieferten Entropie -Bits erscheint unten; Dies berücksichtigt noch keine unterschiedlichen Bibliotheksgrößen, sodass die tatsächliche gewonnene Entropie wirklich etwas höher ist. Beachten Sie, dass Angreifer normalerweise nur eine Bibliothek benötigen. Die Mathematik ist mit mehreren Bibliotheken komplexer und auch unten gezeigt. Beachten Sie, dass der Fall eines Angreifers, der nur eine Bibliothek verwendet, eine Vereinfachung der komplexeren Formel für ist .

  • l (Anzahl der geladenen Bibliotheken)
  • β (Anzahl der vom Angreifer verwendeten Bibliotheken)

Diese Werte sind tendenziell niedrig, selbst für große Werte von lvor allem, da Angreifer normalerweise nur die verwenden können C Standardbibliothek und so kann man das oft annehmen . Selbst für eine kleine Anzahl von Bibliotheken werden hier einige Entropiestücken gewonnen; Es ist daher potenziell interessant, die Randomisierung der Bibliothekslastanordnung mit der Randomisierung der VMA -Adresse zu kombinieren, um ein paar zusätzliche Entropie -Bits zu erhalten. Beachten Sie, dass diese zusätzlichen Entropiestücken nicht für andere MMAP () -Segmente, nur Bibliotheken, gelten.

Entropie reduzieren

Angreifer können verschiedene Methoden verwenden, um die in einem randomisierte Adressraum vorhandene Entropie zu verringern, von einfachen Informationslecks bis hin zu Angriffen mehrerer Entropie -Bit pro Angriff (wie z. Haufensprühen). Damit kann wenig getan werden.

Es ist möglich, Informationen über das Speicherlayout mithilfe von Lauen zu verlassen Anfälligkeiten für Zeichenfolge. Format -String -Funktionen wie z. printf verwenden ein Variable Argumentliste ihren Job machen; Formatspezifizierer beschreiben, wie die Argumentliste aussieht. Aufgrund der Art und Weise, wie Argumente normalerweise bestanden werden, nähert sich jeder Format -Spezifizierer näher an die Oberseite des Stapelrahmens. Schließlich kann der Zeiger des Rückkehrzeigers und der Stapelrahmen extrahiert werden, wodurch die Adresse einer verletzlichen Bibliothek und die Adresse eines bekannten Stapelrahmens enthüllt. Dies kann Bibliothek beseitigen und die Randomisierung als Hindernis für einen Angreifer stapeln.

Man kann auch die Entropie im Stapel oder im Haufen verringern. Der Stapel muss normalerweise auf 16 Bytes ausgerichtet sein, und dies ist daher das kleinstmögliche Randomisierungsintervall. Während der Haufen Seiten ausgerichtet sein muss, typischerweise 4096 Bytes. Beim Versuch eines Angriffs ist es möglich, doppelte Angriffe mit diesen Intervallen auszurichten. a NOP -Folie kann mit Shellcode -Injektion und der String verwendet werden./bin/sh"Kann durch" ersetzt werden "////////bin/sh'Für eine willkürliche Anzahl von Schrägstrichen beim Versuch, zu zurückzukehren System. Die Anzahl der entfernten Bits ist genau zum n Intervalle angegriffen.

Solche Abnahmen sind aufgrund der Datenmenge im Stapel oder im Haufen begrenzt. Der Stapel zum Beispiel ist normalerweise beschränkt auf 8Mb[7] und wächst zu viel weniger; Dies ermöglicht höchstens 19 Bit, obwohl eine konservativere Schätzung bei 8 - liegen würde -10 Bit entsprechend 4–16KB[7] von Stapelfüllung. Der Haufen hingegen ist durch das Verhalten des Speicherallocators begrenzt. Im Falle des GlibcDie Zuordnungen über 128 kb werden mit Verwendung erstellt MMAPAngreifer auf 5 Teile Reduktion. Dies ist auch ein begrenzender Faktor beim Brute -Forcing; Obwohl die Anzahl der zu leistungsorientierten Angriffe reduziert werden kann, ist die Größe der Angriffe so stark erhöht, dass das Verhalten unter bestimmten Umständen offensichtlich werden kann Einbrucherkennungssystem.

Einschränkungen

ASLR-geschützte Adressen können von verschiedenen Seitenkanälen durchgesickert werden, wodurch der Minderungsnutzen entfernt wird. Jüngste Angriffe haben Informationen verwendet, die vom CPU -Zweigziel -Predictor -Puffer (BTB) oder der MMU -Wanderpagentabellen (Speicherverwaltungseinheit) durchgesickert sind. Es ist nicht klar, ob diese Klasse des ASLR -Angriffs gemindert werden kann. Wenn sie nicht können, wird der Nutzen von ASLR reduziert oder beseitigt.

Implementierungen

Mehrere allgemeine Betriebssysteme im Mainstream implementieren ASLR.

Android

Android 4.0 Ice Cream Sandwich bietet eine Randomisierung von Adressraumlayout (ASLR), um Systeme und Anwendungen von Drittanbietern vor Exploits aufgrund von Gedächtnismanagementproblemen zu schützen. Positionsunabhängige ausführbare Unterstützung wurde in Android 4.1 hinzugefügt.[8] Android 5.0 hat die Nicht-Pie-Unterstützung fallen und erfordert, dass alle dynamisch verknüpften Binärdateien positionell unabhängig sind.[9][10] Die Randomisierung der Bibliothekslast wurde am 26. Oktober 2015 in das Android Open-Source-Projekt aufgenommen.[6] und wurde in die Android 7.0 -Version aufgenommen.

Libelle BSD

Libelle BSD hat eine Implementierung von ASLR basierend auf OpenBSDs Modell, hinzugefügt im Jahr 2010.[11] Es ist standardmäßig ausgeschaltet und kann durch Einstellen des sysctl vm.randomize_mmap auf 1 aktiviert werden.

Freebsd

Die Unterstützung für ASLR erschien in Freebsd 13.0.[12][13] Es ist standardmäßig deaktiviert.

iOS (iPhone, iPod touch, iPad)

Apfel Einführung in ASLR in iOS 4.3 (veröffentlicht März 2011).[14]

Kaslr wurde in iOS 6 vorgestellt.[15] Die randomisierte Kernelbasis beträgt 0x01000000 + ((1 + 0xRR) * 0x00200000), wobei 0xRR ein zufälliges Byte aus SHA1 (zufällige Daten) ist, das von IBOT (dem iOS-Bootloader im 2. Stadium) generiert wird.[16]

Linux

Das Linux Kernel Ermöglichte eine schwache Form von ASLR standardmäßig seit dem im Juni 2005 veröffentlichten Kernel Version 2.6.12.[17] Das Pax und Exec -Schild Patchsets zum Linux -Kernel bieten vollständigere Implementierungen. Der Exec Shield Patch für Linux Lieferungen 19 Bit Stapelentropie in einem Zeitraum von 16 Bytes und 8 Bit MMAP -Basis -Randomisierung in einem Zeitraum von 1 Seite von 4096 Bytes. Dadurch befindet sich die Stapelbasis in eine Fläche von 8 mb breit, die 524.288 mögliche Positionen enthält, und die MMAP -Basis in einer Fläche von 1 MB, die 256 mögliche Positionen enthält.

Positionsunabhängige ausführbare Datei (PIE) implementiert eine zufällige Basisadresse für die wichtigste ausführbare Binärdatei und ist seit 2003 vorhanden. Sie bietet die gleiche Ansprache für die gleiche, die für die gemeinsam genutzte Bibliotheken verwendet wird. Die Kuchenfunktion kann nicht zusammen mit dem verwendet werden Prelink Funktion für dieselbe ausführbare Datei. Das Prelink -Tool implementiert eher die Randomisierung bei der Vorzeit und nicht zur Laufzeit, da Prelink vor dem Design den Verschiebungsbibliotheken vor dem dynamischen Linker beauftragt. Dies ermöglicht es, dass der Umzug für viele Läufe des Programms einmal erfolgt. Infolgedessen würde die Randomisierung des realen Adressraums den Zweck des Vorverknüpfungszwecks besiegen.

Die Randomisierung kann für einen bestimmten Prozess deaktiviert werden, indem ihre Ausführungsdomäne verwendet wird Persönlichkeit (2).[18]

Kerneladressenraumlayout Randomisierung

Die Kernel -Adressraum -Layout -Randomisierung (KASLR) ermöglicht die Randomisierung des Adressraums für das Linux -Kernel -Bild, indem der Kernelcode zur Startzeit platziert wird.[19] Kaslr wurde in die verschmolzen Linux -Kernel -Hauptlinie In Kernel Version 3.14, veröffentlicht am 30. März 2014.[20] Wenn es zusammengestellt wird, kann es zum Startzeit durch Angabe deaktiviert werden Nokaslr als einer der Kern -Startparameter.[21]

Es gibt einige Seitenkanalangriffe In X86 -Prozessoren, die Kerneladressen auslaufen könnten.[22][23] Ende 2017, Kernel-Page-Table-Isolation (Kpti alias Kaiser) wurde entwickelt, um diese Angriffe zu besiegen.[24][25] Diese Methode kann jedoch nicht vor Nebenkanalangriffe schützen, die Kollisionen in verwenden Zweigprädiktor Strukturen.[26]

Ab 2021, feiner, körniger Kerneladressen -Raumlayout -Randomisierung (oder Funktion Granular Kaslr, FGKASLR) ist eine geplante Erweiterung von Kaslr, um auf die Funktionsniveau hinweg zu randomisieren.[27]

Microsoft Windows

Microsoft's Windows Vista (veröffentlicht Januar 2007) und später ASLR nur für ausführbare und ausführbare und Dynamische Linkbibliotheken das werden speziell mit ASLR-fähig verknüpft.[28] Für die Kompatibilität ist es für andere Anwendungen standardmäßig nicht aktiviert. In der Regel ist nur ältere Software inkompatibel und ASLR kann durch Bearbeiten eines Registrierungseintrags vollständig aktiviert werden HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages,[29] oder durch Installieren von Microsoft's Verbessertes Erlebnis -Toolkit.

Die Standorte der Haufen, Stapel, Prozessumgebungsblockade und Thread -Umgebungsblock sind auch randomisiert. Ein Sicherheits-Whitepaper von Symantec stellte fest, dass ASLR in 32-Bit-Windows Vista möglicherweise nicht so robust wie erwartet ist, und Microsoft hat eine Schwäche seiner Implementierung anerkannt.[30]

Hostbasiert Intrusion Prevention Systems wie zum Beispiel WehnTrust[31] und Ozon[32] Bieten Sie auch ASLR für an Windows XP und Windows Server 2003 Betriebssysteme. WehnTrust ist Open-Source.[33] Vollständige Details zur Implementierung von Ozon sind nicht verfügbar.[34]

Es wurde im Februar 2012 festgestellt[35] Das ASLR auf 32-Bit-Windows-Systemen zuvor Windows 8 kann seine Wirksamkeit in niedrigen Gedächtnissituationen verringern. Ein ähnlicher Effekt wurde auch unter Linux in derselben Forschung erreicht. Der Testcode führte das Mac OS X 10.7.3 -System auf Kernel PanikIn diesem Szenario war es also unklar, dass sein ASLR -Verhalten unklar war.

Netbsd

Die Unterstützung für ASLR in Userland erschien in Netbsd 5.0 (veröffentlicht April 2009),[36] und wurde im April 2016 standardmäßig im NetBSD-Strom aktiviert.[37]

Die Kernel ASLR-Unterstützung bei AMD64 wurde im Oktober 2017 in NetBSD-Stromer hinzugefügt, wodurch NetBSD zum ersten BSD-System zur Unterstützung von Kaslr war.[38]

OpenBSD

In 2003, OpenBSD wurde das erste Mainstream -Betriebssystem, das eine starke Form von ASLR unterstützt und es standardmäßig aktiviert.[2] OpenBSD hat seine ASLR -Unterstützung im Jahr 2008 abgeschlossen, als es Unterstützung für die Unterstützung für KUCHEN Binärdateien.[39] OpenBSD 4.4 Malloc (3) wurde entwickelt, um die Sicherheit zu verbessern, indem ASLR- und Gap -Seitenfunktionen implementiert werden, die im Rahmen von OpenBSDs implementiert sind MMAP Systemanrufund um nutzungsfreie Fehler zu erkennen.[40] OpenBSD 5.3 wurde 2013 veröffentlicht, war das erste Mainstream-Betriebssystem, das standardmäßige position-unabhängige ausführbare Ausführungen für mehrere ermöglicht Hardwareplattformenund OpenBSD 5.7 aktivierte position-unabhängige statische Binärdateien (statisch-pie) standardmäßig.[39]

Mac OS

Im Mac OS X Leopard 10.5 (veröffentlicht Oktober 2007) führte Apple Randomisierung für Systembibliotheken ein.[41]

Im Mac OS X Löwe 10.7 (veröffentlicht im Juli 2011), Apple hat seine Implementierung erweitert, um alle Anwendungen abzudecken. Die Angabe der Randomisierung des Adressraumlayouts (ASLR) wurde für alle Anwendungen verbessert. Es ist jetzt für 32-Bit 64-Bit- und 32-Bit-Anwendungen mehr gegen Angriffe. "[42]

Ab OS X Mountain Lion 10.8 (veröffentlicht Juli 2012) und später das gesamte System einschließlich des Kernels sowie des Kernels kexts und Zonen werden während des Systemstiefels zufällig verlegt.[43]

Solaris

ASLR wurde in eingeführt Solaris Beginnend mit Solaris 11.1 (veröffentlicht Oktober 2012). ASLR in Solaris 11.1 kann systemweit, pro Zone oder per-binär eingestellt werden.[44]

Ausbeutung

A Seitenkanalangriff Nutzung Zweigzielpuffer wurde nachgewiesen, um den ASLR -Schutz zu umgehen.[26] Im Jahr 2017 wurde ein Angriff namens "ASLR⊕cache" gezeigt, der ASLR mit JavaScript in einem Webbrowser besiegen konnte.[45]

Siehe auch

Verweise

  1. ^ Brad Spengler (Oktober 2003). "PAX: Das garantierte Ende der beliebigen Codeausführung" (PDF). grsecurity.net. Folien 22 bis 35. Abgerufen 2015-08-20.
  2. ^ a b Theo de Raadt (2005). "Exploit -Minderungstechniken (aktualisiert, um zufällige Malloc und MMAP aufzunehmen) bei OpenCon 2005". Abgerufen 2009-08-26.
  3. ^ "OpenBSD -Innovationen". Das OpenBSD -Projekt. Abgerufen 2016-09-12.
  4. ^ Marco-Gisbert, Hector; Ripoll, Ismael (2014-11-20). "Über die Wirksamkeit von Voll-Aslr auf 64-Bit-Linux" (PDF).
  5. ^ Shacham, H.; Page, M.; Pfaff, b.; Goh, E.J.; Modadugu, N.; Boneh, D (2004). Zur Wirksamkeit der Adressraum-Randomisierung. 11. ACM -Konferenz über Computer- und Kommunikationssicherheit. S. 298–307.
  6. ^ a b "Implementierung der Randomisierung der Bibliothekslastreihenfolge". Abgerufen 2017-06-26.
  7. ^ a b Transistorisierter Speicher wie RAM-, ROM-, Flash- und Cache -Größen sowie Dateigrößen werden angegeben binäre Bedeutungen für k (10241), M (10242), G (10243), etc.
  8. ^ "Android -Sicherheit". Android -Entwickler. Abgerufen 2012-07-07.
  9. ^ "Oss-Security". Abgerufen 2015-10-04.
  10. ^ "Wiederverwendung" wiedererpfbarer Unterstützung für nicht-pie-ausführbare Ausführungsfähigkeiten "". Abgerufen 2017-06-26.
  11. ^ MMAP - MMAP -Offset -Randomisierung hinzufügen, Dragonfly Gitweb, 25. November 2010.
  12. ^ "Implementieren Sie das Adressraumlayout Randomisierung (ASLR)" ". Abgerufen 2019-02-10.
  13. ^ "ASLR - FreeBSD Wiki". Abgerufen 2021-05-17.
  14. ^ PWN2Own Tag 2: iPhone, Blackberry geschlagen; Chrom, Firefox No-Shows, ARS Technica, 11. März 2011
  15. ^ Stefan Esser (2013-03-07). "iOS 6 Ausbeutung 280 Tage später". Folie 19, "iOS 6 führt Kaslr ein".
  16. ^ Tarjei Mandt. "Angriff auf den iOS -Kernel: Ein Blick auf 'evasi0n'" (PDF).
  17. ^ Dang, Alan; Miller, Charlie (2009-03-25). "Das NX -Bit und ASLR". Toms Hardware.
  18. ^ "Persönlichkeit - Legen Sie die Prozessausführungsdomäne fest".
  19. ^ Jake Edge (2013-10-09). "Kerneladressraumlayout Randomisierung". Lwn.net. Abgerufen 2014-04-02.
  20. ^ "Linux -Kernel 3.14, Abschnitt 1.7. Kernel -Adressraum Randomisierung". kernelnewbies.org. 2014-03-30. Abgerufen 2014-04-02.
  21. ^ "KERNEL/GIT/TORVALDS/Linux.git: x86, Kaslr: Rückgabeort von decompress_kernel (Linux -Kernel -Quellbaum)". kernel.org. 2013-10-13. Abgerufen 2014-04-02.
  22. ^ Kaslr ist tot: Es lebe Kaslr (PDF). Engineering Secure Software and Systems 2017. 2017-06-24.
  23. ^ Jang, Yeongjin; Lee, Sangho; Kim, Taesoo (2016). "Brechen von Kernel -Speicherplatzlayout Randomisierung mit Intel TSX" (PDF). 2016 ACM SIGSAC -Konferenz über Computer- und Kommunikationssicherheit. CCS '16. New York: Vereinigung für Computermaschinen: 380–392. doi:10.1145/2976749.2978321. ISBN 9781450341394. S2CID 6293725.
  24. ^ Corbet, Jonathan (2017-12-20). "Der aktuelle Zustand der Kernel-Page-Tabelle Isolation". Linux Weekly News.
  25. ^ Corbet, Jonathan (2017-11-15). "Kaiser: Versteckt den Kernel vor dem Benutzerraum". Linux Weekly News.
  26. ^ a b Ecktyushkin, Dmitry; Ponomarev, Dmitry; Abu-Ghazaleh, Nael (2016). Über ASLR springen: Angriffszweigprädiktoren angreifen (PDF). 2016 49. jährliches IEEE/ACM International Symposium on Microarchitecture (MICRO). S. 1–13. doi:10.1109/micro.2016.7783743. ISBN 978-1-5090-3508-3. S2CID 3801142.
  27. ^ "Linux 5.16 hat frühe Vorbereitungen zur Unterstützung von FGKaslr - Phoronix". www.phoronix.com.
  28. ^ "Windows ISV Software -Sicherheitsverteidigungen". Msdn.microsoft.com. Abgerufen 2012-04-10.
  29. ^ Windows Interna: einschließlich Windows Server 2008 und Windows Vista, Fifth Edition (Pro-Entwickler) ISBN978-0-7356-2530-3
  30. ^ Ollie Whitehouse (Februar 2007). "Eine Analyse des Adressraumlayouts Randomisierung unter Windows Vista" (PDF). Archiviert von das Original (PDF) Am 2019-07-15. Abgerufen 2009-01-18.
  31. ^ "WehnTrust". Codeplex.com. Abgerufen 2012-04-10.
  32. ^ "Sicherheitsarchitekten 'Ozon". Sicherheitsarchitekten. Abgerufen 2012-04-10.
  33. ^ "WehnTrust Quellcode". Archiviert von das Original Am 2013-11-28. Abgerufen 2013-11-15.
  34. ^ "Adressraum-Randomisierung für Windows-Systeme" (PDF). Abgerufen 2012-04-10.
  35. ^ Ollie (2012-03-02). "Forschung, Entwicklung, Bewertung, Konsultieren und Erziehung | Recx: Eine Teiltechnik gegen ASLR - Mehrfach O/SS". Recxltd.blogspot.co.uk. Abgerufen 2012-04-10.
  36. ^ "NetBSD 5.0 ​​ankündigen". Abgerufen 2016-04-25.
  37. ^ Christos Zoulas (2016). "Kuchenbinärdateien und ASLR sind im Standard Build für AMD64 eingeschaltet.". Abgerufen 2016-04-25.
  38. ^ "Kernel ASLR auf AMD64". 2017. Abgerufen 2017-10-16.
  39. ^ a b Kurt Miller (2008). "OpenBSDs Position Unabhängige ausführbare Implementierung (PIE)". Archiviert vom Original am 2011-06-12. Abgerufen 2011-07-22.
  40. ^ "libc/stdlib/malloc.c". BSD Cross Referenz, OpenBSD SRC/lib/.
  41. ^ "Mac OS X - Sicherheit - hält sich vor Viren und Malware sicher". Apfel. Archiviert von das Original Am 2011-05-25. Abgerufen 2012-04-10.
  42. ^ "Sicherheit". Apple Inc. archiviert aus das Original Am 2011-06-06. Abgerufen 2011-06-06.
  43. ^ "OS X Mountain Lion Core Technologies Übersicht" (PDF). Juni 2012. Abgerufen 2012-07-25.
  44. ^ Kontrolle des Zugriffs zu Maschinenressourcen, Oracle Information Library, 26. Oktober 2012.
  45. ^ ANC Vusec, 2017

Externe Links