Security Champions
„Du kannst nicht überall sein. Aber ein Champion in jedem Team schon."
Sinn & Zweck
Ein Security-Team von 5 Personen kann 500 Entwickler nicht betreuen. Die Rechnung geht nicht auf. Security Champions sind die Lösung: Entwickler, die in ihren Teams als Security-Multiplikatoren agieren.
Sie sind nicht das Security-Team. Sie sind die Brücke zwischen Security und Development.
Ohne Champions: Mit Champions:
┌─────────────────┐ ┌─────────────────┐
│ Security Team │ │ Security Team │
│ (5 Leute) │ │ (5 Leute) │
└────────┬────────┘ └────────┬────────┘
│ │
↓ (Überlastet!) ↓ (Skaliert!)
┌─────────────────┐ ┌─────────────────┐
│ 500 Devs │ │ Champions │
│ (Alle fragen) │ │ (15 Leute) │
└─────────────────┘ └────────┬────────┘
│
↓
┌─────────────────┐
│ 500 Devs │
│ (Dezentrales │
│ Security) │
└─────────────────┘
Was macht ein Security Champion?
Kernaufgaben
responsibilities:
team_level:
- Security-Ansprechpartner im Team
- Code Reviews mit Security-Fokus
- Threat Modeling unterstützen
- Security-Anforderungen in User Stories
- Tool-Findings triagieren
organization_level:
- Teilnahme am Champion-Programm
- Best Practices teilen
- Security-News ins Team tragen
- Feedback an Security-Team geben
continuous:
- Security-Trainings absolvieren
- Neue Bedrohungen verstehen
- Prozesse verbessern helfen
Was sie NICHT sind
not_responsible_for:
- Alleinige Security-Verantwortung
- Vollzeit-Security-Arbeit (max 10-20%)
- Formale Security-Audits
- Penetration Testing
- Incident Response (first line)
- Alle Security-Entscheidungen
Das Champion-Programm aufbauen
Phase 1: Foundation (Monat 1-2)
setup:
executive_sponsorship:
- CTO/CISO Buy-in holen
- Budget für Training sichern
- Zeit für Champions einplanen (offiziell!)
program_design:
- Rolle definieren
- Erwartungen dokumentieren
- Metriken festlegen
- Kommunikationskanäle aufbauen
Phase 2: Recruitment (Monat 2-3)
champion_selection:
sources:
- Selbstnominierung (Interesse!)
- Team-Lead-Empfehlung
- Security-Team-Nominierung
ideal_profile:
- Technisch versiert
- Interesse an Security
- Kommunikationsfähig
- Respektiert im Team
- Nicht zu Junior, nicht zu Senior
avoid:
- Zwangszuteilung ("Du machst das jetzt")
- Nur die Üblichen (Diversität!)
- Leute ohne Zeit
Phase 3: Training (Monat 3-4)
training_curriculum:
fundamentals:
- OWASP Top 10
- Secure Coding Basics
- Threat Modeling Intro
- Tool-Nutzung (SAST, SCA, etc.)
hands_on:
- CTF-Challenges
- Vulnerable Apps (DVWA, Juice Shop)
- Code Review Übungen
soft_skills:
- Security kommunizieren
- Widerstände überwinden
- Mit Entwicklern arbeiten
ongoing:
- Monatliche Deep Dives
- Neue Vulnerability-Klassen
- Tool-Updates
Phase 4: Launch & Operate (Monat 4+)
operations:
regular_activities:
- Bi-weekly Champion Meeting
- Slack-Channel für Quick Questions
- Knowledge Sharing Sessions
- Quarterly Reviews
support_structure:
- Security-Team als Backup
- Eskalationspfade klar
- Dokumentation & Playbooks
- Peer Support unter Champions
Champion-Aktivitäten im Detail
Security Code Reviews
# Champion checkt PR auf Security
# Checklist:
# [ ] Input Validation vorhanden?
# [ ] SQL Queries parameterized?
# [ ] Keine Secrets im Code?
# [ ] Auth/Authz korrekt implementiert?
# [ ] Error Handling leakt keine Infos?
# [ ] Dependencies aktuell?
# Beispiel-Kommentar:
"""
@author Bevor wir mergen: Diese User-Eingabe geht direkt
in die SQL-Query. Können wir hier prepared statements nutzen?
Beispiel:
- cursor.execute(f"SELECT * FROM users WHERE id = {user_id}") # ❌
+ cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,)) # ✓
Siehe auch: https://owasp.org/www-community/attacks/SQL_Injection
"""
Threat Modeling Support
# Champion facilitiert Threat Model für neues Feature
session:
participants:
- Champion (Facilitator)
- Dev Lead
- 2-3 Entwickler
- (Security Team optional)
duration: 60-90 Minuten
output:
- Data Flow Diagram
- Identifizierte Threats
- Mitigations
- Security User Stories
Security in Sprint Planning
# Champion bringt Security-Stories ein
user_story:
title: "Als Angreifer kann ich Session hijacken"
security_story:
title: "Session-Tokens sicher generieren"
acceptance_criteria:
- 256-bit kryptografisch sichere Token
- HttpOnly, Secure, SameSite=Strict Cookies
- Session Timeout nach 30 Minuten
- Regeneration bei Login
story_points: 3
Tool-Finding-Triage
# Champion triagiert SAST-Findings
finding:
tool: SonarQube
rule: S2077 - SQL Injection
file: UserRepository.java:42
champion_analysis:
true_positive: true
exploitable: yes (user-controlled input)
priority: high
action: Create ticket, assign to dev
# ODER:
finding:
tool: Snyk
cve: CVE-2023-XXXX
package: test-lib@1.0.0
champion_analysis:
true_positive: true
exploitable: false (only in test code)
priority: low
action: Update in next sprint
Motivation & Retention
Anerkennung
recognition:
formal:
- "Security Champion" Titel
- Erwähnung in All-Hands
- Jahresbonus/Gehaltskomponente
- Zertifizierungen sponsern
informal:
- Shoutouts im Slack
- Champion des Monats
- Security Team Dinner
- Konferenz-Teilnahme
Karrierepfad
Junior Dev
↓
Developer → Security Champion (parallel)
↓
Senior Dev + Champion
↓
Security Engineer? Lead Developer? Staff Engineer?
Zeit geben
time_allocation:
minimum: 10% der Arbeitszeit
target: 15-20%
# Das bedeutet:
# - 4-8 Stunden pro Woche für Security
# - Offiziell in Kapazitätsplanung
# - Keine "zusätzliche" Arbeit
Kommunikation & Community
Regelmäßige Treffen
meetings:
champion_standup:
frequency: Bi-weekly
duration: 30 min
agenda:
- Security News & Updates
- Aktuelle Herausforderungen
- Knowledge Sharing
- Q&A
deep_dive:
frequency: Monthly
duration: 60 min
topics:
- Neue Vulnerability-Klassen
- Tool-Trainings
- Hands-on Labs
Kommunikationskanäle
channels:
slack:
- #security-champions (Hauptkanal)
- #security-questions (alle Devs)
- #security-alerts (kritische Infos)
documentation:
- Confluence/Wiki Space
- Playbooks & Checklists
- FAQs
escalation:
- Security Team Email
- PagerDuty (kritisch)
Knowledge Base
# Security Champion Wiki
## Schnellreferenzen
- [Secure Coding Cheatsheet](link)
- [SAST Finding Triage Guide](link)
- [Threat Modeling Playbook](link)
## Häufige Fragen
- Wie priorisiere ich Findings?
- Wann eskaliere ich an Security?
- Wie erkläre ich Security dem PM?
## Tools & Ressourcen
- [SonarQube Dashboard](link)
- [Snyk Projects](link)
- [OWASP Resources](link)
Metriken & Erfolg messen
Program Metrics
program_health:
- Anzahl aktiver Champions
- Champion Coverage (Teams mit Champion / Alle Teams)
- Meeting-Teilnahme
- Training-Completion-Rate
security_impact:
- Vulnerabilities von Champions gefunden
- Mean Time to Fix (mit Champion vs. ohne)
- Security Stories in Sprints
- Code Review Security Findings
engagement:
- Champion Retention Rate
- Slack Activity
- Knowledge Sharing Sessions
Dashboard
┌────────────────────────────────────────────────────────────────┐
│ Security Champions Program Dashboard │
├────────────────────────────────────────────────────────────────┤
│ Active Champions: 15 / 20 Teams (75% coverage) │
│ Avg. Time Spent: 12% (Target: 15%) │
├────────────────────────────────────────────────────────────────┤
│ This Quarter: │
│ ├── Security Reviews conducted: 47 │
│ ├── Vulns found in Code Review: 23 │
│ ├── Security Stories delivered: 31 │
│ └── Threat Models created: 5 │
├────────────────────────────────────────────────────────────────┤
│ MTTR Comparison: │
│ ├── Teams WITH Champion: 12 days │
│ └── Teams WITHOUT Champion: 34 days │
└────────────────────────────────────────────────────────────────┘
Herausforderungen & Lösungen
"Keine Zeit"
problem: "Ich habe keine Zeit für Security"
solutions:
- Offizielle Zeit-Allokation (10-20%)
- Management Buy-in sichern
- Security in Sprint-Kapazität
- Zeiterfassung für Security-Arbeit
"Das ist nicht mein Job"
problem: "Security ist Aufgabe des Security-Teams"
solutions:
- Klare Rollenverteilung kommunizieren
- Zeigen, wie Security Teil von Qualität ist
- Erfolge feiern und sichtbar machen
- "Security ist everyone's job" Kultur
"Mein Team hört nicht auf mich"
problem: "Entwickler ignorieren meine Vorschläge"
solutions:
- Mit Daten argumentieren (Breach-Kosten, etc.)
- Security-Team als Backup
- Quick Wins zeigen
- Bündnisse mit Tech Leads
Burnout
problem: "Champion fühlt sich überfordert"
solutions:
- Workload regelmäßig prüfen
- Backup-Champions etablieren
- Scope klar begrenzen
- Eskalationswege einfach machen
Skalierung
Von 5 auf 50 Champions
scaling:
structure:
- Regional/Area Champions (Lead-Champions)
- Team Champions (lokale Champions)
delegation:
- Champions trainieren Champions
- Peer Learning Groups
- Self-Service Ressourcen
automation:
- Champion Onboarding automatisieren
- Metrics Dashboard self-service
- Training-Plattform (LMS)
Governance
governance:
program_owner: Security Team Lead
champion_tiers:
- Associate Champion (< 6 Monate)
- Champion (6-18 Monate)
- Senior Champion (18+ Monate, mentort andere)
review:
- Quarterly Program Review
- Annual Champion Survey
- Continuous Improvement
Fazit
Security Champions sind keine Silver Bullet, aber sie sind die beste Skalierungsstrategie für Security. Sie bringen Security-Wissen in die Teams, wo es gebraucht wird, und geben dem Security-Team die Reichweite, die es alleine nie hätte.
Der Schlüssel zum Erfolg: Freiwilligkeit, Zeit, Training und Anerkennung.
Ein motivierter Champion im Team ist mehr wert als zehn Security-Policies im Wiki.
Weiterführende Ressourcen: