Verbesserung der Sicherheit in Office 2010 durch SDL

Hallo, mein Name ist Didier und ich bin Security Program Manager im Microsoft Security Engineering Center. Unsere Aufgabe ist es, Teams wie dem Office-Team zu helfen, die Mindestanforderungen des Security Development Lifecycle (SDL, Entwicklungszyklus für sichere Software) zu übertreffen. Für Office 2010 habe ich eng mit Mitgliedern des Office TWC-Teams zusammengearbeitet. Der Microsoft SDL ist ein Prozess zur Entwicklung sicherer Software. Als unternehmensweite Initiative und verbindliche Richtlinie seit 2004 spielte der SDL eine wichtige Rolle bei der Integration von Sicherheit und Datenschutz in Software und Unternehmenskultur bei Microsoft. In einem ganzheitlichen und gleichzeitig praktischen Ansatz zielt der SDL darauf ab, die Anzahl und den Schweregrad von Sicherheitsrisiken in Software zu reduzieren. Durch den SDL werden Sicherheits- und Datenschutzmaßnahmen in allen Phasen des Entwicklungsprozesses eingeführt.

Ich möchte einige Ergebnisse der Entwicklung von Office 2010 hervorheben, die die Sicherheit unserer Kunden verbessern.

Der SDL umfasst über 50 Anforderungen bezüglich der Phasen im Entwicklungsprozess: Schulung (Training), Anforderungen (Requirements), Entwurf (Design), Implementierung (Implementation), Überprüfung (Verification), Veröffentlichung (Release) und auf die Veröffentlichung folgende Reaktion (Response). Die Anforderungen und Empfehlungen des SDL sind nicht statisch. Sie ändern sich regelmäßig angesichts neuer Bedrohungen und Verbesserungen der unterstützenden Infrastruktur, Tools und Prozesse. Die folgende Abbildung zeigt die Phasen des SDL-Prozesses:

clip_image002[4]

