Quellcode Audit

Die statische Analyse einer Anwendung (engl. Static Application Security Testing, kurz SAST) bezeichnet die Untersuchung eines Anwendungssystems durch ein Review des Quelltextes. Die Analyse deckt verschiedene Ebenen und Perspektiven des Anwendungssystems ab:

  •  Überprüfung auf Anwendungsebene
    •  z. B. Implementierung von Anwendungskomponenten, Interaktion mit anderen Softwarekomponenten, etc.
  • Überprüfung auf Klassen- und Logikebene
    • z. B. Implementierung von Klassen, Kontrollflüssen, Eingabevalidierung, etc.
  • Überprüfung von Konfigurationen
    • z. B. für den Anwendungsserver, verwendete Frameworks, Logging, etc.

Gründe für ein Quellcode Audit

Ein Quellcode Audit ermöglicht die Identifikation von Sicherheitsschwachstellen in den frühen Phasen des Softwareentwicklungszyklus, um aufwändige Änderungen im späteren Projektverlauf zu verhindern (Secure by Design). Da die Untersuchung auf Quelltextebene stattfindet, ist für die Analyse nicht zwangsweise eine lauffähige Instanz des vollständigen Softwaresystems notwendig. Durch die Einbindung von Sicherheitsanalysen in den Software Development Lifecycle (SDLC) können entwicklungsbegleitend Hinweise und Fachexpertise aus dem Bereich der sichere Softwareentwicklung eingebracht werden. Zudem erlaubt die Analyse des Quelltextes die Untersuchung von Konfigurationen sowie der Anwendungslogik auf einem tieferen Level als es in einer vergleichbaren Untersuchungsform während der Laufzeit der Fall ist.

Ziel

Das Ziel der Analyse besteht im Allgemeinen aus den folgenden drei Punkten:

  • Identifikation von vorhandenen Schwachstellen und Fehlkonfigurationen innerhalb des Anwendungssystems.
  • Empfehlung geeigneter Maßnahmen zur Behebung der Schwachstellen, um die Softwarequalität im Bereich IT-Sicherheit (Security) zu erhöhen.
  • Bestimmung des Sicherheitsniveaus auf Anwendungsebene zum Zeitpunkt der Testdurchführung auf Basis der Testergebnisse.

Neben den oben genannten allgemeinen Zielen besteht die Möglichkeit in Absprache mit dem Auftraggeber die konkreten Ziele sowie deren Priorisierung individuell im Vorfeld der Analyse zu ermitteln und die Untersuchung entsprechend anzupassen.

Allgemeine Analysemethodik

Die Untersuchung von Quelltext basiert auf Empfehlungen des OWASP Application Security Verification Standards [1], dem OWASP Code Review Guide [2] sowie den SEI CERT Coding Standards [3]. Die konkrete Analyse wird entsprechend dem vereinbarten Kundenziel sowie den technischen Gegebenheiten angepasst.

Quellen

[1] The OWASP® Foundation, OWASP Application Security Verification Standard, https://owasp.org/www-project-application-security-verification-standard/

[2] The OWASP® Foundation, OWASP Code Review Guide, https://owasp.org/www-project-code-review-guide/

[3] Carnegie Mellon University Software Engineering Institute , SEI CERT Coding Standards, https://wiki.sei.cmu.edu/confluence/display/seccode/SEI+CERT+Coding+Standards