Mein IBM Anmelden Abonnieren

Startseite

Themen

DAST

Was ist dynamisches Anwendungssicherheitstesting (DAST)?

Was ist dynamisches Anwendungssicherheitstesting (DAST)?

IBM Security MaaS360 kennenlernen Registrieren sich für Updates zu Sicherheitsthemen
Piktogramme von Wolken, Mobiltelefon, Fingerabdruck, Häkchen

Veröffentlicht: 8. April 2024
Mitwirkende: Annie Badman, Amber Forrest

Was ist DAST?

Was ist DAST?

Dynamic Application Security Testing (DAST) ist eine Testmethode für die Cybersicherheit, die verwendet wird, um Sicherheitslücken und Fehlkonfigurationen in Webanwendungen, APIs und seit Kurzem auch in mobilen Apps zu identifizieren. 

Im Vergleich zu anderen Arten von Tests der Anwendungssicherheit (Application Security, AppSec) zeichnet sich DAST durch seinen „Outside-in“-Ansatz aus. Während andere Tools den Quellcode und internen Zugriff auf die Anwendung benötigen, um Sicherheitsschwachstellen zu bewerten, testet DAST Anwendungen in ihrer Laufzeitumgebung von außen und verwendet simulierte Angriffe, um böswillige Akteure zu imitieren. Aus diesem Grund wird DAST manchmal auch als „Outside-in“-Testing oder „Blackbox“-Testing bezeichnet – eine Testmethode, bei der Systeme untersucht werden, ohne dass der Tester auf die interne Funktionsweise zugreift, sie untersucht oder sie überhaupt kennt.

Warum DAST wichtig ist

Warum DAST wichtig ist

Entwickler arbeiten heute schnell und aktualisieren bestimmte Codebereiche oft mehrmals am Tag, ohne einen umfassenden Überblick über die gesamte Codebasis zu haben. Sie sind stark auf Komponenten von Drittanbietern und Open-Source-Komponenten angewiesen und haben oft Schwierigkeiten, effektiv mit Sicherheitsteams zusammenzuarbeiten. Die meisten funktionieren auch an immer komplexeren Anwendungen mit zahlreichen Funktionen, Bibliotheken und Abhängigkeiten, während sie gleichzeitig die sich ständig weiterentwickelnden Cybersicherheitsbedrohungen bewältigen. 

Die Folge ist eine ständig wachsende Angriffsfläche für Sicherheitslücken, die das Schreiben von sicherem Code und den Schutz sensibler Informationen vor Datenschutzverletzungen noch schwieriger macht. Entwickler brauchen Möglichkeiten, um während der Arbeit auf potenzielle Schwachstellen zu testen, und das ohne Beeinträchtigung ihrer Produktivität. 

DAST ermöglicht dies, indem es den Sicherheitstestprozess automatisiert. Es ahmt die Aktionen realer Hacker nach und arbeitet von außen daran, potenzielle Schwachstellen in laufenden Anwendungen aufzudecken. DAST ermöglicht es Entwicklern, ihren Code zu testen und zu sehen, wie er sich auf die allgemeine Sicherheit der Anwendung auswirkt, bevor diese in Betrieb genommen wird. DAST eignet sich hervorragend zum Aufspüren von Sicherheitsproblemen wie Authentifizierungsfehlern und Code-Schwachstellen, die bei anderen Testmethoden wie der Software Composition Analysis (SCA) oft übersehen werden.

Moderne DAST-Tools (siehe unten) lassen sich außerdem nahtlos in DevOps- und CI/CD-Pipelines integrieren und bieten Schnittstellen für alle Phasen der Entwicklung, auch in den frühen Phasen der Anwendungsentwicklung. 

