OWASP ZAP (Web-Application-Sicherheitstesting-Tool)
OWASP ZAP (Zed Attack Proxy) ist ein kostenloses Open-Source-Werkzeug zur automatisierten und manuellen Sicherheitsprüfung von Webanwendungen und APIs. Es erkennt Schwachstellen wie SQL-Injection, Cross-Site-Scripting und fehlerhafte Authentifizierung durch aktive und passive Scan-Verfahren.
Ausführliche Erklärung
OWASP ZAP funktioniert als sogenannter "Manipulator-in-the-Middle-Proxy": Das Tool positioniert sich zwischen Browser und Webanwendung, fängt den Datenverkehr ab und analysiert HTTP-Anfragen und -Antworten auf Sicherheitslücken. Es führt passive Scans durch, die den Datenverkehr beobachten, ohne ihn zu verändern, sowie aktive Scans, die gezielt bekannte Angriffsmuster gegen die Anwendung einsetzen, um Schwachstellen aufzudecken. ZAP erkennt Sicherheitsrisiken gemäß der OWASP Top 10, darunter Injektionsschwachstellen, unsichere Konfigurationen und fehlerhafte Zugriffskontrolle.
Für KMU ist OWASP ZAP besonders relevant, weil es sich sowohl für einmalige Sicherheitsprüfungen durch Penetrationstester als auch für kontinuierliche automatisierte Tests in CI/CD-Pipelines eignet. Das Tool ist plattformübergreifend verfügbar (Windows, macOS, Linux, Docker) und bietet eine Desktop-Anwendung für manuelle Tests sowie eine API für automatisierte Scans. Damit können auch Unternehmen ohne dedizierte Sicherheitsabteilung regelmäßig ihre Webanwendungen, Webshops oder API-Endpunkte auf Schwachstellen prüfen, bevor diese von Angreifern ausgenutzt werden.
Das Projekt wurde 2010 als OWASP-Initiative gegründet, verließ 2023 die OWASP-Organisation zugunsten der Linux Foundation und wird seit 2024 als "ZAP by Checkmarx" geführt. Es bleibt jedoch vollständig Open Source, kostenlos und community-gesteuert. ZAP unterstützt neben klassischen Webanwendungen auch moderne Technologien wie GraphQL, SOAP-APIs und AJAX-basierte Anwendungen. Besonders hervorzuheben ist die Automatisierbarkeit: ZAP kann über Skripte gesteuert und in DevSecOps-Workflows integriert werden, sodass Sicherheitstests automatisch bei jedem Build-Vorgang durchgeführt werden.
Praxisbeispiel
Ein mittelständischer Maschinenbauer mit 80 Mitarbeitenden aus Nordrhein-Westfalen führt quartalsweise Sicherheitsprüfungen durch und nutzt dabei OWASP ZAP für den automatisierten Test des eigenen Webshops. Ein Scan dauert 3–6 Stunden. Bei der ersten Prüfung identifizierte das Tool drei kritische Schwachstellen, darunter eine SQL-Injection-Lücke, die Angreifern direkten Datenbankzugriff ermöglicht hätte. Die Behebung erfolgte vor Inbetriebnahme des Shops.
Code-Beispiel
#!/bin/bash
# OWASP ZAP Docker-basierter API-Scan (Baseline)
# Für automatisierte Sicherheitsprüfung in CI/CD
docker run --rm -v $(pwd):/zap/wrk/:rw \
-t zaproxy/zap-stable zap-api-scan.py \
-t https://api.example.com/openapi.json \
-f openapi \
-r report.html \
-J report.json
# Parameter:
# -t: Ziel-API (OpenAPI-Definition oder URL)
# -f: Format (openapi, soap)
# -r: HTML-Report
# -J: JSON-Report für Pipeline-Auswertung