Quellcode Überprüfung
Bei einem sicherheitsbezogenen Quellcode Audit oder Source Code Review wird der Quellcode einer Applikation auf Sicherheitslücken untersucht. Dabei kann es sich um Quellcode einer Webapplikation, zum Beispiel Code in C#, JAVA, php, Javascript oder Python handeln. Eine Sicherheitsanalyse des Quellcodes kann aber auch bei beliebigen anderen Applikationen oder Bibliotheken durchgeführt werden.
Manche Typen von Schwachstellen können im Quellcode besonders gut geprüft werden. Dazu gehörten zum Beispiel verschiedene Injections wie SQL Injection (SQLi), Code Injection und LDAP Injection. Besonders effizient lassen sich auch Autorisierungsschwachstellen erkennen im Quellcode. Es gibt jedoch auch klassische Web-Schwachstellen, die im Quellcode schwierig ersichtlich sind. Dazu gehören erfahrungsgemäss Cross Site Scripting (XSS). XSS entsteht durch fehlerhafte Output-Encodierung und kann ausgelöst oder verhindert werden durch eine Vielzahl von zwischengeschalteten Elementen wie der Datenbank (-encodierung) oder dem verwendeten Framework. Die effizienteste Form von Sicherheitsprüfung kombiniert daher einen Penetration Test mit einem Source Code Review. So können alle Klassen von Schwachstellen von verschiedenen Seiten beleuchtet und am zuverlässigsten erkannt werden.
Es gibt Tools, die Quellcode automatisch analysieren. Solche Tools können integriert in den CI/CD-Pipelines eine grossartige Hilfe sein, um die Qualität von Code permanent zu überwachen, um veraltete Abhängigkeiten und einige Arten von gängigen Schwachstellen frühzeitig zu erkennen. Die Erfahrung zeigt jedoch, dass selbst sehr kostspielige statische Analysetools einen recht limitierten Wirkungsradius haben. Toolbasierte statische Quellcodeanalyse ist bis Dato kein Ersatz für die manuelle Sicherheitsprüfung durch Penetration Test und Source Code Review.