Veröffentlicht am: 17. September 2025

6 Minuten Lesezeit

Systematische Anwendungssicherheit mit GitLab DAST: Compliance-Framework für deutsche Unternehmen

Wie Dynamic Application Security Testing (DAST) deutschen Unternehmen bei der systematischen Implementierung von Sicherheits-Governance und Compliance-Automation hilft.

Moderne Unternehmen nutzen webbasierte Plattformen für Kundeninteraktionen, Finanztransaktionen und Geschäftsprozesse. Die digitale Transformation erweitert die Angriffsfläche dramatisch - Webanwendungen werden zu Hauptzielen für Cyberkriminelle.

Static Code Analysis erkennt nur Schwachstellen im Quellcode. Runtime-Sicherheitsprobleme bleiben verborgen, wenn Anwendungen mit realen Umgebungen, Drittanbieter-Services und Benutzer-Workflows interagieren. Dynamic Application Security Testing (DAST) schließt diese Lücke. GitLab DAST automatisiert Penetrationstests in CI/CD-Pipelines und validiert Sicherheit kontinuierlich ohne Workflow-Unterbrechung.

Warum DAST für deutsche Unternehmen?

DAST testet Anwendungen in ihrer Betriebsumgebung und identifiziert Schwachstellen, die statische Analysen übersehen. GitLab DAST integriert sich in Shift-Left Security-Workflows und stärkt Compliance und Risikomanagement.

Runtime-Schwachstellen-Erkennung

DAST identifiziert Sicherheitsschwachstellen in laufenden Anwendungen. DAST-Scanner interagieren mit Live-Anwendungen wie externe Angreifer und decken Probleme auf wie:

  • Authentifizierungs- und Session-Fehler, die unbefugten Zugang ermöglichen
  • Schwachstellen bei der Eingabevalidierung, einschließlich SQL-Injection, Cross-Site-Scripting (XSS) und Command-Injection
  • Konfigurationsschwächen in Webservern, Datenbanken und Anwendungs-Frameworks
  • Fehler in der Geschäftslogik aus Benutzerinteraktionen
  • API-Sicherheitsprobleme, einschließlich unsachgemäßer Authentifizierung, Autorisierung und Datenexposition

DAST ergänzt andere Sicherheitstest-Ansätze für umfassende Anwendungssicherheits-Abdeckung. In Kombination mit Static Application Security Testing (SAST), Software Composition Analysis (SCA), manuellen Penetrationstests und vielen anderen Scanner-Typen füllt DAST kritische Lücken in der Sicherheitsvalidierung:

  • Externe Testperspektive, die reale Angriffsszenarien nachahmt
  • Umgebungsspezifische Tests, die Sicherheit in tatsächlichen Produktionsumgebungen validieren
  • Drittanbieter-Komponenten-Tests, einschließlich APIs, Bibliotheken und externe Services
  • Konfigurationsvalidierung über den gesamten Anwendungsstack hinweg

Nahtlose Shift-Left Security Integration

GitLab DAST integriert sich in CI/CD-Pipelines und identifiziert Sicherheitsprobleme früh im Entwicklungszyklus. Dieser Shift-Left-Ansatz bietet Vorteile:

  • Kostensenkung – Schwachstellen während der Entwicklung zu beheben kostet 10 bis 100 Mal weniger als Korrekturen in der Produktion.
  • Schnellere Markteinführung – Tests eliminieren Engpässe durch manuelle Security-Reviews.
  • Entwickler-Stärkung – Sofortiges Feedback baut Sicherheitsbewusstsein auf.

Compliance und Risikomanagement

Regulierungsrahmen und Industriestandards fordern regelmäßige Sicherheitstests von Webanwendungen. DAST erfüllt Compliance-Anforderungen für Standards wie:

  • PCI DSS für Anwendungen, die Zahlungskartensdaten verarbeiten
  • SOC 2 Sicherheitskontrollen für Service-Organisationen
  • ISO 27001 Informationssicherheits-Management-Anforderungen

GitLab DAST automatisiert Tests konsistent und wiederholbar. Auditoren vertrauen den Ergebnissen, während Berichte die nötige Dokumentation für Compliance-Validierung liefern.

DAST implementieren

Vor der Implementierung von GitLab DAST stellen Sie sicher, dass Ihre Umgebung folgende Anforderungen erfüllt:

  • GitLab Version und Ultimate-Abonnement – DAST ist in GitLab Ultimate verfügbar und benötigt GitLab 13.4 oder später für volle Funktionalität; jedoch wird die neueste Version empfohlen.
  • Anwendungszugänglichkeit – Ihre Anwendung muss über HTTP/HTTPS mit einer öffentlich erreichbaren URL oder innerhalb des Netzwerks Ihres GitLab Runners zugänglich sein.
  • Authentifizierung-Setup – Falls Ihre Anwendung Authentifizierung erfordert, bereiten Sie Test-Credentials vor oder konfigurieren Sie Authentifizierungs-Bypass-Mechanismen für Sicherheitstests.