Build- und Bereitstellungsintegrationen sind ein Grund, warum DevOps-Teams DAST häufig in DevOps-/DevSecOps-Umgebungen als Teil eines „Shift-Left“-Ansatzes übernehmen, bei dem Tests frühzeitig im Softwareentwicklungslebenszyklus (SDLC) erfolgen, um kostengünstigere und weniger zeitaufwändige Korrekturen zu ermöglichen. Zu den weiteren DevOps-Prinzipien, die durch DAST-Tools verbessert werden, gehören die Priorisierung von Automatisierung, Zusammenarbeit und kontinuierlichem Feedback, sodass Entwickler und Sicherheitsteams agil und produktiv bleiben können, ohne die Sicherheit zu gefährden.

Wie funktioniert DAST? 

Wie funktioniert DAST? 

Da DAST einen „Blackbox“-Ansatz verfolgt, emuliert er die Aktionen, die ein bösartiger Bedrohungsakteur im Zuge eines Angriffs auf eine Webanwendung ausführen könnte.

Im Allgemeinen umfasst DAST die folgenden fünf Schritte:

Scannen

In einem ersten Schritt simulieren DAST-Scanner Benutzerinteraktionen mit der Laufzeitanwendung, indem sie verschiedene HTTP-Anfragen senden. Dieses Mapping identifiziert alle Seiten, Links, Funktionen (für einseitige Webanwendungen) und Einstiegspunkte, wie sie bei API-Tests über ein API-Definitionsdokument definiert wurden. 

Analyse

Während die Anforderungen gesendet werden, beginnt das DAST-Tool, die Antworten der Anwendung zu analysieren und nach Anomalien, Fehlermeldungen und unerwartetem Verhalten zu suchen, die auf eine Schwachstelle der Webanwendung hinweisen könnten. Wenn der DAST-Scan potenzielle Sicherheitslücken entdeckt, zeichnet er deren Standort und Reaktion zur späteren Verwendung auf und ermöglicht bei Bedarf manuelle Tests.

Angriffs-Simulation

DAST-Tools beginnen auch, gängige Angriffe wie SQL-Injection, Cross-Site Scripting (XSS) und Cross-Site Request Forgery (CSRF) nachzuahmen, um Sicherheitslücken wie Fehlkonfigurationen, Datenlecks und Authentifizierungsprobleme zu lokalisieren, die Bedrohungsakteure ausnutzen könnten.

Berichterstellung

Nach der Analyse und simulierten Angriffen erstellen DAST-Tools Berichte, in denen identifizierte Schwachstellen, deren Schweregrad und potenzielle Angriffsszenarien beschrieben werden, um Entwickler und Sicherheitsteams zu unterstützen. Denken Sie daran, dass sich DAST-Lösungen ausschließlich auf die Identifizierung von Sicherheitsproblemen konzentrieren und die Behebung den Entwicklungsteams überlassen.

Beheben von Fehlalarmen

DAST-Tools können gelegentlich falsche Ergebnisse liefern und etwas fälschlicherweise als Sicherheitslücke kennzeichnen. In solchen Fällen muss oft eine menschliche Validierung und Priorisierung vorgenommen werden.

Arten von DAST-Tools

Arten von DAST-Tools

Obwohl es keine offiziellen Untertypen für DAST-Testtools gibt, werden sie von Sicherheitsexperten häufig in zwei informelle Gruppen unterteilt: moderne DAST-Tools und ältere DAST-Tools. Die Hauptunterschiede liegen in der Automatisierung/Integration und der Schwachstellenvalidierung. 

Ältere DAST-Tools 

Älteren DAST-Tools fehlt es oft an Automatisierungsfunktionen, obwohl ihr Scanprozess automatisiert ist. Sie konzentrieren sich in der Regel auf grundlegende Tests (Senden von Anfragen, Empfangen von Antworten und erste Bewertungen) und bieten keine vollständige Schwachstellenüberprüfung, sondern nur Listen potenzieller Sicherheitsprobleme. 

Modernes DAST

Moderne DAST-Tools haben einen höheren Automatisierungsgrad und bieten eine gründlichere Überprüfung von Sicherheitslücken in Webanwendungen. 

