Ist die Geschäftskontinuität nicht Teil der Sicherheit?
Andrea Covello
Microsoft hat Tools entwickelt, die Security-Profis dabei helfen, Windows-Systeme sicher zu halten. Dies sind unter anderem der Microsoft Baseline Security Analyzer, bekannt als MBSA, oder der Security Compliance Manager, abgekürzt SCM. In diesem Kapitel wollen wir uns aber einen anderen interessanten Teil der Microsoft Security anschauen: Das Enhanced Mitigation Experience Toolkit EMET.
EMET ist ein Werkzeug, das Windows-Plattformen gegen Exploits von Vulnerabilities mit einer Reihe von Mitigations-Massnahmen schützt. Wie andere Tools versteht sich EMET als zusätzliche Schutzschicht und verdrängt oder ersetzt somit andere Information Security Massnahmen nicht.
Obwohl es nicht möglich ist, alle Exploits zu verhindern, macht die von EMET implementierte Mitigations-Technologie einen Exploit wesentlich schwierig, sofern EMET richtig konfiguriert ist.
EMET unterstützt Betriebssysteme auf Servern wie auch Client-Computern. Die aktuelle Version (4.0 beta) ermöglicht die Konfiguration von Sicherheits-Mitigations-Technologien. Mitigationen, die auf das System angewendet werden, betreffen logischerweise das ganze System. Jene, die nur auf Applikationen angewendet werden, gelten nur für diese Programme. Die bringt folgende wichtigen Vorteile mit sich:
Kunden können Mitigationen mit dem sogenannten Audit-Mode testen. Die Folgende Tabelle stellt eine Auflistung der genutzten Mitigations-Technologien dar.
Bereich | Technologie | Beschreibung |
---|---|---|
SYSTEM / APPLICATION | Data Execution Prevention | Die DEP-Mitigation ist ein Schutz des Speichers, der den Stack und den Heap eines Prozesses als non-executable markiert. Die Ausführung von schadhaftem Code aus diesen Sektoren wird auf Prozessor-Ebene verhindert. |
SYSTEM / APPLICATION | Structured Exception Handler Overwrite Protection | Die SEHOP-Mitigation schützt gegen die meistgenutzten Techniken, die zum Stack Overflow in Windows führen. |
SYSTEM | Address Space Layout Randomization | ASLR lässt die Adresse, von wo aus Module geladen werden, zufällig erscheinen. So will EMET verhindern, dass Angreifer Daten aus vorhersehbarer Struktur laden können. Exploits, die auf fixe Locations im System bauen, werden automatisch wirkungslos. |
APPLICATION | Null Page pre-allocation | Die NullPage-Mitigation ist dazu designt, null dereference Probleme im User-Mode zu verhindern. Derzeit gibt es keine Möglichkeit diese per Exploit zu manipulieren. Daher ist die NullPage-Mitigation eine Depth-Mitigation-Technology. |
APPLICATION | Common heap spray address pre-allocation | Die HeapSpray-Mitigation dient dazu, oft genutzte Speicheradressen vorzubelegen und damit Heap Spraying Attacks vorzubeugen. Es ist aber zu bemerken, dass es nur auf jene Exploits abzielt, die generische Adressen verwenden. |
APPLICATION | Export Address Table Access Filtering | Die EAF-Mitigation blockiert die am meisten genutzten Angriffsvektoren der Exploits indem sie die Location einer von Windows freigelegten Funktion nachschlägt. Dies involviert den Scan der export Address Table der geladenen Libraries. Dies ist eine höchst effiziente Methode, aktuell genutzte Exploits zu blockieren. |
APPLICATION | Mandatory Address Space Layout Randomization | Die Mandatory ASLR Mitigation zwingt alle Module dazu, an zufälligen Adressen geladen zu werden, ungeachtet der Flags mit denen sie kompiliert worden sind. Exploits, die sich auf fixe Adressen beziehen, werden scheitern. |
APPLICATION | Bottom-Up virtual memory randomization | Die BottomUpASLR Mitigation macht die Basisadresse der Bottom-Up Allocations (inklusive Heaps, Stacks und anderen Speicher-Allocations) mittels 8bit Entropie zufällig. |
APPLICATION | Loadlibrary | Prüft die LoadLibrary Calls um Libraries zu laden und verhindert das Laden von Libraries, die UNC-Pfade verwenden. (zum Beispiel \\ evilsite\bad.dll) |
APPLICATION | Memory Protection Checks | Verhindert, dass die Stack Area ausführbar wird. Dies wird in der Regel von Shellcode oder ROP Gadgets gemacht. |
APPLICATION | Caller Checks | Stellt sicher, dass eine systemkritische Funktion aufgerufen wird, dass dieser Aufruf über eine Call Instruction und nicht eine RET kommt. Dies ist eine nützliche Mitigationstechnik, die viele ROP Gadgets aufhält. Diese Mitigation ist nicht mit allen Programmen kompatibel. Internet Explorer unmittelbar nach einer Neuinstallation von Windows funktioniert gut mit dieser Mitigation. |
APPLICATION | Stack Pivot | Versucht, ROP Gadgets nach einem Call für eine kritische Funktion aufzuspüren. Wie die Caller Checks Funktion ist dieses Feature nicht zwingend mit allen Programmen kompatibel. |
APPLICATION | Simulate Execution Flow | Diese Mitigation stellt fest, ob der Stack verdreht worden ist. Der Simulate Execution Flow ist mit den meisten Programmen kompatibel. |
Weitere Informationen bietet das EMET 4.0 User Manual im Hilfe Menu der Anwendung.
Allerdings werden nicht alle Mitigations-Optionen von allen Betriebssystemen und Anwendungen unterstützt, aber Microsoft arbeitet kontinuierlich daran, die Software zu verbessern und alle wichtigen Plattformen und alle wichtigen Applikationen zu unterstützen. Hier eine kleine Übersicht über die unterstützten Features auf den einzelnen Plattformen.
Area | Mitigation | XP | W2003 | Vista | W2008 | Win7 | W2008 R2 | Win8 | W2012 |
---|---|---|---|---|---|---|---|---|---|
SYS | DEP | OK | OK | OK | OK | OK | OK | OK | OK |
SYS | SEHOP | – | – | OK | OK | OK | OK | OK | OK |
SYS | ASLR | – | – | OK | OK | OK | OK | OK | OK |
APP | DEP | OK | OK | OK | OK | OK | OK | OK | OK |
APP | SEHOP | OK | OK | OK | OK | OK | OK | OK | OK |
APP | NULL page | OK | OK | OK | OK | OK | OK | OK | OK |
APP | HEAP Spray | OK | OK | OK | OK | OK | OK | OK | OK |
APP | mASLR | – | – | OK | OK | OK | OK | OK | OK |
APP | EAF | OK | OK | OK | OK | OK | OK | OK | OK |
APP | LoadLibrary | OK | OK | OK | OK | OK | OK | OK | OK |
APP | Mem Protection | OK | OK | OK | OK | OK | OK | OK | OK |
APP | Bottom-up | OK | OK | OK | OK | OK | OK | OK | OK |
APP | SimExecFlow | OK | OK | OK | OK | OK | OK | OK | OK |
Eine weitere Limitation besteht im Bereich des Web Certificate trust. Nur folgende Browser unterstützen die Funktion:
Die folgenden Versionen sind nicht unterstützt:
EMET ist kein Fire and Forget Tool. User müssen das Tool mit Vorsicht und Sorge konfigurieren und alle Einstellungen testen bevor es in einer produktiven Umgebung angewendet wird. Und: EMET ist keine End User Tool wie ein Antiviren-Programm.
Nach der Installation – EMET benötigt .NET-Framework 4) und dem folgenden Systemneustart kann das Programm mittels einem GUI benutzt werden. Das sieht in etwa so aus:
In der ersten Hälfte des Fensters können Sie alle verfügbaren System-Features sehen sowie der Status der selbigen: Enabled, Application Opt-In, Application Opt-Out or Disabled. In der zweiten Hälfte sind alle derzeit aktiven Prozesse aufgelisted sowie die mitlaufenden Mitigations-features. Die System-Mitigations-Einstellungen können in diesem Panel konfiguriert werden:
Die Application Mitigation Settings können im folgenden Panel konfiguriert werden:
Um eine bestimmte Mitigations-Einstellung hinzuzufügen, genügt ein klick auf den Add-Button oder ein Rechtsklick in die Liste der aktiven Prozesse, das eine Mitigations-Einstellungs-Checkbox aufruft. Alle Aktionen werden ins Windows Application Log aufgenommen und über das Tray Icon rapportiert. Daher, wenn Sie Bedarf an einer Analyse haben, können Sie die EMET Log Source einfach dort filtern. Dies ist wichtig, wenn sie das Programm im Audit-Mode laufen lassen und keine Prozesse beenden, die gegen die Policy verstossen. Diese Prozesse werden per default beendet:
EMET 4 bietet ein Krypto-Erweiterungs-Modul an, das zusätzliche check während dem Certificate Chain Trust Validation Prozess implementiert. Wenn der Browser eine HTTPS-Website ansteuert wird EMET das erhaltene SSL-Zertifikat und die Root Certificate Authority, die das Certificate ausgestellt hat, validieren.
Je nach Konfiguration für eine bestimmte Domain erkennt EMET eine Variation in der ausstellenden Root Certificate Authority für ein spezifisches SSL Certificate. Sollte EMET eine Variation entdecken, wird es nur die Anomalie sehen, die Verbindung aber nicht stoppen. Ausnahmen können über das Eigenschaften-Menu der Root CA konfiguriert werden. Unter anderem können Key Size, Hashing Algorhythmus und Ausstellungsland konfiguriert werden. Ein Beispiel: EMET kann so eingestellt werden, dass es eine Warnung ausgibt, wenn eine Certificate Key Length unter 2048 bit liegt.
Um das kurz zu testen können wir eine Pinning Policy implementiere, welche die folgenden Einstellungen in CONFIGURE/CERTIFICATE TRUST/ PINNING RULES/ADD hat:
Gehen Sie jetzt zum Tab Protected Web Site und fügen Sie folgende Sites hinzu:
Dies stellt sicher, dass Man-in-the-Middle-Attacken einen EMET-Warnung ausgeben werden. Wenn Sie dies ausprobieren möchten, dann können sie die Pinning Rule so abändern, dass die Key-Length-Einstellung 4096 statt 2048 liest oder einfach die Trusted Root CA ändern.
Nach der Änderung der Einstellungen und dem erneuten Zugriff auf die Site sollte folgende Warnung auftauchen:
Und der folgende Eintrag sollte im Application Log erscheinen:
EMET ist ein gutes, starkes Werkzeug aber es muss gut und mit Bedacht konfiguriert und getestet warden, bevor in einem produktiven System eingesetzt wird. Sicherheit auf diesem Level ist mehr oder weniger die letzte Schicht der Verteidigung eines Systems. Wir empfehlen den Einsatz von EMET als Finalisierung Ihrer Sicherheitsstrategie für sehr kritische Komponente wie:
Bereich | Komponente |
---|---|
Enduser Workstations | Internet Bowsers |
Internet Services / Gateways | Web Servers and Email Gateways |
Critical internal services | Domain Controllers, DNS servers, Exchange Servers |
Investieren Sie Zeit in die Erstellung einer Policy das, welche die spezifische Nutzung der Maschinen im Hintergrund hat. Nur der Versuch einer Policy reicht nicht aus. Nach erfolgreicher Konfiguration aber steht Ihnen ein sehr nützliches Tool gegen Malware zur Verfügung … und das erst noch gratis!
Unsere Spezialisten kontaktieren Sie gern!
Andrea Covello
Unsere Spezialisten kontaktieren Sie gern!