Kernel-Patch-Schutz - Kernel Patch Protection

Der Kernel verbindet die Anwendungssoftware mit der Hardware eines Computers.

Kernel Patch Protection ( KPP ), informell als PatchGuard bekannt , ist eine Funktion von 64-Bit ( x64 ) -Editionen von Microsoft Windows , die das Patchen des Kernels verhindert . Es wurde erstmals 2005 mit den x64-Editionen von Windows XP und Windows Server 2003 Service Pack 1 eingeführt.

"Kernel patchen" bezieht sich auf nicht unterstützte Modifikation der zentralen Komponente oder des Kernels des Windows-Betriebssystems. Eine solche Änderung wurde von Microsoft nie unterstützt, da sie laut Microsoft die Systemsicherheit, Zuverlässigkeit und Leistung erheblich reduzieren kann. Obwohl Microsoft dies nicht empfiehlt, ist es möglich, den Kernel auf x86- Editionen von Windows zu patchen ; Bei den x64-Editionen von Windows entschied sich Microsoft jedoch, zusätzlichen Schutz und technische Barrieren für das Kernel-Patching zu implementieren.

Da das Patchen des Kernels in 32-Bit-Versionen (x86) von Windows möglich ist, verwenden mehrere Entwickler von Antivirensoftware Kernel-Patching, um Antiviren- und andere Sicherheitsdienste zu implementieren. Diese Techniken funktionieren nicht auf Computern, auf denen x64-Editionen von Windows ausgeführt werden. Aus diesem Grund führte der Kernel-Patch-Schutz dazu, dass Antivirenhersteller ihre Software neu entwerfen mussten, ohne Kernel-Patching-Techniken zu verwenden.

Aufgrund des Designs des Windows-Kernels kann der Kernel-Patch-Schutz das Kernel-Patching jedoch nicht vollständig verhindern. Dies hat zu der Kritik geführt, dass KPP, da es sich um eine unvollkommene Verteidigung handelt, die Probleme, die den Antivirenherstellern entstehen, die Vorteile überwiegen, da die Autoren bösartiger Software einfach Wege finden, ihre Verteidigung zu umgehen. Trotzdem kann Kernel Patch Protection Probleme der Systemstabilität, Zuverlässigkeit und Leistung verhindern, die durch legitime Software verursacht werden, die den Kernel auf nicht unterstützte Weise patcht.

Technische Übersicht

Der Windows-Kernel ist so konzipiert, dass Gerätetreiber dieselbe Berechtigungsebene wie der Kernel selbst haben. Von Gerätetreibern wird erwartet, dass sie Kernsystemstrukturen innerhalb des Kernels nicht ändern oder patchen . In x86- Editionen von Windows erzwingt Windows diese Erwartung jedoch nicht. Infolgedessen wurden einige x86-Software, insbesondere bestimmte Sicherheits- und Antivirenprogramme , entwickelt, um die erforderlichen Aufgaben durch das Laden von Treibern auszuführen, die die Kernkernstruktur ändern.

In x64- Editionen von Windows hat Microsoft damit begonnen, Einschränkungen hinsichtlich der Strukturen durchzusetzen, die Treiber ändern können und welche nicht. Kernel Patch Protection ist die Technologie, die diese Einschränkungen durchsetzt. Es funktioniert, indem es regelmäßig überprüft, ob geschützte Systemstrukturen im Kernel nicht geändert wurden. Wenn eine Änderung erkannt wird, leitet Windows eine Fehlerprüfung ein und fährt das System mit einem blauen Bildschirm und/oder einem Neustart herunter . Die entsprechende Bugcheck-Nummer ist 0x109, der Bugcheck-Code ist CRITICAL_STRUCTURE_CORRUPTION. Zu den verbotenen Modifikationen gehören:

Der Kernel-Patch-Schutz schützt nur vor Gerätetreibern, die den Kernel modifizieren. Es bietet keinen Schutz davor, dass ein Gerätetreiber einen anderen patcht.

Da Gerätetreiber die gleiche Berechtigungsebene wie der Kernel selbst haben, ist es letztendlich unmöglich, vollständig zu verhindern, dass Treiber den Kernel-Patch-Schutz umgehen und dann den Kernel patchen. KPP stellt jedoch ein erhebliches Hindernis für ein erfolgreiches Kernel-Patching dar. Mit stark verschleiertem Code und irreführenden Symbolnamen setzt KPP Sicherheit durch Verschleierung ein , um Versuche zu verhindern, sie zu umgehen. Regelmäßige Updates für KPP machen es auch zu einem "beweglichen Ziel", da Umgehungstechniken, die möglicherweise eine Weile funktionieren, mit dem nächsten Update wahrscheinlich nicht mehr funktionieren. Seit seiner Einführung im Jahr 2005 hat Microsoft bisher zwei große Updates für KPP veröffentlicht, die jeweils darauf ausgelegt sind, bekannte Umgehungstechniken in früheren Versionen zu unterbrechen.

Vorteile

Das Patchen des Kernels wurde von Microsoft nie unterstützt, da es eine Reihe von negativen Auswirkungen haben kann. Kernel Patch Protection schützt vor diesen negativen Auswirkungen, darunter:

  • Schwerwiegende Fehler im Kernel.
  • Zuverlässigkeitsprobleme, die aus mehreren Programmen resultieren, die versuchen, dieselben Teile des Kernels zu patchen.
  • Gefährdete Systemsicherheit.
  • Rootkits können Kernel-Zugriff verwenden, um sich in ein Betriebssystem einzubetten, und es wird fast unmöglich, sie zu entfernen.

