Sicherheit in der 64-Bit-Version von Vista − Vor- und Nachteile
Windows Vista von Microsoft wurde vor beinahe einem Jahr veröffentlicht. In der Vorbereitungsphase für die Markteinführung versprach Bill Gates, der Sicherheit von Vista höchste Priorität im Unternehmen einzuräumen. Durch Code, der sowohl vom Design als auch von der Implementierung her sicher war, sollte das Betriebssystem undurchlässig gemacht werden für die hochentwickelte Malware und die Remote-Angriffe, die seinen Vorgänger, Windows XP, verfolgten. Microsoft arbeitete volle fünf Jahre daran, das neue Betriebssystem von Grund auf neu zu entwickeln. Die Markteinführung Ende Januar 2007 fand zwei Jahre später statt als ursprünglich geplant.
In diesen zwei Jahren begannen die Hardware-Hersteller damit, Geräte auf den Markt zu bringen, die die Ausführung von 64-Bit-Code auf Computern mit kompatiblen Betriebssystemen ermöglichten. Microsoft erkannte die wachsende Nachfrage für die 64-Bit-Rechenleistung und teilte den Entwicklungsprozess und die daraus folgenden Versionen von Vista in zwei Untergruppen auf: die 32-Bit-Versionen (x86) und die 64-Bit-Versionen (x64).
Die 64-Bit-Systeme bieten gegenüber den x86-Modellen eine Reihe von Vorteilen bei der Leistung und Ausbaufähigkeit, die auch die Handhabung der Sicherheit beeinflussen. Das ist das Hauptthema dieses Artikels. Die nächste Ausgabe von Security Insight wird sich dann in einem größeren Zusammenhang mit all den Sicherheitsverbesserungen befassen, die in Vista umgesetzt wurden.
Vorteil Nr. 1: Vollständige Datenausführungsverhinderung (DEP − Data Execution Prevention)
Die DEP nutzt die Funktionen moderner Prozessoren, um bestimmte Bereiche des Arbeitsspeichers als Inhalte mit nicht ausführbaren Datenbits zu erfassen. So wird verhindert, dass in diesen Speicherorten Code ausgeführt wird. DEP hilft zu verhindern, dass bösartiger Code Pufferüberläufe (Buffer Overflows) ausnutzt, die entstehen, wenn ein Prozess die ihm zugewiesenen Speichergrenzen erreicht hat und versucht, auf benachbarte Regionen zu schreiben, die von anderen Prozessen verwendet werden.
Die 64-Bit-DEP erlaubt einen nativen Hardwareschutz für alle laufenden Programme und Dienste. Im Vergleich dazu ist die DEP in 32-Bit-Systemen nur für grundlegende und ausgewählte Programme und Dienste aktiviert.
Vorteil Nr. 2: Kernel Patch Protection (KPP − Kernel-Patch-Schutz)
KPP, auch unter der Bezeichnung PatchGuard bekannt, ist eine Maßnahme, die für alle Programme die Möglichkeit einschränkt, den Speicher des Windows-Kernels, dem Kern des Betriebssystems, direkt zu verändern. Microsoft beharrt schon lange darauf, dass keine Kernel-Veränderungen durch Drittanbieter zugelassen werden sollten und hat auch tatsächlich die Kernel-Zugriffsunterstützung für spätere 64-Bit-Versionen von Windows (XP und Vista) vollständig entfernt. Dadurch sollten die möglichen Auswirkungen von hochentwickelter Malware minimiert werden, z.B. von Rootkits im Kernel-Modus, die durch Patchen des Kernels agieren (durch Veränderung der Kernel-Strukturen, so dass die neuen Daten, die eingebettet werden, nicht mehr vom System registriert oder erkannt werden können), damit sie unentdeckt sind und bleiben.
Obwohl dieser Schritt eigentlich dazu dienen sollte, die Sicherheit durch ein Versiegeln des Kernels gegen Manipulationen von außen zu erhöhen, kam diese Maßnahme die Sicherheitsentwickler von Drittanbietern teuer zu stehen. Sie waren nämlich darauf angewiesen den Kernel zu verändern, um so einen Schutz umzusetzen, den das Betriebssystem selbst nicht bot. Wie sich herausstellte, bietet die Funktionsweise des KPP tatsächlich nur wenig Abschreckung für hartnäckige Malware − der KPP wurde so entwickelt, dass er die Kernel-Integrität nur gelegentlich überprüft, so dass während der Leerlaufzeiten unzulässige Veränderungen vorgenommen werden können. Sobald diese Kernel-Veränderung entdeckt wird, löst das System eine Notfall-Abschaltung aus, die dazu führt, dass die Anwender nicht gespeicherte Daten verlieren.
Hacker und Sicherheits-Forscher haben selbstverständlich bereits Wege gefunden, den KPP zu umgehen. Während Microsoft weiterhin Patches für den KPP herausgibt, kommen Beispiele zu Tage, wie verschiedene Leute den letzten KPP-Patch erfolgreich umgangen haben. Das bestätigt, dass der KPP ein ernsthaftes Eindringen auf Kernel-Ebene nur in begrenztem Maße abwehren kann.
Als Reaktion auf die Aufforderungen der Sicherheitsanbieter, zum Schutz ihrer Anwender einen brauchbaren Kernelzugriff zu bieten, hat Microsoft nun zugestimmt, für qualifizierte Sicherheitsanbieter (einschließlich Agnitum) eine Programmierschnittstelle (API - Application Programming Interface) bereitzustellen. Diese API wird in SP1 für Vista zur Verfügung stehen, das zur Zeit in der Beta-Phase ist und im ersten Quartal 2008 veröffentlicht werden soll.
Vorteil Nr. 3: Treibersignierung
Die Treibersignierung, eine weitere kontroverse, aber erhebliche Veränderung von Microsoft, macht es erforderlich, dass alle Treiber im Kernel-Modus digital signiert sind. Leider trägt auch das nur wenig zur Bekämpfung hochentwickelter Malware bei. Das Problem liegt darin, dass vertrauenswürdige und zertifizierte Software-Entwickler, die die Seite wechseln (oder unzufriedene Mitarbeiter oder frühere Angestellte, die ein auf den Namen der Arbeitgeber-Firma ausgestelltes digitales Zertifikat in ihrem Besitz haben) den Treiber mit ihrer persönlichen Signatur selbst authentifizieren und Malware in Umlauf bringen können. Sobald das geschieht, kann sich der Treiber ohne Einschränkungen auf den Anwender-Systemen aktivieren und seine Funktion auf 64-Bit-Vista-Systemen gemäß seiner Bestimmung aufnehmen. Die Zertifizierungsstelle oder Microsoft können - wie es in diesem Beispiel (Artikel in englischer Sprache) vor kurzem der Fall war - das Zertifikat natürlich widerrufen und so den Treiber deaktivieren. Das dauert jedoch einige Zeit, und die Anwender sind weiterhin gefährdet, solange der Treiber aktiv ist.
Eine weitere Schwachstelle dieses Ansatzes liegt darin, dass ein einfacher Befehlszeilen-Parameter die Signierung in der 64-Bit-Version von Vista insgesamt deaktivieren kann - das wäre für Malware ziemlich einfach zu erreichen.
Vorteil Nr. 4: Boot-Time-Verzifizierung der Code-Integrität
Wenn ein Computer das Betriebssystem lädt, wird für jeden dabei verwendeten Binärcode (ausführbare Dateien, Treiber und anderer Programmcode) überprüft, ob er authentisch und original ist. Durch diese Vorgehensweise wird sichergestellt, dass der Binärcode nicht modifiziert wurde und das System sauber ist. Die Binärcodes werden verifiziert, indem ihre Signaturen in den Systemkatalogen nachgeschlagen werden. Beim Systemstart überprüft der Vista-Bootlader die Integrität des Kernels, der Hardware-Abstraktions-Schicht (Hardware Abstraction Layer - HAL) und der Boot-Starttreiber. So soll ein System zuverlässig vor der Einbettung von bösartigem, nicht autorisiertem oder defektem Code geschützt werden.
Zusammenfassung
Obwohl Microsoft bei der Sicherheitsverstärkung der 64-Bit-Version von Vista Fortschritte gemacht hat, treffen Sicherheitslücken, von denen x86-Systeme betroffen waren, immer noch auf x64-Systeme zu, und Fachleute sind der Meinung, dass diese Situation auch so bleiben wird. Ein Blick auf den Verlauf der dokumentierten Sicherheitslücken in Windows Vista (in englischer Sprache) zeigt, dass beide Systeme beinahe in gleichem Maße anfällig sind für bösartigen Code, der darauf programmiert wurde, jede beliebige Sicherheitslücke in Vista auszunutzen (wie z.B. dieser Bericht von Microsoft zeigt).
Schlussfolgerung
Was bedeuten diese Verbesserungen der 64-Bit-Version also für Benutzer von Vista-Computern? Zum größten Teil bedeuten diese Veränderungen tatsächlich eine Verbesserung und sind gut durchdacht, wenn auch manchmal weniger gut umgesetzt. SP1 und die API werden viel dazu beitragen können, faire Rahmenbedingungen zwischen Microsoft und Drittanbieter-Sicherheitsfirmen zu schaffen. In der Zwischenzeit sollten Sie jedoch weiterhin angemessene Sicherheitsmaßnahmen ergreifen und Antiviren-/Antispyware-Programme, Firewalls und andere Schutzprogramme von Drittanbietern verwenden, da diese im Allgemeinen robuster und flexibler sind als die entsprechenden in Vista integrierten Programme.
|