Einige Tools und Techniken, die den SDL-Prozess unterstützen, wurden extern veröffentlicht. Diese und andere Tools können aus dem Microsoft SDL Tools Repository (http://www.microsoft.com/security/sdl/getstarted/tools.aspx) heruntergeladen werden.

Neben der vom SDL-Prozess geforderten abschließenden Sicherheitsüberprüfung (Final Security Review) wurden vom Office 2010-Team weitere SDL-Anforderungen erfüllt. Hierzu gehören die Integration der verbesserten Ganzzahlüberlauf-Bibliotheken, die Kompilierung mit dem verbesserten GS-Flag und die Ausführung einer weit über die SDL-Anforderung hinausgehenden Reihe von Fuzzingiterationen (Testen mit zufälligen Daten). Dies waren die wirkungsvollsten der von Office 2010 erfüllten zusätzlichen SDL-Anforderungen.

Schulungsphase

Das Office TWC-Team hat eine spezielle Schulung zur Behebung von Ganzzahlüberläufen, zu Fuzzingtests mit Dateien und zur Sicherheit im Web entwickelt (im Wesentlichen Cross-Site Scripting (XSS) und Cross-Site Request Forgery (XSRF)). Diese Schulungen waren für die gesamte Office-Abteilung obligatorisch. Darüber hinaus wurde eine spezielle Schulung entworfen und bereitgestellt, um FAST, ein neu erworbenes Produkt, mit den vom SDL geforderten Tools und Aktivitäten in Einklang zu bringen.

Anforderungsphase

Office TWC und MSEC haben an der Neudefinition der Security Bug Bar und des Security Bug Triage-Prozesses gearbeitet, um neuere Angriffe einzubeziehen. Dabei wurden insbesondere die Fachkenntnisse der Office- und der TWC-Abteilung zur Überprüfung von Sicherheitsfehlern genutzt.

Entwurfsphase

In der Entwurfsphase wurden mehrere Arbeitsaufgaben identifiziert, die die Vertrauenswürdigkeit von Office-Dokumenten erhöhen sollen. Diese Arbeitsaufgaben bewirkten Verbesserungen im Sicherheitscenter durch folgende neue Features: vertrauenswürdige Dokumente, Zugriffsschutzverbesserungen, durch die Benutzer auswählen können, welche Dateien sie öffnen oder in ihrem Netzwerk speichern möchten, Office-Dateiüberprüfung und geschützte Ansicht. Diese Verbesserungen wurden vorgenommen, damit Kunden Office-Dokumenten ohne Furcht vor Angriffen vertrauen können. Diese zusätzliche Sicherheit sollte zudem ohne unnötige Eingabeaufforderungen bereitgestellt werden, die zu einem Meldungsüberdruss führen und somit den Sicherheitsnutzen dieser Features vermindern würden. Unter http://blogs.technet.com/office2010/archive/2009/07/21/office-2010-application-security.aspx können Sie mehr über diese Features erfahren.

Von Office TWC wurde eine umfangreiche Gefahrenmodellaktivität in der gesamten Abteilung durchgeführt, wobei über 500 Gefahrenmodelle erstellt und überprüft wurden. Durch die Gefahrenmodellaktivität wurden vom Team über 1000 potenzielle Sicherheitsprobleme erkannt und behoben.

Weitere Verbesserungen wurden in der Kryptografieunterstützung in Office 2010 vorgenommen. Zu diesen Verbesserungen gehört die Unterstützung für digitale Signaturen nach XAdES-Standard, wodurch die Office-Clientanwendungen kryptografisch flexibel werden, da ein beliebiger vom Betriebssystem (nur Windows Vista und höher) bereitgestellter kryptografischer Algorithmus verwendet werden kann. Eine weitere Verbesserung stellt ein neues Feature für Unternehmen dar, das domänenbasierte Kennwortrichtlinien zur Kennwortverschlüsselung ermöglicht.

Implementierungsphase

Office TWC implementierte eine automatisierte Lösung zur verbesserten Berichterstellung zu OACR-Ergebnissen (Office Automated Code Review, automatische Codeüberprüfung in Office), die es MSEC und Office TWC ermöglichte, Office-Produktteams mit Codequalitätsproblemen vor der Überprüfungsphase oder vor den ersten Penetrationstests zu identifizieren. So konnten sich die Teams auf sinnvollere Aktivitäten konzentrieren.

Basierend auf der Analyse gemeldeter Sicherheitsrisiken in früheren Versionen von Office wurde eine verbesserte Version von safeInt entwickelt und in Office 2010 eingesetzt.

Eine verbesserte Version von GS ("enhanced GS", verfügbar in Visual Studio 2010) wurde im Rahmen des Entwicklungszyklus von Office 2010 eingeführt und mit drei großen Komponenten von Office 2010 getestet. Es wurden keine größeren Regressionsprobleme gefunden, und das Feature wird in die nächste Version von Office integriert werden. Office 2010 ermöglicht erstmalig die Datenausführungsverhinderung (Data Execution Prevention, DEP), und wenn Sie Office 2010 unter Windows 7 verwenden, wird SEHOP verwendet, was die Ausnutzung strukturierter Ausnahmehandler (http://blogs.technet.com/srd/archive/2009/02/02/preventing-the-exploitation-of-seh-overwrites-with-sehop.aspx) verhindert.

Weitere Vorkehrungen wurden in SharePoint 2010 getroffen, um mehrinstanzenfähiges Hosting und die Verhinderung von websiteübergreifenden Skriptangriffen (Cross Site Scripting) zu verbessern. Die wichtigste Sicherheitsverbesserung war die Isolation von SharePoint-Lösungen im Sandkasten mithilfe einer Mischung aus Codezugriffssicherheit (Code Access Security) und einem benutzerdefinierten Sandkasten. Eine zusätzliche Maßnahme gegen Cross Site Scripting war die Verwendung von Browserheadern, um den Download potenziell unsicherer Inhalte zu erzwingen. Zudem wurden die zur Skripterstellung erforderlichen Berechtigungen erhöht.

Überprüfungsphase

Vom Beginn des Entwicklungszyklus an wurde verteiltes Fuzzing mit ständig verfeinerten Fuzzern ausgeführt. Dieser fortwährende Aufwand war eine der größten Investitionen von Office zur Verbesserung der Sicherheit der Parser in Office. Die Verwendung des Distributed Fuzzing Framework wird nun auf das gesamte Unternehmen erweitert und wird eines der Schlüsselelemente der nächsten SDL-Version sein. Die Anzahl der Fuzzingiterationen für Office 2010 betrug über 800 Millionen Iterationen über mehr als 400 Dateiformate. Dabei konnten über 1800 Fehler behoben werden. Neben dem Testen von Dateiformaten wurde das Distributed Fuzzing Framework für umfangreiche Fuzzingtests aller in Office 2010 enthaltenen ActiveX-Steuerelemente eingesetzt.

Während der Entwicklung von Office 2010 wurde eine automatisierte Infrastruktur eingerichtet, in der die meisten vom SDL während des Erstellungsprozesses geforderten Überprüfungstools (wie BinScope) ausgeführt wurden. So konnte das Office-Team diese Tools häufiger ausführen, um Probleme frühzeitig erkennen und schneller beheben zu können.

Während des Entwicklungszyklus von Office 2010 wurden interne und externe Penetrationstests ausgeführt. Diese Tests bezogen sich auf die in der Entwurfsphase identifizierten Features mit hohem Risiko und betrafen mehrere Produkte in den Client- und Server-SKUs.

Wir hoffen, dass all diese Aktivitäten zusammen die Robustheit von Office 2010 verstärken und die Bedenken von Kunden verringern, wenn sie Dokumente aus nicht vertrauenswürdigen Quellen erhalten.

Neben diesem Beitrag hat Microsoft vor einigen Monaten ein Whitepaper dazu veröffentlicht, wie der SDL zur Verbesserung von 2007 Microsoft Office System beitrug. Sie finden dieses Whitepaper unter http://go.microsoft.com/?linkid=9714223

Vielen Dank,

Didier Vandenbroeck

Lead Security Program Manager

Microsoft Security Engineering Center

Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter How the SDL helped improve Security in Office 2010