Introducing G2.ai, the future of software buying.Try now

SAST vs. DAST: Anwendungssicherheitstests erklärt

14. August 2019
von Aaron Walker

Infolge des boomenden Marktes für Cloud-Anwendungen sind Unternehmen zunehmend – und rational – besorgt über die Sicherheit ihrer Anwendungen und der damit verbundenen Daten.

Es gibt Hunderte, wenn nicht Tausende von Sicherheitsrisiken für alle Arten von Anwendungen. Es gibt auch Hunderte von Tools, die heute verfügbar sind und darauf ausgelegt sind, diese Risiken zu adressieren und Probleme zu beheben, bevor ein Angriff stattfindet. Zwei der am häufigsten verwendeten Lösungen sind Software für statische Anwendungssicherheitstests (SAST) und Software für dynamische Anwendungssicherheitstests (DAST).

SAST vs. DAST: Anwendungssicherheitstests erklärt

SAST und DAST sind zwei Klassen von Sicherheitstest-Tools, die einen einzigartigen Ansatz zur Lösung von Problemen im Zusammenhang mit der Anwendungssicherheit verfolgen. SAST-Tools analysieren die zugrunde liegenden Komponenten einer Anwendung, um Fehler und Probleme im Code selbst zu identifizieren. DAST-Tools testen funktionierende Anwendungen auf nach außen gerichtete Schwachstellen in der Anwendungsoberfläche. Beide Tools sind völlig notwendig, analysieren jedoch die Anwendungssicherheit auf sehr unterschiedliche Weise.

Statische Anwendungssicherheitstests (SAST) Dynamische Anwendungssicherheitstests (DAST)
White-Box-Tests Black-Box-Tests
Erfordert Quellcode der Anwendung Erfordert funktionale Anwendung
Wird in frühen Phasen des Softwareentwicklungslebenszyklus (SDLC) durchgeführt Wird am Ende des Softwareentwicklungslebenszyklus (SDLC) durchgeführt
Identifiziert leicht zu behebende Fehler, Mängel und Schwachstellen Entdeckt Schwachstellen in der Spätphase; erfordert typischerweise einen neuen Bereitstellungszyklus oder eine Notfallveröffentlichung
Kann keine Laufzeitprobleme entdecken Kann keine Quellcodeprobleme entdecken
Wird für alle Arten von Anwendungen und Software verwendet Beschränkt auf das Testen von Webanwendungen und -diensten

Was ist statische Anwendungssicherheitstests?

Statische Anwendungssicherheitstests (SAST)-Tools sind White-Hat-Testlösungen, was bedeutet, dass sie Zugriff auf den Quellcode benötigen, um zu funktionieren. SAST-Tools helfen Softwareentwicklern und Sicherheitsexperten, den zugrunde liegenden Quellcode einer Anwendung auf Fehler und Schwachstellen zu analysieren.

White-Hat- oder White-Box-Tests erfordern, dass Benutzer Informationen im Zusammenhang mit Code und Sicherheitsarchitektur besitzen, um nicht kompilierten Code zu untersuchen. SAST-Tools sind berüchtigt dafür, sicheren Code (falsche Positive) zu kennzeichnen, da sie den Code nicht tatsächlich ausführen. Dennoch sind diese Tools äußerst effektiv bei der Identifizierung von Problemen in der frühen Phase des Softwareentwicklungslebenszyklus, wie numerische Fehler, Rennbedingungen oder Verzeichnisüberquerungen, unter vielen anderen.

Da SAST-Tools in der Lage sind, Quellcodeprobleme zu entdecken, werden sie häufig von agilen und DevOps-Teams verwendet. Diese Probleme sind in der Regel leicht zu beheben, untersuchen jedoch die Anwendung nicht aus funktionaler Sicht. Diese Probleme erfordern zusätzliche Testtools, die es Entwicklern ermöglichen, die Anwendung aus der Perspektive eines externen Hackers zu betrachten.

Möchten Sie mehr über Statische Anwendungssicherheitstest-Software (SAST) erfahren? Erkunden Sie Statische Anwendungssicherheitstests (SAST) Produkte.

Was ist dynamische Anwendungssicherheitstests (DAST)?

Dynamische Anwendungssicherheitstests (DAST)-Tools werden für Black-Box-Tests verwendet. Das bedeutet, dass Tests von außerhalb einer funktionierenden Anwendung durchgeführt werden, anstatt auf ihrem Quellcode.

DAST-Tools sind in der Lage, ausnutzbare Schwachstellen wie SQL-Injection, Cross-Site-Scripting und Authentifizierungsprobleme zu entdecken, unter anderem. Diese Methode gibt Sicherheitsexperten und Entwicklern eine Drittanbieterperspektive auf Bedrohungen, indem sie eine App ähnlich betrachten, wie es ein Hacker außerhalb der Organisation tun würde.

