Source Code Security Assessment

Decken Sie Mängel bei der Entwicklung und Implementierung von Software-Code auf

Nächste Schritte:

Overview

Wie die Forschung zeigt, ist die Beseitigung von Sicherheitsproblemen in einer frühen Phase der Entwicklung effizienter und kosteneffektiver als das herkömmliche Penetrate-and-Patch-Modell, bei dem Probleme erst nach einem Angriff behoben werden. Mit strenger und effizienter Quellcodeprüfung finden Foundstone-Sicherheitsberater für Anwendungen schon zu Beginn des Entwicklungsprozesses schädliche Software-Sicherheitsprobleme.

Zusätzlich zur Arbeit mit kommerziellen Prüftools, mit denen der Prozess automatisiert werden kann, validieren Foundstone-Experten jedes Problem manuell und überprüfen den Code, um die Einschränkungen automatischer Tools und ineffektiver Methoden zu überwinden. Unsere Sicherheitsberater für Anwendungen decken Verletzungen von Richtlinien und empfohlenen Vorgehensweisen auf, wie etwa ungeeignete Verschlüsselungsalgorithmen und häufig verwendete semantischen Sprachkonstrukte, die Schwachstellen verursachen.

Wir bieten Fachkompetenz in C, C++, C#, VB.NET Java, CFML, Perl, Classic ASP und PHP, in der Arbeit mit Entwicklungsumgebungen wie J2EE und dem .NET Framework sowie in der Entwicklung auf den Plattformen Win32 und UNIX.

Bei der Risikobewertung von Quellcode stützt sich Foundstone auf die Kompetenz der Berater seines Software and Application Security Service (SASS), die bereits an zahlreichen Anwendungen von Kunden sowie an ihrer eigenen Software Quellcode-Überprüfungen durchgeführt haben. Unsere SASS-Berater haben an kommerziellen Software-Systemen für Unternehmen praktische Entwicklungsarbeit geleistet. Sie verstehen sowohl den Software-Entwicklungsprozess als auch, warum und wie es zu Sicherheitsfehlern kommt. Mit unserer Erfahrung können wir in Kombination mit hochentwickelten, automatischen Tools, die mit Kontextanalyse arbeiten, eine größere Codemenge schneller, genauer und effektiver durchsehen als andere Sicherheitsberatungen.

Wichtige Vorteile

Unsere ausführlichen Berichte enthalten spezifische Informationen zu Schwachstellen, darunter Zeile, Position in der Datei, das Problem selbst und vorgeschlagene Lösungen. Wir liefern einen Überblick und Statistiken für Codeabschnitte, etwa die Häufigkeit von Schwachstellen (pro 1000 Codezeilen) in einzelnen Bereichen. Außerdem werden Vorschläge für strategische Abhilfemaßnahmen wie die Erstellung wiederverwendbarer Komponenten oder Sicherheitsbibliotheken unterbreitet.

Methodology

Bei jeder größeren Anwendung, die wir untersuchen, bilden wir zunächst zusammen mit dem Entwicklungsteam ein Bedrohungsmodell. Durch dieses Bedrohungsmodell gewinnen wir ein Bild von der Funktionalität, dem technischen Design sowie von vorhandenen Sicherheitsbedrohungen und Gegenmaßnahmen. Mithilfe von Bedrohungsmodellen können wir den zu überprüfenden Codeumfang auf ein viel kleineres Maß einschränken – typischerweise 40 bis 60 Prozent des ursprünglichen Codeumfangs.

Ausgestattet mit dem Bedrohungsmodell und einem genauen Bild der Architektur der Anwendung setzen wir automatische Tools von Secure Software ein, um den Code auf Sicherheitsfehler in Semantik und Sprache zu untersuchen. Generell suchen wir nach zwei Arten von Problemen: Entwicklungs- und Implementierungsfehler. Zu den Entwicklungsfehlern zählen bereits implementierte mangelhafte Entwicklungskonzepte, etwa die Wahl einer ungeeigneten Quelle für Zufallszahlen für die Erzeugung von kryptografischen Schlüsseln. Implementierungsfehler sind typischerweise syntaktische oder semantische Sprachkonstrukte, die Sicherheitsschwachstellen verursachen. In der Zeitschrift Software Magazine wurde bereits mehrfach über unsere Arbeit und unsere Methoden zur Codeuntersuchung berichtet.