Systematische DAST-Integration: Drei Konfigurationsebenen

Grundkonfiguration für sofortigen Start: Die einfachste DAST-Integration erfolgt durch Template-Einbindung in Ihre .gitlab-ci.yml Datei:

include:
  - template: DAST.gitlab-ci.yml

variables:
  DAST_WEBSITE: "https://your-application.example.com"

Diese Basiskonfiguration wird:

  • Einen DAST-Scan gegen Ihre spezifizierte Website ausführen
  • Einen Sicherheitsbericht in GitLabs Security Dashboard generieren
  • Die Pipeline fehlschlagen lassen, falls hochschwere Schwachstellen erkannt werden
  • Scan-Ergebnisse als Pipeline-Artefakte speichern

Systematische Pipeline-Integration: Für umfassende CI/CD-Vorteile können Sie zuerst die Anwendung deployen und DAST so konfigurieren, dass es nur nach erfolgtem Deployment läuft:

stages:
  - build
  - deploy
  - dast

include:
  - template: Security/DAST.gitlab-ci.yml

# Konfiguriert DAST für aktive Scans auf Nicht-Main-Branches und passive Scans auf Main-Branch
dast:
  stage: dast
  rules:
    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
      variables:
        DAST_FULL_SCAN: "false"
    - if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
      variables:
        DAST_FULL_SCAN: "true"
  dependencies:
    - deploy

Passive vs. Active Scanning verstehen

GitLab DAST verwendet zwei unterschiedliche Scanning-Methodologien (passiv und aktiv), die jeweils verschiedene Sicherheitstest-Bedürfnisse erfüllen.

Passive Scans analysieren Server-Antworten ohne das Senden potenziell schädlicher Anfragen:

  • Untersuchen HTTP-Headers, Cookies und Antwortinhalte auf Sicherheits-Fehlkonfigurationen
  • Identifizieren Information-Disclosure-Schwachstellen wie exponierte Server-Versionen
  • Erkennen fehlende Sicherheits-Headers (CSP, HSTS, X-Frame-Options)
  • Analysieren SSL/TLS-Konfiguration und Zertifikatsprobleme

Active Scans senden gestaltete Anfragen, die Schwachstellen auslösen sollen:

  • Testen auf Injection-Schwachstellen (SQL-Injection, XSS, Command-Injection)
  • Versuchen Authentifizierungs- und Autorisierungs-Fehler auszunutzen
  • Validieren Input-Sanitization und Output-Encoding
  • Testen auf Business-Logic-Schwachstellen

Hinweis: Der DAST-Scanner ist standardmäßig auf passiv eingestellt.

Authentifizierungs-Konfiguration

Enterprise-Authentifizierung für vollständige Abdeckung: DAST benötigt Authentifizierungs-Konfiguration für umfassende Sicherheitsabdeckung:

variables:
  DAST_AUTH_USERNAME: "[email protected]"
  DAST_AUTH_PASSWORD: "admin123"
  DAST_AUTH_USERNAME_FIELD: "css:input[id=email]"
  DAST_AUTH_PASSWORD_FIELD: "css:input[id=password]"
  DAST_AUTH_SUBMIT_FIELD: "css:button[id=loginButton]"
  DAST_AUTH_REPORT: "true"
  DAST_REQUEST_COOKIES: "welcomebanner_status:dismiss"

Verfügbare Authentifizierungs-Optionen:

  • Einstufige Login-Formulare
  • Mehrstufige Login-Formulare
  • Authentifizierung zu URLs außerhalb des Zielbereichs

Ergebnisse in Merge Requests anzeigen

GitLabs DAST integriert Sicherheits-Scanning nahtlos in Ihren Entwicklungsworkflow durch direkte Anzeige der Ergebnisse in Merge Requests. Diese umfassen umfassende Schwachstellen-Daten, die Entwicklern helfen, Sicherheitsprobleme vor der Integration zu identifizieren und zu beheben.

Schwachstellen-Details

  • Schwachstellen-Name und -Typ (z.B. SQL-Injection, XSS, CSRF)
  • Schweregrad (Critical, High, Medium, Low, Info)
  • CVSS-Score wenn anwendbar
  • Common Weakness Enumeration (CWE) Identifier
  • Vertrauensniveau des Befunds