DAST-Tools ahmen die Funktionalität der realen Welt nach und ermöglichen es Benutzern, zu sehen, wie eine Anwendung auf bestimmte häufige Bedrohungen oder Aktionen reagiert. Daher muss die Anwendung in einem funktionalen Zustand sein, um getestet zu werden. DAST-Tools sind in der Regel am effektivsten bei der Identifizierung von Bedrohungen am Ende des Entwicklungslebenszyklus. Probleme in der Spätphase können die Behebung mehrerer Komponenten einer Anwendung erfordern und können entscheidend für die Sicherung der Funktionalität sein.

DAST-Tools ermöglichen es Benutzern, realistische Angriffe und Bedrohungen zu simulieren, um Schwachstellen zu entdecken, die im Quellcode einer Anwendung nicht gefunden werden. Sie sind flexible und anpassbare Tools, die für umfassende Bewertungen von Anwendungen aller Größen verwendet werden.

Interaktive Anwendungssicherheitstests

SAST- und DAST-Tools werden typischerweise verwendet, um sich gegenseitig zu ergänzen und Sicherheitsprobleme im Zusammenhang mit Bedrohungen von innen und außen zu adressieren. Die Verwendung dieser Tools zusammen wird allgemein als interaktive Anwendungssicherheitstests (IAST) bezeichnet.

IAST ist ein hybrider Ansatz, der diese Techniken kombiniert, um zu identifizieren, wie die Anwendungsfunktionalität und ihre zugrunde liegende Architektur die Ergebnisse dynamischer Tests beeinflussen können. IAST-Tools oder die Kombination von SAST- und DAST-Tools können Fehler im Code identifizieren, die nicht als Schwachstellen bei einem ersten Code-Scan erscheinen, aber Probleme darstellen, wenn die Anwendung läuft.

Benutzer simulieren oft spezifische Umgebungen, um bedingte Tests durchzuführen und zu berichten, wie unterschiedliche Datenflüsse und Szenarien die Anwendungsleistung und -sicherheit beeinflussen. Die Verwendung der Tools im Tandem ist bekannt dafür, die Testzeit und die Häufigkeit, mit der falsche Positive auftreten, zu reduzieren, was es zu einer beliebten Methode für agile und DevOps-Teams macht.

Andere Anwendungssicherheitstest-Tools

Schwachstellenscanner

Schwachstellenscanner sind eng mit DAST-Tools verwandt, und einige betrachten sie als dasselbe. In Bezug auf die Funktionalität ist DAST jedoch einfach eine Komponente des Schwachstellenscannings. Schwachstellenscanner bieten eine breite Palette von Testmöglichkeiten für die Durchführung von DAST-Operationen, aber auch für die Analyse einer Reihe zusätzlicher Risikofaktoren im Zusammenhang mit der Sicherheit auf allen Arten von Anwendungen, Netzwerken und Websites.

Penetrationstest-Tools

Während einige DAST-Produkte Penetrationstests als Funktion anbieten, ist Penetration ein sehr spezifischer Testtyp, nur einer von vielen Sicherheitstests, die eine funktionierende Anwendung erfordern. Penetrationstests identifizieren Schwachstellen am Zugangspunkt oder bewerten Firewalls, Ports und Server.

RASP-Tools

RASP steht für Runtime Application Self-Protection. RASP unterscheidet sich von SAST und DAST darin, dass das Tool tatsächlich innerhalb einer Anwendung auf Betriebssystemebene lebt und arbeitet. RASP-Tools überwachen die Funktionalität von Anwendungen während ihres Betriebs, um Vorfälle zu erkennen und Sicherheitsteams bei Angriffen zu alarmieren, sobald sie auftreten.

Statische Analysetools

Statische Code-Analysetools sind SAST-Produkten sehr ähnlich, da sie den Quellcode einer Anwendung analysieren. Einige dieser Tools verfügen nicht nur über Funktionen zur Erkennung sicherheitsspezifischer Probleme, sondern bieten auch zusätzliche Funktionen für abstrakte Interpretation, Datenflussanalyse und Logikanalyse.

Sind Sie ein Sicherheitsexperte, der an Sicherheitstools interessiert ist? Schauen Sie sich unseren Leitfaden zu Penetrationstests an, der 5 Pen-Testing-Tools enthält, die Sie 2019 in Betracht ziehen sollten.

Aaron Walker
AW

Aaron Walker

Aaron has been researching security, cloud, and emerging technologies with G2 for more than half a decade. Over that time he's outlined, defined, and maintained a large portion of G2's taxonomy related to cybersecurity, infrastructure, development, and IT management markets. Aaron utilizes his relationships with vendors, subject-matter expertise, and familiarity with G2 data to help buyers and businesses better understand emerging challenges, solutions, and technologies. In his free time, Aaron enjoys photography, design, Chicago sports and lizards.