Büro

Implementierung von zufälliger Anordnung von Adressraumlayouts unter Windows

AWS Tutorial For Beginners | AWS Full Course - Learn AWS In 10 Hours | AWS Training | Edureka

AWS Tutorial For Beginners | AWS Full Course - Learn AWS In 10 Hours | AWS Training | Edureka
Anonim

Sicherheitsexperten von CERT haben festgestellt, dass Windows 10, Windows 8,1 und Windows 8 nicht jede Anwendung ordnungsgemäß randomisieren, wenn die systemweite obligatorische ASLR über EMET oder Windows Defender Exploit Guard aktiviert ist. Microsoft hat geantwortet, dass die Implementierung von Adresslayout Randomisierung (ASLR) unter Microsoft Windows wie vorgesehen funktioniert. Lassen Sie uns einen Blick auf das Problem werfen:

Was ist ASLR

ASLR wurde um die Layout-Randomisierung von Adressraum erweitert, die Funktion wurde erstmals mit Windows Vista eingeführt und soll Angriffe zur Wiederverwendung von Code verhindern. Die Angriffe werden verhindert, indem ausführbare Module an nicht vorhersehbare Adressen geladen werden, wodurch Angriffe abgefangen werden, die normalerweise von Code abhängen, der an vorhersagbaren Orten platziert wird. ASLR ist darauf abgestimmt, Exploit-Techniken wie Return-orientierte Programmierung zu bekämpfen, die auf Code basieren, der im Allgemeinen in einen vorhersagbaren Ort geladen wird. Abgesehen von einem der Hauptnachteile der ASLR ist, dass sie mit dem Flag / DYNAMICBASE verknüpft werden muss.

Anwendungsbereich

Die ASLR bietet der Anwendung Schutz, hat dies aber nicht getan decken die systemweiten Maßnahmen ab. Aus diesem Grund wurde Microsoft EMET veröffentlicht. EMET stellte sicher, dass es sowohl systemweite als auch anwendungsspezifische Maßnahmen umfasste. Das EMET endete als das Gesicht von systemweiten Abschwächungen, indem es ein Front-End für die Benutzer bot. Ab dem Update von Windows 10 Fall Creators wurden die EMET-Funktionen durch Windows Defender Exploit Guard ersetzt.

Der ASLR kann sowohl für EMET als auch für Windows Defender Exploit Guard für Codes, die nicht mit dem Flag / DYNAMICBASE verknüpft sind, zwangsweise aktiviert werden und dies kann entweder auf einer Anwendungsbasis oder einer systemweiten Basis implementiert werden. Das bedeutet, dass Windows den Code automatisch in eine temporäre Verschiebungstabelle verschiebt, sodass der neue Speicherort des Codes bei jedem Neustart anders aussieht. Beginnend mit Windows 8 wurde das Design so geändert, dass die systemweite ASLR systemweit Bottom-Up-ASLR aktiviert haben sollte, um der obligatorischen ASLR Entropie zu liefern.

Das Problem

ASLR ist immer dann effektiver, wenn die Entropie ist mehr. Vereinfacht ausgedrückt erhöht die Zunahme der Entropie die Anzahl der Suchräume, die vom Angreifer erkundet werden müssen. Sowohl EMET als auch Windows Defender Exploit Guard ermöglichen jedoch systemweite ASLR, ohne systemweite Bottom-up-ASLR zu aktivieren. Wenn dies geschieht, werden die Programme ohne / DYNMICBASE verlagert, aber ohne Entropie. Wie bereits erwähnt, würde das Fehlen von Entropie es Angreifern relativ erleichtern, da das Programm jedes Mal die gleiche Adresse neu startet.

Dieses Problem betrifft derzeit Windows 8, Windows 8.1 und Windows 10, die eine systemweite ASLR aktiviert haben über Windows Defender Exploit Guard oder EMET. Da die Adressenverlagerung von Natur aus nicht DYNAMICBASE ist, überschreibt sie normalerweise den Vorteil von ASLR.

Was Microsoft zu sagen hat

Microsoft war schnell und hat bereits eine Anweisung ausgegeben. Dies ist, was die Leute bei Microsoft zu sagen hatten,

"Das Verhalten der obligatorischen ASLR, das CERT beobachtete, ist von Entwurf und ASLR funktioniert wie beabsichtigt. Das WDEG-Team untersucht das Konfigurationsproblem, das die systemweite Aktivierung von Bottom-Up-ASLR verhindert, und arbeitet daran, es entsprechend zu beheben. Dieses Problem verursacht kein zusätzliches Risiko, da es nur auftritt, wenn versucht wird, eine nicht standardmäßige Konfiguration auf vorhandene Windows-Versionen anzuwenden. Selbst dann ist die effektive Sicherheitslage nicht schlechter als die, die standardmäßig bereitgestellt wird, und es ist einfach, das Problem mithilfe der in diesem Beitrag beschriebenen Schritte zu umgehen. "

Sie haben die Problemumgehungen speziell beschrieben, die dabei helfen, das gewünschte Niveau zu erreichen der Sicherheit. Es gibt zwei Problemumgehungen für diejenigen, die die obligatorische ASLR- und Bottom-Up-Randomisierung für Prozesse aktivieren möchten, deren EXE sich nicht für ASLR angemeldet hat.

1] Speichern Sie Folgendes in optin.reg und importieren Sie es, um die obligatorische ASLR- und Bottom-up-Randomisierung systemweit zu aktivieren.

Windows Registrierungseditor Version 5.00 [HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Session Manager kernel] "MitigationOptions" = hex: 00,01,01,00,00,00,00,00,00,00,00,00,00,00,00

2] Aktivieren Sie die obligatorische ASLR und Bottom-Up-Randomisierung über spezifische Konfiguration mit WDEG oder EMET.

Said Microsoft - Dieses Problem erzeugt kein zusätzliches Risiko, da es nur auftritt, wenn versucht wird, eine nicht standardmäßige Konfiguration auf bestehende Windows-Versionen anzuwenden.