Ratgeber Software

So wehren Sie Hacker-Angriffe besser ab

27.01.2011 von Thorsten Eggeling
Kaum ist eine Sicherheitslücke im PC gestopft, wird schon die nächste bekannt. Hilfe kommt von Microsoft: Das kostenlose Programm Emet 2.0 soll vielen Gefahren den Schrecken nehmen. Unsere Kollegen der PC-WELT zeigen, wie’s geht.
Hacker greifen PCs immer öfter über PDF- oder Flash-Dateien an.

Sicherheitslücken werden immer wieder in Programmen entdeckt, die sich bis zur Reaktion des Herstellers nur schwer stopfen lassen. Antiviren-Software verhindert zwar, dass bekannte Schädlinge auf den PC gelangen. Bei bisher unbekannten Bedrohungen sind sie aber oft machtlos. Besonders gefährlich sind scheinbar harmlose, aber von Hackern besonders präparierte Dateien, die Sicherheitslücken ausnutzen. Das neue Sicherheitsprogramm Emet 2.0 von Microsoft verspricht, den PC vor diesen Gefahren besser zu schützen. Emet steht für "Enhanced Mitigation Experience Toolkit". Das englischsprachige Programm ist kostenlos, eignet sich für Windows XP SP 3, Vista SP 1 und Windows 7.

So greifen Hacker Ihren PC an
Angreifer setzen auf immer dieselben Methoden, um Kontrolle über den PC zu erlangen. Die simpelste Masche: Sie hängen an eine E-Mail eine ausführbare Datei und wollen den Benutzer mit Versprechungen oder Warnungen dazu bringen, diese zu starten. Wegen des gestiegenen Sicherheitsbewusstseins führt das jedoch immer seltener zum Erfolg. Daher haben sich viele Internetkriminelle auf die weit verbreiteten PDF- oder Flash-Dateien verlegt, um Schädlinge zu verteilen. Sie nutzen dabei Sicherheitslücken etwa im Adobe Reader oder Adobe Flash-Player aus, die den Start beliebigen Programmcodes aus der gerade geöffneten Datei erlauben. Darüber lassen sich dann vom Benutzer unbemerkt über das Internet Programme installieren, die Kennwörter ausspionieren, PIN-Eingaben aufzeichnen oder Werbemüll versenden.

Der beste Schutz vor diesen Angriffen ist, alle Programme regelmäßig zu aktualisieren. Die Hacker sind den Software-Herstellern jedoch oft eine Nasenlänge voraus und finden ständig neue Einfallstore. Es ist daher meist reine Glückssache, wenn der PC im Zeitraum zwischen dem Bekanntwerden einer Bedrohung und dem Schließen der Sicherheitslücke nicht infiziert wird.

So schützen Sie den PC mit Emet
Windows bietet von Haus aus bereits einige Schutzfunktionen, etwa die "Data Execution Prevention (DEP)". Diese verhindert, dass Code aus bestimmten Speicherbereichen ausgeführt wird. Die "Structure Exception Handler Overwrite Protection (SEHOP)" soll Angriffe per Puffer-Überlauf vereiteln. Und die "Address space layout randomization (ASLR)" sorgt für wechselnde Speicheradressen von Programmen, um Angreifern den Zugriff auf bestimmte Funktionen zu erschweren.

Aber nicht alle Programme verwenden diese Funktionen. Microsoft hat darum mit Emet eine Software entwickelt, über die sich einzelne Sicherheitsfunktionen auch dann aktivieren lassen, wenn ein Programm diese nicht selbst mitbringt. Das kann die Sicherheit vor allem bei den üblichen Verdächtigen verbessern, die zu den Lieblingszielen von Hackerangriffen zählen: beispielsweise beim PDF-Anzeigeprogramm Adobe Reader und bei Internet-Browsern wie dem Internet Explorer oder Mozilla Firefox. Emet ist relativ übersichtlich und einfach zu bedienen. Sie müssen nur die Programme in eine Liste aufnehmen, die Sie durch Emet schützen lassen wollen.

