Modul 16 von 16 · 📖 7 min Lesezeit · ⏱ 30 min gesamt
FI-AE 16 IT-Sicherheit, OWASP Top 10 und DSGVO
Inhaltsverzeichnis (6 Abschnitte)
FI-AE 16 IT-Sicherheit, OWASP Top 10 und DSGVO
In diesem Modul erlernen Sie die wesentlichen Konzepte der IT-Sicherheit für Anwendungsentwickler. Sie verstehen die häufigsten Sicherheitslauten OWASP Top 10 und lernen, wie Sie diese in der Praxis vermeiden. Zudem erwerben Sie fundiertes Wissen zu sicheren Authentifizierungsmechanismen und den DSGVO-relevanten Pflichten bei der Verarbeitung personenbezogener Daten.
Der Fokus liegt auf praktischer Anwendbarkeit: Sie erhalten konkrete Umsetzungshinweise für die Absicherung von Webanwendungen und die Einhaltung datenschutzrechtlicher Vorgaben, insbesondere im Hinblick auf das Prinzip der Datenminimierung.
Konzepte und Hintergrund
- OWASP Top 10
- Die jährlich aktualisierte Liste der zehn kritischsten Sicherheitsrisiken für Webanwendungen. Sie dient als Leitfaden für Entwickler, um die häufigsten Angriffsvektoren wie Injection, Broken Authentication und Cross-Site Scripting zu erkennen und zu vermeiden.
- Authentifizierung vs. Autorisierung
- Die Authentifizierung verifiz die Identität eines Nutzers (Wer sind Sie?), während die Autorisierung festlegt, welche Aktionen ein authentifizierter Nutzer durchführen darf (Was dürfen Sie?). Beide Prozesse sind für die Sicherheit von Anwendungen entscheidend.
- Datenminimierung
- Ein Grundsatz der DSGVO, der besagt, dass nur die für den Verarbeitungszweck notwendigen personenbezogenen Daten erhoben und verarbeitet werden dürfen. Überflüssige Daten sollten nicht gespeichert werden.
- Principle of Least Privilege
- Sicherheitsprinzip, das besagt, dass Benutzer und Systeme nur die minimal notwendigen Rechte für ihre Aufgaben erhalten. Dies begrenzt den potenziellen Schaden bei einem Sicherheitsvorfall.
Architektur-Diagramm
flowchart LR A[Internet] --> B[Web Application Firewall] B --> C[Load Balancer] C --> D[Webserver 1] C --> E[Webserver 2] D --> F[Database] E --> F G[Admin Interface] --> H[Ausgelagerter Admin-Server]
Praktische Schritte
- Implementieren Sie HTTPS für alle Anwendungen mit einem gültigen TLS-Zertifikat. Dies schützt die Datenübertragung zwischen Client und Server.
- Verwenden Sie vorbereitete Anweisungen (Prepared Statements) für alle Datenbankabfragen, um SQL-Injection-Angriffe zu verhindern.
- Setzen Sie sichere Passwortrichtlinien durch: Mindestlänge 12 Zeichen, Mix aus Groß-/Kleinschreibung, Zahlen und Sonderzeichen.
- Implementieren Sie Multi-Faktor-Authentifizierung (MFA) für alle administrativen Konten und Benutzer mit sensiblen Datenzugriff.
- Validieren und sanitizen Sie alle Benutzereingaben serverseitig, um Cross-Site Scripting (XSS) und andere Injection-Angriffe zu verhindern.
- Konfigurieren Sie CSP-Header (Content Security Policy), um die Ausführung nicht autorisierter Skripte zu verhindern.
- Implementieren Sie eine sichere Session-Verwaltung mit regelmäßigen Regenerations der Session-ID nach Login und sensiblen Aktionen.
- Erstellen Sie einen Datenschutzbeauftragten und dokumentieren Sie alle Datenverarbeitungsprozesse gemäß DSGVO-Artikel 30.
Häufige Fallstricke
Weiterführende Ressourcen
- OWASP Top 10 Offizielle Dokumentation
- Bundesbeauftragter für den Datenschutz und die Informationsfreiheit (BfDI) - DSGVO
- OWASP Authentication Cheat Sheet
- GDPR.eu - Praktische Leitfäden zur DSGVO-Implementierung
- OWASP Cheat Sheet Series - Umfassende Sicherheitsguides
Wissens-Check
Vier Fragen zur Selbstkontrolle. Klicken Sie jede Frage an, um die richtige Antwort und Erklärung zu sehen.
Was ist der Hauptunterschied zwischen Authentifizierung und Autorisierung?
- A) Authentifizierung prüft die Berechtigungen, Autorisierung die Identität
- B) Authentifizierung verifiziert die Identität, Autorisierung legt die Berechtigungen fest
- C) Authentifizierung erfolgt immer vor der Autorisierung
- D) Autorisierung ist nur für Administratoren relevant
Richtige Antwort: B. Authentifizierung stellt fest, wer der Benutzer ist, während Autorisierung festlegt, was der Benutzer tun darf. Option A verwechselt die Begriffe. Option C ist zwar oft der Fall, aber kein definierender Unterschied. Option D ist falsch, da Autorisierung für alle Benutzerrollen relevant ist.
Welches der folgenden Beispiele verstößt am ehesten gegen das Prinzip der Datenminimierung?
- A) Speicherung von E-Mail-Adressen für die Kundenkommunikation
- B) Erhebung von Geburtsdaten nur bei altersbeschränkten Inhalten
- C) Sammlung von Browserverlauf für personalisierte Werbung
- D) Protokollierung von Login-Versuchen zur Sicherheit
Richtige Antwort: C. Der Browserverlauf ist für personalisierte Werbung nicht erforderlich und übersteigt den Verarbeitungszweck. Option A und B sind für den angegebenen Zweck angemessen. Option D dient dem Sicherheitszweck und ist daher gerechtfertigt.
Welche Maßnahme ist am effektivsten zur Verhinderung von SQL-Injection-Angriffen?
- A) Regelmäßige Passwortänderungen für Datenbankbenutzer
- B) Verwendung von vorbereiteten Anweisungen (Prepared Statements)
- C) Einschränkung der Datenbankbenutzerrechte
- D) Implementierung einer Web Application Firewall
Richtige Antwort: B. Vorbereitete Anweisungen trennen SQL-Code von Daten, was SQL-Injection effektiv verhindert. Option A schützt vor Passwortdiebstahl, nicht vor Injection. Option C reduziert das Risiko, verhindert es aber nicht vollständig. Option D kann Angriffe blockieren, ist aber keine direkte Prävention im Code.
Welcher der folgenden Angriffe ist im OWASP Top 2021 als "Broken Access Control" klassifiziert?
- A) Ein Angreifer manipuliert URLs, um auf Ressourcen zuzugreifen, für die er keine Berechtigung hat
- B) Ein Angreifer fügt schädlichen SQL-Code in ein Suchfeld ein
- C) Ein Angreifer überschreibt Session-Cookies, um die Identität eines anderen Benutzers zu übernehmen
- D) Ein Angreifer nutzt Schwachstellen in einer Drittanbieter-Bibliothek
Richtige Antwort: A. Broken Access Control betrifft fehlende Zugriffsbeschränkungen, die es Benutzern ermöglichen, auf geschützte Ressourcen zuzugreifen. Option B beschreibt SQL-Injection. Option C ist ein Session-Angriff. Option D betrifft bekannte Schwachstellen (Known Vulnerabilities).