Moderne DAST-Lösungen lassen sich nahtlos in den SDLC integrieren und agieren transparent im Hintergrund. Darüber hinaus können Automatisierungsserver moderne DAST-Tools auslösen und Scanergebnisse als Tickets im Issue Tracker eines Entwicklers anzeigen. Einige moderne DAST-Tools bieten sogar einen Ausbeutungsnachweis, sodass die zeitaufwändige manuelle Überprüfung durch Penetrationstester oder Sicherheitsexperten entfällt.

Vor- und Nachteile von DAST

Vor- und Nachteile von DAST

DAST wird oft als wichtiger Bestandteil der Sicherheitstests von Webanwendungen angesehen. Zu den einzigartigen Vorteilen gehören:

  • Vielseitigkeit. Benutzer können DAST in verschiedenen Phasen des Softwareentwicklungslebenszyklus bereitstellen: DAST kann Webanwendungen in ihrem Betriebszustand und Anwendungen, die bereits bereitgestellt wurden, ohne Änderungen testen, was die Bewertung von Legacy-Systemen erleichtert.
  • Automatisierung. DAST-Tools lassen sich leicht in DevOps- und CI/CD-Pipelines integrieren und ermöglichen so die Durchführung automatisierter Sicherheitstests in einem frühen Stadium des Entwicklungsprozesses und reduzieren die Kosten für die Behebung erheblich. 
  • Sprachunabhängig. Da DAST von außen nach innen wirkt, hängt es nicht von der in der Anwendung verwendeten Programmiersprache ab und kann mit vielen verschiedenen Frameworks eingesetzt werden. DAST testet effektiv sowohl Webschnittstellen als auch APIs und ahmt nach, wie Angreifer Schwachstellen finden. 
  • Weniger Fehlalarme. DAST liefert in der Regel weniger Fehlalarme bei der Simulation von Benutzeraktionen als andere Methoden, wie SAST.
  • Realistisches und wiederholbares Testen. Da es das reale Verhalten von Angreifern nachahmt, ist DAST eine praktische Lösung zur Identifizierung von Sicherheitslücken, die böswillige Akteure ausnutzen könnten. DAST bietet auch den Vorteil wiederholbarer Tests, was eine kontinuierliche Schwachstellenbewertung ermöglicht, während sich Anwendungen weiterentwickeln.
  • Umfassende Erkennung von Sicherheitslücken. DAST kann ein breites Spektrum an Schwachstellen aufdecken, darunter SQL-Injection, XSS und Fehlkonfigurationen.
  • Angleichung an Industriestandards. Unternehmen nutzen DAST häufig, um Branchenstandards einzuhalten und bei der regulatorischen Berichterstattung, wie z. B. der PCI-Compliance, zu helfen. Viele Unternehmen verwenden die OWASP-Top-10-Liste als Compliance-Benchmark für Anwendungssicherheitsrisiken.

Trotz dieser vielen Vorteile bringt DAST auch Einschränkungen mit sich. Obwohl DAST gut darin ist, Sicherheitsmängel in laufenden Anwendungen zu erkennen, deckt es möglicherweise nicht alle Schwachstellen auf – insbesondere jene, die bestimmte Aktionssequenzen erfordern. Die Kombination von DAST mit anderen Methoden, wie z. B. statischen Tests der Anwendungssicherheit (Static Application Security Testing, SAST), interaktiven Tests der Anwendungssicherheit (Interactive, Application Security Testing, IAST), Analyse der Softwarezusammensetzung (Software Composition Analysis, SCA) und manuellen Penetrationsprüfungen – kann dazu beitragen, DAST zu ergänzen und ein umfassenderes Sicherheitsprogramm anzubieten.

