Eines der grundlegendsten Ziele der Softwaresicherheit ist es, bekannte Schwachstellenarten im Code aufzudecken, zu beheben und nachhaltig zu vermeiden. Mit einem Quellcode-Audit ist eine sehr tiefgehende Analyse und gleichzeitig eine gute Abdeckung des Codes möglich. Ist es Ihr Ziel, ein möglichst detailliertes Bild über die Sicherheitslage auf Implementierungsebene Ihrer Software zu bekommen, so ist eine solche Analyse das Mittel der Wahl. Das Team von SBA Research kann neben einem umfangreichen Wissen zu bekannten Schwachstellenarten auch auf automatisierte Tools zurückgreifen, welche die Effizienz und Ergebnisqualität weiter erhöhen.
Unsere Leistung
Für einen White-Box-Test wird dem Testteam der gesamte Quellcode der Applikation und eine laufende Instanz zur Verfügung gestellt. So erzielt ein manuelles Quellcode-Audit eine wesentlich bessere Abdeckung, ist jedoch mit einem erhöhten Aufwand verbunden. Um das manuelle Quellcode-Audit möglichst effizient zu gestalten, kann es in Kombination mit einer automatisierten, statischen Quellcode-Analyse durchgeführt werden. Bei dieser automatisierten Quellcode-Analyse setzt das Testteam vorab evaluierte Programme ein, die jeweilige Anwendbarkeit ist jedoch von der verwendeten Programmiersprache abhängig. Um False Positives in den automatisierten Ergebnissen zu vermeiden, führt das Testteam eine manuelle Verifikation dieser Ergebnisse durch.
Zusätzlich zur manuellen und automatisierten Quellcode-Analyse wird die Applikation ergänzend dynamisch getestet, um auch Schwachstellen in der Anwendungslogik zu identifizieren. Dadurch kann garantiert werden, dass in der zur Verfügung stehenden Zeit die bestmögliche Abdeckung erzielt wird.
Zur Steigerung der Ergebnisqualität und der Effizienz wird zu Testbeginn eine Einführung in den Quellcode durch das Entwicklungsteam empfohlen. Ebenso sollte während des gesamten Testzeitraums eine Ansprechperson des Entwicklungsteams für Fragen zur Verfügung stehen: die aktive Einbindung des Entwicklungsteams in den Test führt zu einem besseren Verständnis für die Schwachstellen, wodurch die anschließende Behebung leichter fällt und dieselbe Schwachstelle zukünftig vermieden wird. Außerdem können mit der Unterstützung der Ansprechperson komplizierte Funktionen und deren Abhängigkeiten untereinander schneller nachvollzogen und auf Schwachstellen analysiert werden. Eine enge Zusammenarbeit hat somit positive Auswirkungen auf die Testqualität, die Ergebnisse und auf die zukünftigen Entwicklungen der beteiligten Personen.
Arten von Quellcode-Audits
- Manuelles Quellcode-Audit (inklusive dynamischer Tests)
- Automatisiertes Quellcode-Audit (inklusive dynamischer Tests)
- Eine Kombination aus manuellem und automatisiertem Quellcode-Audit
Benefits
- Die Applikation wird sowohl statisch als auch dynamisch auf Schwachstellen getestet. Auf diese Weise werden alle Schwachstellenkategorien (beispielsweise auch in der Anwendungslogik) überprüft.
- Durch die automatisierte, statische Quellcode-Analyse wird eine sehr gute Abdeckung erzielt.