Schritt 1:
Das Programm Emet benötigt mindestens das .NET Framework in Version 2.0. Wenn es auf Ihrem PC noch nicht vorhanden ist, installieren Sie am besten die .Net-Version 3.5 SP 1. Sie enthält auch alle vorherigen Versionen. Danach installieren Sie Emet.

Schritt 2: Nachdem Sie Emet gestartet haben, sehen Sie ein Fenster mit einer Liste der gerade laufenden Programme und Prozesse. In der Spalte "Running EMET" erscheint ein grünes Symbol, sobald Emet dieses Programm schützt. Da Emet noch nicht konfiguriert ist, ist hier noch nichts zu sehen. Schließen Sie das Programm, das Sie unter dem Schutz von Emet laufen lassen wollen. Klicken Sie auf die Schaltfläche "Configure Apps" und dann auf "Add". Beim Adobe Reader gehen Sie dann beispielsweise so vor: Geben Sie hinter "Dateiname" C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe ein, und klicken Sie auf "Öffnen". Oder Sie suchen die EXE-Datei in der Explorer-Ansicht des Fensters. Klicken Sie dann auf die Schaltfläche "OK".

Schritt 3: Starten Sie das in Schritt 2 konfigurierte Programm. In Emet taucht jetzt in der Spalte "Running EMET" neben diesem Prozess ein grünes Symbol auf. Probieren Sie alle Funktionen des nun gesicherten Programms aus. Öffnen Sie beispielsweise im Adobe Reader unterschiedliche PDF-Dateien, und achten Sie auf Darstellungsprobleme und Fehlfunktionen.

Schritt 4:
Sollten beim Testen des Programms Probleme auftreten, klicken Sie in Emet erneut auf "Configure Apps". Deaktivieren Sie zuerst die Schutzfunktion "MandantoryASLR", und starten Sie den Adobe Reader neu. Wiederholen Sie diesen Schritt, bis kein Fehler mehr auftritt. Deaktivieren Sie dabei von rechts nach links nacheinander eine Schutzfunktion nach der anderen. Bei den Tests in der Redaktion traten zumindest beim Adobe Reader keine Fehlfunktionen auf. Es ist aber möglich, dass einige Emet-Einstellungen bei bestimmten Programmen unerwünschte Nebenwirkungen haben können. Vorher wissen kann man das nicht. Hier hilft nur ausprobieren.

Anatomie einer Adobe-Reader-Lücke

Es erfordert schon eine genaue Kenntnis des Betriebssystems und unterschiedlicher Programmmier-Techniken, um Angriffspunkte in Programmen zu finden. Einfache Untersuchungen kann aber jeder vornehmen. Mit dem Process Explorer aus der Microsoft Sysinternals-Suite 2010.10 ist es möglich, Programme zu analysieren.

Am Adobe Reader lässt sich gut zeigen, wie Sie potenzielle Sicherheitslücken finden. Die lassen sich dann mit Emet schließen. Bis Redaktionsschluss bestand immer noch eine gefährliche Sicherheitslücke im Adobe-Programm. Sie ermöglicht es Angreifern, den PC zum Absturz oder unter ihre Kontrolle zu bringen. Dazu startet eine entsprechend präparierte PDF-Datei bestimmte Funktionen aus der Datei Icucnv36.dll, über die sich beliebige Dateien auf die Festplatte schreiben und starten lassen. Das ist nur möglich, weil Adobe Icucnv36.dll nicht mit der wichtigen Sicherheitsfunktion ASLR erstellt hat.