Standort-Informationen

  • URL/Endpoint, wo die Schwachstelle erkannt wurde
  • Verwendete HTTP-Methode (GET, POST, etc.)
  • Request/Response-Details der verwundbaren Interaktion
  • Parameter-Namen, die verwundbar sind
  • Nachweis der Schwachstelle

Systematische Schwachstellen-Governance

Schwachstellen im Default-Branch verwalten Sie über den GitLab Vulnerability Report - ein zentralisiertes Dashboard, das alle Sicherheitsbefunde über Ihr Projekt oder Organisation zeigt. Diese Ansicht sammelt alle Sicherheitstest-Ergebnisse und bietet Filter- und Sortier-Funktionen, um Behebungsmaßnahmen zu priorisieren.

Die Vulnerability-Seite bietet umfassende Schwachstellen-Daten. Von hier aus können Sie Schwachstellen durch Status-Zuweisung triagieren:

  • Needs triage (Standard)
  • Confirmed
  • Dismissed (Acceptable risk, False positive, Mitigating control, Used in tests, Not applicable)
  • Resolved

Wenn ein Schwachstellen-Status geändert wird, enthält das Audit-Log eine Notiz darüber, wer es geändert hat, wann es geändert wurde und den Grund für die Änderung. Dieses umfassende System ermöglicht Sicherheitsteams effiziente Priorisierung, Tracking und Management von Schwachstellen während ihres gesamten Lebenszyklus.

On-Demand und geplante DAST-Scans

GitLab bietet flexible Scanning-Optionen über Standard-CI/CD-Pipeline-Integration hinaus durch On-Demand und geplante DAST-Scans. On-Demand-Scans ermöglichen Sicherheitsteams und Entwicklern, DAST-Tests manuell bei Bedarf zu initiieren, ohne auf Code-Änderungen oder Pipeline-Trigger zu warten.

On-Demand-Scans können mit benutzerdefinierten Parametern, Ziel-URLs und Scanning-Profilen konfiguriert werden. Geplante DAST-Scans bieten automatisierte, zeitbasierte Sicherheitstests unabhängig vom Entwicklungsworkflow.

DAST in Compliance-Workflows

GitLabs Security-Policy-Framework ermöglicht Organisationen die Durchsetzung konsistenter Sicherheitsstandards über alle Projekte hinweg. Sicherheitsrichtlinien ermöglichen zentrale Governance von DAST-Scanning-Anforderungen.

Scan/Pipeline Execution Policies können konfiguriert werden, um DAST-Scans automatisch basierend auf spezifischen Bedingungen auszulösen. Merge Request Approval Policies bieten eine zusätzliche Sicherheits-Governance-Ebene durch erzwungene menschliche Review für Code-Änderungen, die Sicherheit beeinträchtigen könnten.

Für Compliance bietet GitLab Security Inventory und Compliance Center, die Ihnen ermöglichen zu überwachen, ob DAST in Ihrer Umgebung läuft und wo es erforderlich ist.

Zusammenfassung

GitLab DAST stellt eine mächtige Lösung für die Integration dynamischer Sicherheitstests in moderne Entwicklungsworkflows dar. Durch DAST-Implementierung in Ihrer CI/CD-Pipeline gewinnt Ihr Team die Fähigkeit, Runtime-Schwachstellen automatisch zu erkennen, Compliance mit Sicherheitsstandards aufrechtzuerhalten und sicherere Anwendungen ohne Geschwindigkeitseinbußen zu erstellen.

Der Schlüssel zur erfolgreichen DAST-Implementierung liegt darin, mit Grundkonfiguration zu beginnen und schrittweise zu sophistizierteren Scanning-Profilen entsprechend Ihrer Sicherheits-Reife zu expandieren. Beginnen Sie mit einfachem Website-Scanning, fügen Sie dann progressiv Authentifizierung, Custom Exclusions und erweiterte Berichte hinzu.

Denken Sie daran, dass DAST am effektivsten ist, wenn es mit anderen Sicherheitstest-Ansätzen kombiniert wird. Verwenden Sie es neben statischer Analyse, Dependency-Scanning und manuellen Security-Reviews für eine umfassende Sicherheitstest-Strategie.

Für detaillierte Implementierungsschritte, Authentifizierungs-Konfiguration und technische Setup-Anleitungen siehe den umfassenden englischen Implementierungsguide.

Wir möchten gern von dir hören

Hat dir dieser Blogbeitrag gefallen oder hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab-Community-Forum und tausche deine Eindrücke aus.
Share your feedback

Mehr als 50 % der Fortune-100-Unternehmen vertrauen GitLab

Stelle jetzt bessere Software schneller bereit

Erlebe, was dein Team mit der intelligenten

DevSecOps-Plattform erreichen kann.