SSDLC - Secure Software Development Life Cycle: DAST - Dynamic Application Security Testing Tools
Hierbei handelt es sich in der Regel um automatisierte Tools zum ermitteln von Cyber-Schwachstellen. Es wird eine Anwendung beim laufenden Betrieb getestet. DAST Tools können unterschiedliche Schwerpunkte bieten und sie können per UI und/oder API gestartet werden. Manche DAST Tools können auch in die CI/CD Pipelines* integriert werden. DAST Tools sind z.b. Schwachstellen-Scanner für Webanwendungen, die Webanwendungen - normalerweise von außen - auf Sicherheitslücken wie Cross-Site-Scripting, SQL Injection, Command Injection, Path Traversal und unsichere Serverkonfiguration untersuchen. Manche dieser Tools können auch so genannte authentifizierte scans durchführen. D.h. sie Verhalten sich wie ein angemeldeter Benutzer und können dann entsprechend auch die Anwendung von "innen" - eben authentifiziert, basierend auf der Rolle des angemeldeten Benutzers - überprüfen. Dies ist insofern interessant, denn hier kann getestet werden, wie sicher die Anwendung ist, wenn z.B. ein Benutzerkonto gehackt/gestohlen wurde. Kann der Angreifer sich weiteren privilegierten Zugang (Adminrechte) verschaffen?
Diese Kategorie von Tools wird häufig als Dynamic Application Security Testing (DAST) Tools bezeichnet. Es gibt eine große Anzahl kommerzieller und Open-Source-Tools dieser Art, und alle diese Tools haben ihre eigenen Stärken und Schwächen. Wenn Sie sich für die Wirksamkeit von DAST-Tools interessieren, sollten Sie sich das OWASP Benchmark-Projekt ansehen, oder das AppSecSanta Projekt, dass die Wirksamkeit aller Arten von Tools zur Erkennung von Schwachstellen, einschließlich DAST, wissenschaftlich misst.
Um DAST Tools zu verwenden, benötigt man nicht zwingend Benutzerberechtigungen. Ein Webanwendung die im öffentlichen Internet steht, also zugreifbar von jedem Gerät aus, über diese kann man immer Schwachstellenscans durchführen. Ich verweise aber hierbei explizit auf den deutschen Hacker-Paragraf §202c. D.h. ihr benötigt zwingend die Zustimmung der IT- und Plattformbetreiber.
Ich möchte noch explizit darauf hinweisen: DAST Schwachstellenscanner sind KEIN Pentest! Sie unterstützen bei der Suche nach Schwachstellen, reduzieren Cyber-Risiko maßgeblich, indem Sie Schwachstellen aufzeigen die anschließend "gepatched" werden können, viele der DAST Tools geben noch gleich den Grad der Schwachstelle als Messzahl (z.b. als CVE Wert) aus, dies ist auch wichtig um prioritätsbasierend die kritischsten Schwachstellen zuerst zu beheben, sowie reduzieren DAST Tools entsprechend mögliche Exploits (also das mögliche ausnutzen von Schwachstellen), können aber keinen Pentester bzw. Penetrationstest ersetzen. Im Extremfall reicht eine unentdeckte Schwachstelle. Dennoch, die Einführung eines DAST Tools, ich wiederhole mich, reduziert ihr Cyber-Risiko maßgeblich. Gerade bei Neueinführungen von DAST Tools in Ihrem Unternehmen, werden Sie überrascht sein, wie viele Schwachstellen es gibt.
Vereinfacht ausgedrückt ist ein Pentester, eine Abkürzung für Penetrationstester, eine Person, die Sicherheitslücken in einem Netzwerk oder System aufspürt und diese nachweislich auf Ausführbarkeit überprüft, also den Beweis der Ausnutzung einer Schwachstelle darlegt. Oft handelt es sich dabei um externe Berater mit den jeweiligen speziellen Fähigkeiten und Zertifizierungen, die von einem Unternehmen beauftragt werden, Sicherheitsprüfungen in IT-Systemen durchzuführen und potenzielle Cybersicherheitsrisiken zu ermitteln.
Hinweis: Da Security Tools ständig weiterentwickelt werden, ist es immer ratsam sich auf der Herstellerseite selbst zu informieren, womöglich gibt es ein neues Update, was vorher beim Benchmarking nicht enthalten war!
> OWASP Link mit der Übersicht einiger DAST Anbieter
> AppSecSanta - Liste einiger DAST Anbieter
Benchmarking links von DAST Tools:
- The 2017/2018 WAVSEP DAST Benchmark. Aus dem Jahr 2017/2018, aber ein guten Einstieg und Orientierungshilfe
- DAST Benchmark Project
*CI/CD (Continuous Integration/Continuous Delivery) sind bewährte DevOps-Methoden zur Automatisierung in der Anwendungsentwicklung. Die Hauptkonzepte von CI/CD sind Continuous Integration (kontinuierliche Integration), Continuous Delivery und Continuous Deployment (kontinuierliche Verteilung).
CI/CD automatisiert alle Phasen der Anwendungsentwicklung und stellt Kunden neue Apps kontinuierlich bereit. Dadurch werden Probleme, die bei der Integration von neuem Code für DevOps-Teams auftreten (auch bekannt als die „Integrationshölle") gelöst und eine schnelle, konsistente Anwendungsentwicklung unterstützt.
Quelle und weitere Detail Informationen zu CI/CD
Weiterbildung
TryHackMe hat zum Thema DAST einen guten Einstieger-Trainingsroom: https://tryhackme.com/room/dastzap