Die Sicherheit von Anwendungen ist heute ein kritischer Faktor für jedes Unternehmen. Zwei bewährte Ansätze zur automatisierten Erkennung von Sicherheitslücken sind:
Beide Verfahren ergänzen sich und decken unterschiedliche Schwachstellentypen ab.
SAST-Tools analysieren den Quellcode, Bytecode oder kompilierte Anwendungen, ohne diese auszuführen. Sie suchen nach bekannten Sicherheitsmustern und Schwachstellen.
Vorteile:
Nachteile:
// SQL-Injection-Schwachstelle
String query = "SELECT * FROM users WHERE id = " + userId;
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);
// Hardcoded Credentials
String password = "admin123";
String apiKey = "sk-1234567890abcdef";
// Path Traversal
File file = new File("/uploads/" + filename);# GitLab CI Beispiel
sast_scan:
stage: security
script:
- sonarqube-scanner
- checkmarx-scan --project myapp
artifacts:
reports:
sast: sast-report.jsonDAST-Tools testen laufende Anwendungen von außen, ähnlich wie ein Angreifer vorgehen würde. Sie senden verschiedene Payloads und analysieren die Antworten.
Vorteile:
Nachteile:
#!/bin/bash
# OWASP ZAP Baseline Scan
docker run -v $(pwd):/zap/wrk/:rw \
owasp/zap2docker-stable zap-baseline.py \
-t https://myapp.example.com \
-r zap-report.html
# Nuclei Vulnerability Scanner
nuclei -target https://myapp.example.com \
-templates nuclei-templates/ \
-output nuclei-results.txtOpen Source:
Commercial:
Open Source:
Commercial:
Die Kosten für professionelle Security-Testing-Tools bewegen sich im KMU-Bereich üblicherweise bei:
Kleines Entwicklungsteam (5 Entwickler):
- SAST-Tool: 5 × 50€ = 250€/Monat
- DAST-Tool: 200€/Monat (Team-Lizenz)
- Gesamt: 450€/Monat = 5.400€/Jahr
Mittleres Team (15 Entwickler):
- Enterprise SAST: 800€/Monat
- Enterprise DAST: 400€/Monat
- Gesamt: 1.200€/Monat = 14.400€/Jahr
Hier entsteht ein kritisches Dilemma: Wenn Security-Tools ihren Job gut machen, sind ihre Kosten schwer zu rechtfertigen.
Das Problem:
Ein einziger erfolgreicher Angriff kann Kosten verursachen, die Jahre der Tool-Lizenzierung übersteigen:
Typische Kosten eines Datenlecks (KMU):
- Incident Response: 15.000-50.000€
- Forensische Untersuchung: 10.000-30.000€
- DSGVO-Bußgelder: Bis zu 20 Mio€ oder 4% Jahresumsatz
- Reputationsschäden: Unbezifferbar
- Ausfallzeiten: 1.000-10.000€ pro Stunde
Ein einziger verhindeter Vorfall amortisiert
die Tool-Kosten für mehrere Jahre.
Security KPIs:
SAST-Metriken:
- Gefundene Critical/High Vulnerabilities
- Mean Time to Fix (MTTF)
- False Positive Rate
DAST-Metriken:
- Abgedeckte Anwendungen
- Scan-Frequency
- Trend der gefundenen Issues
Business-Metriken:
- Verhinderte Sicherheitsvorfälle (geschätzt)
- Compliance-Erfüllung
- Versicherungsprämien-Reduzierungstages:
- build
- sast
- test
- dast
- deploy
sast_analysis:
stage: sast
script:
- sonar-scanner
- steampunk-spotter scan playbooks/
rules:
- if: $CI_MERGE_REQUEST_ID
security_gate:
stage: test
script:
- |
if [ "$CRITICAL_ISSUES" -gt 0 ]; then
echo "Critical security issues found. Blocking deployment."
exit 1
fi
dast_scan:
stage: dast
script:
- zap-baseline.py -t $STAGING_URL
environment: staging
only:
- main# Beispiel: Automatische Issue-Erstellung
def create_security_ticket(vulnerability):
ticket = {
'title': f'Security: {vulnerability.type}',
'description': f'''
Vulnerability: {vulnerability.description}
File: {vulnerability.file}:{vulnerability.line}
Severity: {vulnerability.severity}
CWE: {vulnerability.cwe}
Remediation: {vulnerability.fix_guidance}
''',
'priority': map_severity(vulnerability.severity),
'assignee': get_code_owner(vulnerability.file)
}
jira.create_issue(ticket)Ein spezialisiertes Beispiel für Infrastructure-as-Code Security ist Steampunk Spotter, das sich auf Ansible-Playbooks fokussiert:
# Beispiel-Scan-Ergebnisse
findings:
- rule: "ansible.hardcoded-passwords"
file: "playbooks/database.yml"
line: 23
severity: "HIGH"
message: "Hardcoded password detected"
- rule: "ansible.privilege-escalation"
file: "roles/webserver/tasks/main.yml"
line: 15
severity: "MEDIUM"
message: "Unrestricted become usage"# In CI/CD Pipeline
steampunk-spotter scan \
--path playbooks/ \
--format junit \
--output security-report.xml
# Mit Quality Gates
steampunk-spotter scan --fail-on high playbooks/ROI-Formel für Security Tools:
Jährliche Ersparnis =
(Wahrscheinlichkeit eines Angriffs × Durchschnittliche Schadenskosten)
- Tool-Kosten
Beispiel:
- Angriffswahrscheinlichkeit: 25% pro Jahr
- Durchschnittlicher Schaden: 200.000€
- Tool-Kosten: 15.000€/Jahr
ROI = (0,25 × 200.000€) - 15.000€ = 35.000€ jährlich