Was ist SAST (Static Application Security Testing)?
SAST ist eine Art der Anwendungssicherheitstests, die den Quellcode einer Anwendung (den ursprünglichen von Entwicklern geschriebenen Code), Abhängigkeiten (externe Bibliotheken oder Pakete, auf die der Code angewiesen ist) oder Binärdateien (kompilierter Code, der bereit ist, ausgeführt zu werden) überprüft, bevor er ausgeführt wird. Dieser Ansatz wird oft als White-Box-Testing bezeichnet, da er die interne Logik und Struktur des Codes auf Schwachstellen und Mängel untersucht, anstatt nur das Verhalten der Anwendung von außen zu testen.
Warum SAST in der Cybersicherheit wichtig ist
Die Sicherung des Codes ist ein wesentlicher Bestandteil von DevSecOps. SAST hilft Organisationen, Schwachstellen wie SQL-Injection, Cross-Site Scripting (XSS), schwache Verschlüsselung und andere Sicherheitsprobleme frühzeitig im Softwareentwicklungszyklus zu finden. Das bedeutet, dass Teams Probleme schneller und kostengünstiger beheben können.
Wie SAST funktioniert
- Analysiert Quellcode, Binärdateien oder Bytecode, ohne sie auszuführen.
- Identifiziert Schwachstellen in der Codierungspraxis (z.B. fehlende Validierung, offener API-Schlüssel)
- Integration in den Entwickler-Workflow (CI/CD)
- Generiert einen Bericht über gefundene Schwachstellen und bietet Anleitung zur Lösung (Behebung)
Häufige Schwachstellen, die durch SAST gefunden werden
- SQL-Injection
- Cross-Site-Scripting (XSS)
- Verwendung unsicherer kryptografischer Algorithmen (z.B. MD5, SHA-1)
- Offengelegte API-Schlüssel-Anmeldedaten im Hardcode
- Pufferüberlauf
- Validierungsfehler
Vorteile von SAST
- Günstigere Kosten: Das Beheben von Schwachstellen frühzeitig ist weniger teuer als nach der Bereitstellung.
- Früherkennung: Findet Sicherheitsprobleme während der Entwicklung.
- Unterstützung der Compliance: Ausrichtung an Standards wie OWASP, PCI DSS und ISO 27001.
- Shift-Left-Sicherheit: Integration von Sicherheit in den Entwicklungsworkflow von Anfang an.
- Entwicklerfreundlich: Bietet dem Entwickler umsetzbare Schritte zur Behebung von Sicherheitsproblemen.
Beispiel
Während eines SAST-Tests findet das Tool Sicherheitsprobleme, bei denen Entwickler unsicheres MD5 verwenden, um Passwörter zu hashen. Das SAST-Tool markiert dies als Schwachstelle und schlägt vor, MD5 durch bcrypt oder Argon2 zu ersetzen, die stärkere Algorithmen im Vergleich zu MD5 sind.