Antischadsoftware-Frühstart

Plattformen

Clients – Windows 8 Server – Windows Server 2012

Beschreibung

Da Antischadsoftware (AM) zur Erkennung von Laufzeitsoftware besser und besser geworden ist, werden Angreifer auch bei der Erstellung von Rootkits, die sich vor der Erkennung verbergen können, besser. Die Erkennung von Schadsoftware, die früh im Startzyklus beginnt, ist eine Herausforderung, die die meisten AM-Anbieter sorgfältig adressieren. In der Regel erstellen sie Systemhacks, die vom Hostbetriebssystem nicht unterstützt werden, und können tatsächlich dazu führen, dass der Computer in einem instabilen Zustand platziert wird. Bis zu diesem Punkt hat Windows keine gute Möglichkeit bereitgestellt, diese Frühstartbedrohungen zu erkennen und zu beheben.

Windows 8 führt ein neues Feature namens "Sicherer Start" ein, das die Windows-Startkonfiguration und -komponenten schützt und einen Early Launch Anti-Malware(ELAM)-Treiber lädt. Dieser Treiber wird vor anderen Starttreibern gestartet und ermöglicht die Auswertung dieser Treiber und hilft dem Windows-Kernel zu entscheiden, ob sie initialisiert werden sollen.

Manifestation

Durch den Ersten Start durch den Kernel wird ELAM vor jeder Drittanbietersoftware gestartet und ist daher in der Lage, Schadsoftware im Startprozess zu erkennen und die Initialisierung zu verhindern.

Minderung

Starttreiber werden basierend auf der Klassifizierung initialisiert, die vom ELAM-Treiber gemäß einer Initialisierungsrichtlinie zurückgegeben wird. Standardmäßig initialisiert die Richtlinie bekannte gute und unbekannte Treiber, initialisiert aber keine bekannten fehlerhaften Treiber. Ein Systemadministrator kann eine benutzerdefinierte Richtlinie über Gruppenrichtlinie angeben, die verhindern kann, dass unbekannte Treiber initialisiert werden oder Treiber aktivieren können, die für den Startvorgang wichtig sind, aber manipuliert wurden, starten, um initialisiert zu werden.

Lösung

Ein ELAM-Treiber muss sich für Kernelrückrufe registrieren, um Informationen zu jedem Starttreiber zu erhalten, da er initialisiert wird. Der ELAM-Treiber kann dann eine Klassifizierung für jeden Treiber zurückgeben. Diese Funktionen sind erforderlich:

IoRegisterBootDriverCallback() IoUnRegisterBootDriverCallback() Ein ELAM-Treiber kann sich auch für Registrierungsrückrufe registrieren. Dadurch kann der ELAM-Treiber die Konfigurationsdaten prüfen, die von jedem Startstarttreiber verwendet werden. Der ELAM-Treiber kann die Daten dann blockieren oder ändern, bevor sie von den Startstarttreibern verwendet wird, falls erforderlich. Diese Funktionen sind erforderlich:

CmRegisterCallbackEx() CmUnRegisterCallback() Eine ausführlichere Beschreibung der ELAM-Treiberanforderungen und die API-Verwendung wird in einem Whitepaper auf MSDN mit dem Namen "Early Launch Antimalware" dokumentiert.

Tests

ELAM-Treiber müssen speziell von Microsoft signiert werden, um sicherzustellen, dass sie früh im Startprozess vom Windows-Kernel gestartet werden. Um die Signatur abzurufen, müssen ELAM-Treiber eine Reihe von Zertifizierungstests übergeben, um die Leistung und das andere Verhalten zu überprüfen. Diese Tests sind im Zertifizierungskit für Windows-Hardware enthalten.

Ressourcen