Windows XP SP2: Auswirkungen auf die Sicherheit

Das Service Pack 2 für Windows XP läutet den ersten größeren Schub an Sicherheitsänderungen bei Microsoft-Betriebssystemen ein. Es hat auch konkrete Auswirkungen auf die Softwareentwicklung, die zu beachten sind.

Um die Auswirkungen des Service Pack 2 auf die selbst entwickelten Anwendungen besser abschätzen zu können, sollten Sie sich zunächst einen allgemeinen Überblick über die darin durchgeführten Änderungen an Windows und seinem Sicherheitsmodell verschaffen. Diesen Überblick erhalten Sie zum Beispiel durch ein Studium der von Microsoft veröffentlichten Dokumente zum Thema.

Dort gibt es auch eine Vorabversion des Service Packs zum Download, sodass man den Code auch tatsächlich auf einer Testmaschine installieren und ausprobieren kann.

Unabhängig von der neuen Firewall oder anderen Eigenheiten des Service Pack 2 sind zwei Punkt wichtig, die allgemein wenig Beachtung finden, aber eigentlich extrem wichtige Bestandteile des Service Pack sind. Und darum wird hier auch kurz darauf eingegangen, obwohl die Auswirkungen auf Entwickler eher gering sind:

Zum einen enthält es nicht nur ein neues Release von XP (Home und Professional), sondern auch eine komplett neues Windows XP Tablet PC Edition, das die Nutzung von Tablet PCs erheblich verbessert.

Aus einem Sicherheitsstandpunkt heraus betrachtet ist die zweite Änderung aber noch wesentlich dramatischer: Für das Service Pack 2 wurden alle ausführbaren Programme von XP mit dem neuen VC++ Compiler unter Nutzung der dort seit einiger Zeit verfügbaren Compileroption zum Schutz von Speicherbereichen übersetzt (/GS). Dadurch erhalten diese Programme einen erheblich besseren Schutz gegen überschriebene Puffer.

Ist die neue Compileroption eingeschaltet, fügt der Compiler beim Übersetzen so genannte Cookie-Bytes in bestimmte Speicherblöcke ein. Beim Rücksprung einer Funktion werden diese Bytes überprüft. Sind sie verändert, wird ein Buffer-Overwrite erkannt und das betroffene Programm angehalten. Windows zeigt eine entsprechende Fehlermeldung an. Das schafft natürlich keinen absoluten Schutz vor Angriffen die Buffer-Overruns ausnutzen, macht das Ausnutzen solcher Buffer Overruns aber erheblich schwerer.