Suchen

Microsoft schützt Windows-7-Kernel mit Integritätschecks Safe Unlinking verhindert Buffer Overflows im Windows Kernel Pool

Redakteur: Stephan Augsten

Als erstes Microsoft-Betriebssystem wird Windows 7 um Integritätschecks für den Kernel-Pool erweitert, um mögliche Überläufe zu vermeiden. Ursprünglich wurden diese Mechanismen zum Ausbessern fehlerhafter Treiber mit Windows-Debug-Versionen entwickelt. Ähnliche Security-Checks für Windows-Releases gab es bislang nur auf Anwender-Ebene, um über Stapelüberläufe initiierte Hacking-Angriffe zu erschweren.

Firmen zum Thema

Als erstes Microsoft-Betriebssystem wird Windows 7 mit dem Integritätscheck Safe Unlinking ausgeliefert, um den Kernel-Pool zu schützen.
Als erstes Microsoft-Betriebssystem wird Windows 7 mit dem Integritätscheck Safe Unlinking ausgeliefert, um den Kernel-Pool zu schützen.
( Archiv: Vogel Business Media )

Angriffe auf den Kernel der Windows-Betriebssysteme finden zwar eher selten statt. Doch laut einem Eintrag im Microsoft-Technet-Blog ist der Anteil der Security-Bulletins, die den Windows-Kernel betreffen, allein von 2007 bis 2008 von fünf auf zehn Prozent gestiegen. Einige der damit verbundenen Patches addressierten mögliche Pool-Überläufe.

Der Kernel-Pool ist vergleichbar mit dem hochperformanten Speichermanager im User-Modus, auch Heap genannt. Erzwingt ein Angreifer darin beispielsweise mithilfe einer Denial-of-Service-Attacke einen Pufferüberlauf, kann er das betroffene System komplett übernehmen. Hierbei biegt er den Zeiger eines Speichereintrags auf ein manipuliertes Code-Segment um.

Derartige Angriffsszenarien sind auch für den Kernel-Pool denkbar, da er analog zum Heap Speicherplatz dynamisch allokiert und wieder freigibt, sobald dieser nicht mehr benötigt wird. Um möglichen Attacken vorzubeugen, bemüht sich Microsoft bereits jetzt um Schadensbegrenzung.

Safe Unlinking prüft Speicher-Freigaben im Windows-7-Kernel

Abhilfe soll das so genannte Safe Unlinking im Windows 7 Kernel Pool schaffen, das vor dem Freigeben des Speichers eine ganze Reihe Integritätschecks an der neuen Speicherstruktur des Kernels durchführt. Dadurch lassen sich laut Peter Beck, Mitglied des Microsoft Security Science Teams, die geläufigsten Exploit-Techniken außer Kraft setzen.

„Das bedeutet nicht, dass Pool-Überläufe nicht ausnutzbar wären“, gibt Beck zu bedenken. „Aber der Arbeitsaufwand für den Hacker wird erheblich größer.“ Gleichzeitig gewännen Windows-Betriebssysteme an Zuverlässigkeit, da Microsoft schneller auf Pool-Überläufe reagieren und dadurch weitere Memory-Corruption-Vorfälle mit unvorhersehbarer Tragweite verhindern könne.

Mögliche Bedenken, dass die Erweiterung um Checks in einem hochperformanten Code-Segment wie dem Pool-Management die Geschwindigkeit beeinflussen, entkräftigt Beck vorab: „In der Praxis fügt die Prüfsequenz dem Binärcode nicht mehr als acht Instruktionen hinzu. […] Gleichzeitig kommen keine rechenlastigen Paging-Funktionen hinzu.“ Für einen fühlbaren Unterschied seien die Änderungen also zu gering, was auch Live-Performance-Tests bereits bewiesen hätten.

(ID:2022162)