Weitere Einschränkungen von DAST können Folgendes sein:

  • Konzentration auf ausführbaren Code. Da DAST hauptsächlich Teile von bereits bereitgestellten Webanwendungen testet (d. h. Code, der bereits betriebsbereit ist), kann es Abschnitte übersehen, die sich noch in der Entwicklung befinden.
  • Herausforderungen bei der Authentifizierung. DAST kann bei nicht standardisierter Authentifizierung und komplexer Geschäftslogik weniger effektiv sein, wobei professionelle DAST-Tools jedoch Anleitungsmodule für diese Situationen enthalten.
  • Betriebliche Auswirkungen. Ohne die richtige Abstimmung können DAST-Tests den normalen Betrieb der Anwendung beeinträchtigen und möglicherweise Beispieldaten einbringen oder die Anwendung verlangsamen. Daher wird DAST oft in Staging- oder Produktionsklon-Umgebungen und nicht in der Live-Produktion eingesetzt.
DAST vs. SAST

DAST vs. SAST

DAST und SAST oder statische Tests der Anwendungssicherheit sind zwei Testmethoden, die zur Identifizierung von Sicherheitslücken in Webanwendungen verwendet werden. Während DAST jedoch Anwendungen in ihrer Produktionsumgebung bewertet, böswillige Benutzerangriffe nachahmt und Sicherheitsprobleme identifiziert, befasst sich SAST mit dem Quellcode und sucht nach Schwachstellen in der Website-Anwendung.

Cybersecurity-Experten empfehlen im Allgemeinen, bei der Behebung von Sicherheitsrisiken sowohl SAST als auch DAST zu verwenden, um so eine vollständige Übersicht über potenzielle Schwachstellen zu erhalten. Bei der Untersuchung des Quellcodes eines Programms können SAST-Tools beispielsweise eine Vielzahl von Sicherheitsschwachstellen aufdecken, die DAST möglicherweise übersehen würde, darunter SQL-Injection, Buffer Overflows, XXE-Angriffe und andere Risiken der OWASP Top 10.

Die Verwendung einer SAST-Methode fördert außerdem frühzeitige Tests während der Entwicklung und verringert die Wahrscheinlichkeit von Sicherheitsmängeln im Quellcode der Anwendung in späteren Phasen. Dies führt zu kürzeren Entwicklungszeiten und einer verbesserten Gesamtsicherheit.

Weiterführende Lösungen

Weiterführende Lösungen

IBM Security MaaS360

Verwalten und schützen Sie Ihre mobilen Mitarbeiter mit KI-gestütztem Unified Endpoint Management (UEM).

IBM Security MaaS360 kennenlernen

Lösungen für die Datensicherheit

Schützen Sie Daten besser über Hybrid-Clouds hinweg und vereinfachen Sie Compliance-Anforderungen. 

Entdecken Sie IBM Sicherheitslösungen

Lösungen für Anwendungssicherheit

Ermöglicht überall die sichere Erstellung, Bereitstellung und Iteration von Anwendungen durch die Umwandlung von DevOps in DevSecOps, einschließlich Menschen, Prozesse und Tools.

Mehr über Services zur Anwendungssicherheit erfahren
Ressourcen

Ressourcen

Was ist Schwachstellenmanagement?

Erfahren Sie, wie Lösungen für das Schwachstellenmanagement Sicherheitsteams dabei unterstützen, Sicherheitsschwachstellen in IT-Ressourcen proaktiv zu erkennen, zu priorisieren und zu beheben.

Was sind Penetrationstests?

Penetrationstests nutzen simulierte Angriffe, um Schwachstellen in Computersystemen zu finden.

Methoden und Standards für Penetrationstests

Entdecken Sie die besten Methoden für Penetrationsprüfungen, um Sicherheitslücken zu finden und Cyber-Risiken zu minimieren.

Machen Sie den nächsten Schritt

Da flexible Arbeitsmodelle zur neuen Norm geworden sind, müssen Mitarbeiter auch dann auf geschützte Weise produktiv bleiben, wenn sie von jedem Gerät aus arbeiten. Vom Endpunktmanagement bis zur nativen Sicherheit – IBM Security MaaS360 bietet eine End-to-End-UEM-Lösung. 

Mehr über MaaS360 Buchen Sie eine Live-Demo