In den häufig gestellten Fragen zum Kernel-Patch-Schutz von Microsoft wird weiter erläutert:

Da das Patchen Kernel-Code durch unbekannten, ungetesteten Code ersetzt, gibt es keine Möglichkeit, die Qualität oder Auswirkung des Drittanbieter-Codes zu beurteilen... Eine Untersuchung der Online-Crash-Analyse-Daten (OCA) bei Microsoft zeigt, dass Systemabstürze häufig auf beides zurückzuführen sind bösartige und nicht bösartige Software, die den Kernel patcht.

—  "Kernel-Patch-Schutz: Häufig gestellte Fragen" . 22. Januar 2007 . Abgerufen am 22. Februar 2007 .

Kritikpunkte

Anwendungen von Drittherstellern

Einige Computer - Sicherheits - Software, wie zum Beispiel McAfee 's McAfee Virusscan und Symantec ist Norton Antivirus , arbeitete durch den Kernel auf x86 - Systemen Patchen. Von Kaspersky Lab entwickelte Antiviren-Software ist dafür bekannt, Kernel-Code-Patching in x86- Editionen von Windows ausgiebig zu nutzen . Diese Art von Antivirensoftware funktioniert aufgrund des Kernel-Patch-Schutzes nicht auf Computern, auf denen x64-Editionen von Windows ausgeführt werden. Aus diesem Grund forderte McAfee Microsoft auf, KPP entweder vollständig aus Windows zu entfernen oder Ausnahmen für Software von "vertrauenswürdigen Unternehmen" wie ihnen selbst zu machen.

Die Unternehmens- Antivirensoftware von Symantec und die Norton 2010-Reihe und höher funktionierten trotz der Einschränkungen von KPP auf x64-Editionen von Windows, allerdings mit weniger Schutz vor Zero-Day-Malware. Antivirensoftware der Konkurrenten ESET , Trend Micro , Grisoft AVG, avast! , Avira Anti-Vir und Sophos patchen den Kernel in Standardkonfigurationen nicht, patchen jedoch möglicherweise den Kernel, wenn Funktionen wie "erweiterter Prozessschutz" oder "unberechtigtes Beenden von Prozessen verhindern" aktiviert sind.

Jim Allchin , damals Co-Präsident von Microsoft, war ein energischer Befürworter von Kernel Patch Protection.

Microsoft schwächt den Kernel-Patch-Schutz nicht, indem es Ausnahmen macht, obwohl Microsoft dafür bekannt ist, seine Beschränkungen von Zeit zu Zeit zu lockern, beispielsweise zugunsten von Hypervisor- Virtualisierungssoftware. Stattdessen hat Microsoft mit Drittanbietern zusammengearbeitet, um neue Application Programming Interfaces zu entwickeln , die der Sicherheitssoftware helfen, die erforderlichen Aufgaben auszuführen, ohne den Kernel zu patchen. Diese neuen Schnittstellen waren in Windows Vista Service Pack 1 enthalten .

Schwächen

Aufgrund des Designs des Windows-Kernels kann der Kernel-Patch-Schutz das Kernel-Patching nicht vollständig verhindern. Dies veranlasste die Computersicherheitsanbieter McAfee und Symantec zu der Aussage, dass die Probleme, die den Sicherheitsanbietern entstehen, die Vorteile überwiegen, da KPP eine unvollkommene Verteidigung darstellt, da bösartige Software einfach Wege findet, die Verteidigung von KPP zu umgehen, und Sicherheitssoftware von Drittanbietern weniger Freiheit haben wird Maßnahmen zur Verteidigung des Systems.

Im Januar 2006 veröffentlichten Sicherheitsforscher, die unter den Pseudonymen "skape" und "Skywing" bekannt sind, einen Bericht, der teilweise theoretische Methoden beschreibt, mit denen der Kernel-Patch-Schutz umgangen werden könnte. Skywing veröffentlichte im Januar 2007 einen zweiten Bericht zur Umgehung von KPP Version 2 und einen dritten Bericht im September 2007 zu KPP Version 3. Außerdem entwickelte das Sicherheitsunternehmen Authentium im Oktober 2006 eine Arbeitsmethode zur Umgehung von KPP.

Nichtsdestotrotz hat Microsoft erklärt, dass sie sich verpflichtet haben, alle Fehler zu beseitigen, die eine Umgehung von KPP im Rahmen des standardmäßigen Security Response Center-Prozesses ermöglichen. In Übereinstimmung mit dieser Aussage hat Microsoft bisher zwei große Updates für KPP veröffentlicht, die jeweils darauf ausgelegt sind, bekannte Umgehungstechniken in früheren Versionen zu unterbrechen.

Kartellrechtliches Verhalten

Im Jahr 2006 äußerte die Europäische Kommission Bedenken hinsichtlich des Kernel-Patch-Schutzes, da dieser als wettbewerbswidrig bezeichnet wurde . Microsofts eigenes Antivirenprodukt Windows Live OneCare machte jedoch keine besondere Ausnahme von KPP. Stattdessen verwendete (und hatte immer) Windows Live OneCare andere Methoden als das Patchen des Kernels, um Virenschutzdienste bereitzustellen. Aus anderen Gründen war eine x64-Edition von Windows Live OneCare jedoch erst am 15. November 2007 verfügbar.

Verweise

Externe Links

Uninformed.org-Artikel:

Arbeitende Bypass-Ansätze

Microsoft-Sicherheitshinweise: