Vista: Mehr Sicherheit

Das Thema Sicherheit bewegt Microsoft ebenso wie die Anwender mehr als jedes andere Thema. Daher ist es auch nicht überraschend, dass gerade bei Windows Vista sehr viel Arbeit in den Bereich Sicherheit gesteckt wurde – von Maßnahmen im Entwicklungsprozess bis hin zu neuer Funktionalität.

Es ist mittlerweile vier Jahre her, dass Microsoft seine Idee des Trustworthy Computing angekündigt hat. Die Zielsetzung dabei ist, eine Umgebung zu schaffen, in der verschiedene Systeme in sicherer Weise miteinander kommunizieren können. Um das zu erreichen, sind Maßnahmen auf mehreren Ebenen erforderlich:

  • Die Identifikation von Benutzern, aber auch von Organisationen, Herstellern von Geräten und Entwicklern von Code ist von zentraler Bedeutung. Das setzt auch leistungsfähige Mechanismen einerseits für die Speicherung von Identitätsinformationen, andererseits aber auch für eine starke Authentifizierung voraus.

  • Bei der Softwareentwicklung muss in jeder Phase auf die Sicherheit des erzeugten Codes geachtet werden.

  • Die Nutzung der Sicherheitsfunktionen von Systemen muss sowohl für Endanwender als auch für IT-Administratoren einfacher werden. Das setzt neben einfacheren Verwaltungsschnittstellen auch eine verstärkte Nutzung von Standards voraus, um über Systemgrenzen hinweg mit Sicherheitsfunktionen arbeiten zu können.

Als Ergebnis ist eine schon vom Design her sichere Betriebssystemplattform erforderlich, die Anforderungen wie die Isolation von Code vor Angriffen, mehrstufige Authentifizierungsmechanismen, effiziente Lösungen für die Zugriffskontrolle und ein anwendungsübergreifendes Auditing unterstützt.

Security Development Lifecycle

Die Trustworthy Computing-Initiative wurde von Microsoft als Konsequenz auf die vielfältige und durchaus berechtigte Kritik an den vielen Sicherheitsmängeln in Windows-Betriebssystemen entwickelt. Ein wesentliches Element darin ist der Security Development Lifecycle (SDL), mit dem in jeder Phase der Softwareentwicklung darauf geachtet wird, dass der erzeugte Code so sicher wie möglich ist. Zwar gilt auch weiterhin das Axiom, dass ab einer gewissen (relativ früh erreichten) Komplexität von Software keine Fehlerfreiheit mehr zu erreichen ist und dass es damit auch keinen zu 100% sicheren Code geben kann, doch durch die richtigen Maßnahmen lässt sich das erreichbare Niveau der Sicherheit deutlich erhöhen. Windows Vista ist das erste Clientbetriebssystem (und entsprechend Longhorn das erste Serverbetriebssystem), das vollständig entsprechend dieses Lifecycles entwickelt wurde. Einige andere Produkte wurden bereits nach dem SDL entwickelt, ebenso wie Service Packs für die Windows-Betriebssysteme.

Im Rahmen des SDL wurden unter anderem mehr als 1.400 Modelle möglicher Sicherheitsrisiken definiert und getestet. Microsoft arbeitet mit einem eigenen Team von „in-house hackern“, die permanent nach Schwachstellen suchen. Daneben hat Microsoft eigene Tools entwickelt, um systematisch nach Fehlern zu suchen, die von bestimmten definierten Angriffsvarianten genutzt werden können. Insbesondere wurde darauf geachtet, dass alle Puffer, die von Funktionen des Betriebssystems genutzt werden, beschrieben sind, um diese Funktionen überprüfen zu können.

Die Änderungen gehen so weit, dass über 100 interne APIs entfernt und durch neue, sichere Varianten ersetzt wurden. Diese Anstrengungen werden dazu führen, dass vor allem wiederkehrende Schwachstellen wie die Anfälligkeit des Betriebssystems gegenüber Angriffen, die Pufferüberläufe nutzen, seltener werden. Dennoch wird es auch damit kaum gelingen, ein völlig sicheres Betriebssystem zu schaffen – weil Fehler passieren und weil es dazu auch noch anderer Maßnahmen bedarf.