Was ist IAST (Interactive Application Security Testing)?
Interactive Application Security Testing (IAST) ist eine Methode, die SAST (Static Application Security Testing) und DAST (Dynamic Application Security Testing) kombiniert, um Anfälligkeiten in Anwendungen effektiver zu finden.
Die Merkmale von IAST umfassen:
- IAST-Tools arbeiten, indem sie Sensoren oder Überwachungskomponenten in die Anwendung einfügen, während sie läuft. Diese Tools beobachten, wie sich die App während der Tests verhält, egal ob die Tests automatisiert oder manuell durchgeführt werden. Dieser Ansatz ermöglicht es IAST, die Codeausführung, Benutzereingaben und die Datenverarbeitung der App in Echtzeit zu überprüfen.
- IAST scannt nicht automatisch den gesamten Codebestand; seine Abdeckung wird durch den Umfang der Anwendung bestimmt, die während der Tests genutzt wird. Je umfangreicher die Testaktivitäten, desto tiefer die Abdeckung der Anfälligkeiten.
- IAST wird typischerweise in QA- oder Staging-Umgebungen eingesetzt, in denen automatisierte oder manuelle Funktionstests durchgeführt werden.
Warum IAST in der Cybersicherheit wichtig ist
SAST analysiert Quellcode, Bytecode oder Binärdateien, ohne die Anwendung auszuführen, und ist sehr effektiv beim Aufdecken von Codierungsfehlern, kann jedoch Fehlalarme erzeugen und laufzeitspezifische Probleme übersehen.
DAST testet Anwendungen von außen, während sie ausgeführt werden, und kann Probleme aufdecken, die nur zur Laufzeit auftreten, hat jedoch keinen tiefen Einblick in die interne Logik oder Code-Struktur. IAST überbrückt die Lücke, indem es die Stärken dieser Techniken kombiniert und bietet:
- Tiefere Einblicke in die Quellen und Pfade von Schwachstellen.
- Verbesserte Erkennungsgenauigkeit im Vergleich zu SAST oder DAST allein.
- Reduzierung von Fehlalarmen durch die Korrelation von Laufzeitaktivitäten mit der Code-Analyse.
Wie IAST funktioniert
- Instrumentation: IAST verwendet Instrumentierung, was bedeutet, dass Sensoren oder Überwachungscode in die Anwendung eingebettet werden (oft in einer QA- oder Staging-Umgebung), um ihr Verhalten während des Testens zu beobachten.
- Überwachung: Es beobachtet den Datenfluss, Benutzereingaben und das Verhalten des Codes in Echtzeit, während die Anwendung durch Tests oder manuelle Aktionen genutzt wird.
- Erkennung: Es kennzeichnet Schwachstellen wie unsichere Konfigurationen, nicht bereinigte Datenflüsse oder Injektionsrisiken.
- Berichterstattung: Umsetzbare Erkenntnisse und Anleitungen zur Behebung werden den Entwicklern zur Verfügung gestellt, um erkannte Probleme zu adressieren.
Beispiel
Während des Funktionstests interagiert das QA-Team mit dem Anmeldeformular. Das IAST-Tool erkennt, dass Benutzereingaben ohne Bereinigung in eine Datenbankabfrage fließen, was auf ein potenzielles SQL-Injektions-Risiko hinweist. Das Team erhält einen Schwachstellenbericht und umsetzbare Schritte zur Behebung der Sicherheitsprobleme.
Verwandte Begriffe
- SAST (Statische Anwendungssicherheitstests)
- DAST (Dynamische Anwendungssicherheitstests)
- SCA (Software-Zusammensetzungsanalyse)
- Anwendungssicherheitstests
- ASPM (Verwaltung der Anwendungssicherheitslage)