Fenster zur Seele

ASLR

9.4.2009 von Redaktion pcmagazin und Jörg Knitter

ca. 2:20 Min
Ratgeber
  1. Der Kernel: So funktioniert Windows
  2. Windows-Kernel im Überblick
  3. ASLR
  4. Windows Debugging-Tool

Address Space Load Randomization

Am schlimmsten sind dabei Pufferüberläufe, die es Angreifern ermöglichen, laufende Programme wie den Internet Explorer zu infizieren, um in ein System einzudringen. Setzt sich ein Schädling im System fest, dann muss er aber die Windows-APIs nutzen, um sein Unwesen zu treiben, also etwa um Daten auszulesen oder die Systemkonfiguration zu ändern.

Hier kommt mit Address Space Load Randomization (ASLR) eine neue Kernelschutz-Funktion ins Spiel. Hintergrund: Als Einstiegspunkt dienen unter Windows die DLLs. Diese wurden in früheren Windows-Versionen immer an die gleichen Stellen im Speicher geladen.

Mit ASLR ist es für Malware unmöglich zu wissen, wo sich die APIs befinden, da System-DLLs und ausführbare Dateien jedes Mal beim Systemstart an einem anderen Ort landen. Dafür stehen dem Speicher-Manager beim Start 256 verschiedene Adressen zur Verfügung. Wenn eine bestimmte DLL geladen wird, wählt der Speicher-Manager einen zufälligen Ort aus, an dem er sie im Speicher ablegt.

Und einen weiteren Vorteil hat die Verschiebungsstrategie von ASLR: Adressbereiche werden dichter gepackt als bei früheren Windows-Versionen, sodass es mehr zusammenhängenden freien Speicherplatz gibt.

Code Integrity Check

Als Schreckgespenster moderner Art gelten Kernel-Mode-Rootkits. Mit "normaler" Security- Software kriegt man sie nur schwer in den Griff. Das Problem ist, dass sie auf der gleichen Berechtigungsstufe wie der Kernel ausgeführt werden. Diese Schädlinge kommen meist als Kernel-Mode- Treiber daher und können das Verhalten des Kerns und anderer Treiber so ändern, dass sie selbst praktisch unsichtbar sind.

Dagegen ist die Kernelmoduscodesignierung (KMCS) ein wirksames Mittel. Sie lässt nur das Laden digital signierter Gerätetreiber zu. Die meisten Treiber erhalten Signaturen über das WHQL (Windows Hardware Quality Lab), doch man kann den Code auch selbst signieren. Dazu braucht man ein gültiges Zertifikat.

Der Autor versieht den Code dann digital mit einem Hashwert (Prüfsumme), signiert den Hash mit einem privaten Schlüssel und fügt das Zertifikat und den verschlüsselten Hash in den Code ein. Beim Ladeversuch eines Treibers entschlüsselt Windows dann den im Code enthaltenen Hash mit Hilfe des Zertifikats.

Die Echtheit des Zertifikats wird auf dieselbe Weise, aber mithilfe des öffentlichen Schlüssels der Zertifizierungsstelle geprüft, der in Windows enthalten ist. Windows prüft auch, ob das zugeordnete Zertifikat mit einer der im Windows-Loader und Betriebssystemkernel eingebetteten Stammzertifizierungsstellen verkettet ist. 32-Bit-Windows Vista- Systeme prüfen die Treibersignaturen, lassen das Laden unsignierter Treiber im Gegensatz zum 64-Bit- Windows jedoch zu.

Dynamischer Kernel-Adressbereich

Auf 32-Bit-Prozessoren gibt es für Windows und die installierten Programme arge Beschränkungen des Adressbereichs. Ohne Tricks darf der Windows-Kernel selbst nicht größer als 2 GByte werden. Doch es muss auch noch Platz für Gerätetreiber, Dateisystemcache und Stack sein. Bis Windows XP hat der Speicher-Manager schon beim Start festgelegt, wie viel Platz die einzelnen Komponenten erhalten.

Das Problem dabei: Es könnte der Fall eintreten, dass ein aufgeblähter Cache an seine Grenzen stieß, während der Stack noch viel Platz übrig hatte, diesen aber nicht abgeben konnte. Bei Vista ist der Adressbereich des Kernels dynamisch und sorgt für die Zuordnung und Freigabe von Bereichen für verschiedene Zwecke, je nachdem, was die Arbeitsauslastung erfordert.

Folglich kann der virtuelle Arbeitspeicher, der verwendet wird, um ausgelagerte Puffer zu speichern, zunehmen, wenn Gerätetreiber mehr fordern, und er kann schrumpfen, wenn die Treiber ihn freigeben.

Mehr lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

Windows schneller machen: Autostart bearbeiten

Mehr Kontrolle

Windows 10 und 7: Programme aus dem Autostart entfernen

Wir zeigen, wie Sie die Kontrolle behalten und Programme aus dem Autostart von Windows 10, 8.1 und 7 entfernen und das System optimal konfigurieren.

Lizenzschlüssel / Software-Produktschlüssel (Symbolbild)

So geht's

Lizenzschlüssel auslesen und Software neu installieren

Sie wollen ein Programm neu installieren, finden aber den Lizensschlüssel nicht? Wir zeigen Ihnen wie Sie den Programmkey bequem auslesen können.

Windows Explorer Alternative Dateimanager

Administrative Laufwerksfreigabe

Windows 10: Admin-Freigabe einrichten - so geht's

Wir zeigen, wie Sie Admin-Freigaben unter Windows 10 und 8.1 einrichten. Damit greifen Sie unkompliziert auf Laufwerke im Heimnetzwerk zu.

Windows 10 oder Windows 8.1

Lizenz-Downgrade

Von Windows 10 zurück zu Windows 7 oder 8.1

Wir zeigen, wie das Lizenz-Downgrade von Windows 10 zurück auf Windows 7 oder Windows 8.1 nach dem Gratis-Update funktioniert.

Windows 10 für Gamer

DirectX 12 & Xbox One

Windows 10 - Was bringt das neue Betriebssystem für Gamer?

Mit Windows 10 will Microsoft auch Gamer glücklich machen. DirectX 12 und Xbox One sind die Schlagworte - was bedeutet das für den PC?