Wie Sie prüfen, ob bei einem Programm oder einer DLL ASLR aktiv ist, zeigt PC WELT exemplarisch am Adobe Reader. Sie können auch ein beliebiges anderes Programm starten und untersuchen. Schritt 1: Starten Sie den Adobe Reader, und öffnen Sie eine PDF-Datei.
Schritt 2: Entpacken Sie die Sysinternals-Suite, und starten Sie Process Explorer ("procexp").
Schritt 3: Suchen Sie in der Baumansicht unterhalb von "explorer.exe" nach "AcroRd32". Wählen Sie die Zeile mit einem Mausklick aus. Blenden Sie dann über "View, Show Lower Pane" das Informationsfenster ein. Klicken Sie auf "View, Lower Pane View, DLLs", um die DLL-Programmbibliotheken zu sehen, die das Programm geladen hat. Gehen Sie auf "View, Select columns" und dann auf die Registerkarte "DLL". Setzen Sie per Mausklick Häkchen vor "Base Adress" und "ASLR Enabled".

Im unteren Bereich des Fensters sehen Sie jetzt alle Dateien, die der Adobe Reader gerade geladen hat. Darunter sind nicht nur DLL-Dateien, die Programmcode enthalten, sondern beispielsweise auch DEU-Dateien, in denen nur die deutschsprachige Beschriftung der Programmoberfläche enthalten ist. In der Spalte "ASLR" sehen Sie, ob ASLR aktiv ist. Wenn dort nichts oder "n/a" steht, ist ASLR entweder nicht vorhanden oder nicht anwendbar. In der Spalte "Base" sehen Sie die Speicheradresse, an die eine DLL geladen wurde. Wenn ASLR aktiv ist, ändert sich diese Adresse bei jedem Programmstart auf einen zufälligen Wert.
Adobe Reader lädt die Datei Icucnv36.dll allerdings nicht immer, denn die Programmbibliothek ist nur für die Verarbeitung bestimmter Zeichensätze erforderlich. Wenn Sie diese DLL-Datei nicht im Process Explorer sehen, versuchen Sie es einfach mit einer anderen PDF-Datei.

Da für Icucnv36.dll ASLR nicht aktiv ist, lädt Windows die DLL immer an dieselbe Speicheradresse. Wenn der Adobe Reader jedoch durch Emet geschützt ist, sehen Sie, dass sich die Adresse nach einem erneuten Start des Programms geändert hat. Der Process Explorer zeigt in der Spalte "ASLR" jedoch auch jetzt nichts an, da sich dieser Eintrag nur auf DLL-Dateien bezieht, bei denen diese Funktion standardmäßig aktiv ist.

Gezielt Sicherheitslücken in Programmen finden
Der Process Explorer eignet sich gut für die Analyse laufender Programme und ihrer Komponenten. Wenn Sie aber gezielt untersuchen wollen, welche Sicherheitsfunktionen ein bestimmtes Programm mitbringt, ist das kostenlose, englischsprachige Microsoft-Programm Binscope die bessere Wahl. Nach dem Start des Programms gehen Sie auf die Registerkarte "Configure". Hinter "Path" tragen Sie den kompletten Pfad zu einer EXE- oder DLL-Datei ein. Oder Sie klicken auf die Schaltfläche rechts vom Eingabefeld, um eine Datei auszuwählen. Danach klicken Sie auf die Schaltfläche "Run".

Nach der Untersuchung sehen Sie den Bericht auf der Registerkarte "Report". Im Beispielfall der unsicheren Datei Icucnv36.dll erscheint "Failed Checks" und darunter "DBCheck (Fail)". Nach einem Klick auf die Zeile zeigt Binscope die Zusatzinfo "Image is not marked Dynamic Base compatible" an. Diese Meldung erscheint bei Programmen, die kein ASLR beherrschen.

Für einen intensiven Test aller Dateien auf dem Rechner wäre der Aufwand natürlich zu groß. Es kann sich aber lohnen, wenigstens die Programme zu prüfen, deren Hersteller schon seit einiger Zeit keine Aktualisierungen mehr bereitstellen. Falls Binscope bei Ihnen Sicherheitsbedenken meldet, sollten Sie Ihr Betriebssystem vor Lücken in diesem Programm mit Emet schützen.

Dieser Artikel basiert auf einem Beitrag unserer Schwesterpublikation PC-Welt. (ph)