- 1 Section
- 11 Lessons
- unbegrenzt
- IT-Sicherheit Grundlagen & Bedrohungen11
- 1.1CIA-Triad: Vertraulichkeit, Integrität, Verfügbarkeit
- 1.2Angriffsvektoren: Malware, Phishing, Social Engineering
- 1.3Malware-Typen im Detail
- 1.4DDoS-Angriffe
- 1.5Man-in-the-Middle und Replay-Angriffe
- 1.6Schwachstellenmanagement: CVE und CVSS
- 1.7BSI-Grundschutz
- 1.8IT-Sicherheitskonzept: Schutzbedarfsanalyse
- 1.9Wirksamkeit von Sicherheitsmaßnahmen prüfen
- 1.10Security Awareness
- 1.11IHK-Aufgaben IT-Sicherheit
OWASP Top 10
Die OWASP Top 10 ist eine alle paar Jahre aktualisierte Liste der kritischsten Sicherheitsrisiken für Webanwendungen, herausgegeben vom Open Web Application Security Project. Sie ist kein Standard im rechtsverbindlichen Sinne, aber de-facto-Referenz für Entwickler, Sicherheitstester und Auditoren weltweit. Wenn eine Webanwendung die OWASP Top 10 berücksichtigt, ist sie gegen die häufigsten und folgenreichsten Angriffe geschützt.
Für FIAE-Azubis ist die OWASP Top 10 prüfungsrelevant: Sie strukturiert das Themenfeld Secure Coding und gibt Orientierung, welche Schwachstellen beim Entwickeln und Code-Review zu beachten sind. Die aktuelle Liste stammt aus dem Jahr 2021 und spiegelt die Realität hunderter analysierter Webanwendungen wider.
1) Die OWASP Top 10 (2021)
Klicke auf einen Eintrag für eine ausführliche Erklärung mit Angreiferbeispiel und Gegenmaßnahmen. Die Farbe zeigt den typischen Schweregrad an – Rot steht für kritisch, Orange für hoch, Gelb für mittel.
/admin aufrufen ohne Admin zu sein), Insecure Direct Object References (IDOR: /rechnung?id=1234 auf fremde Rechnungen ändern).Beispiel: Ein Nutzer ändert in der URL
/api/orders/1001 die ID auf 1002 und sieht die Bestellung eines anderen Kunden. Die API prüft nicht, ob die bestellte Ressource dem eingeloggten Nutzer gehört.Schutz: Server-seitige Autorisierungsprüfung für jede Anfrage. Deny-by-Default. Objektreferenzen nicht direkt aus IDs ableiten (GUID verwenden oder Ownership prüfen). Mehr in Autorisierung nach dem Login.
Beispiel: Passwörter mit MD5 ohne Salt gespeichert. Bei einem Datenbankdump kann ein Angreifer in Minuten alle Passwörter via Rainbow-Table cracken.
Schutz: HTTPS überall. Passwörter mit bcrypt/scrypt/Argon2 hashen (nicht MD5/SHA-1). TLS 1.2+ erzwingen. Sensible Daten nur so lange speichern wie nötig. Details: Passwörter richtig hashen.
Beispiel: Login-Formular:
' OR '1'='1 als Passwort → SQL wird zu WHERE pw='' OR '1'='1' → immer wahr → Login ohne Passwort.Schutz: Prepared Statements / Parameterized Queries. ORM verwenden. Input validieren und sanitizen. Mehr: SQL-Injection, Input-Validierung.
Beispiel: Eine Passwort-Reset-Funktion fragt drei „Sicherheitsfragen" ab, die aus öffentlichen sozialen Medien leicht zu beantworten sind. Das ist ein Design-Problem, kein Code-Problem.
Schutz: Threat Modeling. Security-Anforderungen von Anfang an. Secure Design Patterns verwenden. Defense in Depth.
Beispiel: AWS S3 Bucket mit öffentlichem Lesezugriff enthält Kundendaten. „Bequemlichkeit beim Setup" → Datenpanne mit Millionenstrafe.
Schutz: Hardening-Checklisten. Infrastructure as Code mit Security-Scan. Minimalprinzip: nur aktivieren, was gebraucht wird. Security Headers setzen (→ Security Headers).
Schutz: Dependency-Inventar pflegen. Automatisierte Schwachstellenscans (npm audit, Dependabot, Snyk). Zeitnahe Updates. Details: Dependency Management.
Beispiel: Session-Token wird nach Logout nicht invalidiert. Angreifer, der das Token aus dem Browser-History oder einem Log kennt, kann sich weiter als der Nutzer ausgeben.
Schutz: MFA implementieren. Starke Session-Token (kryptografisch zufällig, min. 128 Bit). Session bei Logout und nach Inaktivität invalidieren. Details: Broken Authentication.
Beispiel: SolarWinds-Angriff 2020: Angreifer injizierten Schadcode in den Build-Prozess eines Softwareanbieters. Tausende Kunden installierten das kompromittierte Update.
Schutz: Signaturen für Updates prüfen. SBOM (Software Bill of Materials). Secure CI/CD mit Integrity-Checks. Details: Supply Chain Security.
Beispiel: 10.000 fehlgeschlagene Login-Versuche in einer Stunde – aber keine Alarmierung, kein Rate-Limiting. Brute-Force läuft ungestört durch.
Schutz: Login-Ereignisse, Zugriffsverletzungen, Fehler protokollieren. Logs ins SIEM. Alert bei Anomalien. Logs tamper-proof speichern.
Beispiel: Funktion „Vorschau einer URL generieren" → Angreifer gibt
http://169.254.169.254/latest/meta-data/ an (AWS Metadata-Endpoint) → erhält IAM-Credentials des Servers.Schutz: Allowlist für erlaubte URLs. Netzwerksegmentierung (Server darf keine internen IPs erreichen). URL-Validierung server-seitig.
2) OWASP im Entwicklungsprozess einsetzen
| Phase | OWASP-Einsatz |
|---|---|
| Anforderungen | Security Requirements aus OWASP ASVS (Application Security Verification Standard) ableiten |
| Design | Threat Modeling – Bedrohungen für jede Top-10-Kategorie identifizieren |
| Entwicklung | Secure-Coding-Checklisten; OWASP Cheat Sheet Series als Referenz |
| Testing | OWASP Testing Guide für manuelle Tests; automatisierte Scanner (ZAP, Burp Suite) |
| Betrieb | Monitoring, WAF-Regeln nach OWASP-Kategorien, Incident Response |
Zusammenfassung
Die OWASP Top 10 (2021) listet die häufigsten und gefährlichsten Webanwendungs-Schwachstellen: A01 Broken Access Control, A02 Cryptographic Failures, A03 Injection, A04 Insecure Design, A05 Security Misconfiguration, A06 Outdated Components, A07 Auth Failures, A08 Integrity Failures, A09 Logging Failures, A10 SSRF. Jede Lektion dieses Kurses vertieft einen oder mehrere dieser Punkte: nächste Station ist die detaillierteste Einzelschwachstelle der Liste – SQL-Injection.
