Secure Web Development - Cheatsheet.pdf

Secure Web Development - Cheatsheet
Secure Web Development - Cheatsheet Grundlegende Bedrohungen und Schutzmechanismen (Schadsoftware, Phishing, Man-in-the-Middle, Firewalls, IDS) Definition: Kurze Übersicht über gängige Bedrohungen und deren Schutzmechanismen im Bereich der Webentwicklung. Details: Schadsoftware: Programme, die bösartige Aktionen ausführen (z.B. Viren, Würmer, Trojaner). Schützen durch Antivirenprogramme, regelmäßi...

© StudySmarter 2024, all rights reserved.

Secure Web Development - Cheatsheet

Grundlegende Bedrohungen und Schutzmechanismen (Schadsoftware, Phishing, Man-in-the-Middle, Firewalls, IDS)

Definition:

Kurze Übersicht über gängige Bedrohungen und deren Schutzmechanismen im Bereich der Webentwicklung.

Details:

  • Schadsoftware: Programme, die bösartige Aktionen ausführen (z.B. Viren, Würmer, Trojaner). Schützen durch Antivirenprogramme, regelmäßige Updates, und Vorsicht beim Öffnen von Anhängen.
  • Phishing: Versuche, sensible Informationen durch Täuschung zu erbangen. Schutz durch Nutzung von Anti-Phishing-Tools, Vorsicht beim Anklicken unbekannter Links, und Verifizierung der Echtheit von Websites.
  • Man-in-the-Middle: Abhören und Manipulieren von Kommunikation zwischen zwei Parteien. Schutz durch Verschlüsselung (z.B. TLS/SSL).
  • Firewalls: Netzwerksicherheitsvorrichtungen, die eingehenden und ausgehenden Datenverkehr kontrollieren. Schützen durch Überwachung und Filterung des Datenverkehrs.
  • IDS (Intrusion Detection System): Systeme zur Erkennung und Meldung von potenziellen Sicherheitsverletzungen. Schützen durch Überwachung der Netzwerkaktivitäten und Identifikation verdächtiger Muster.

SQL-Injection (Erkennung, Vermeidung durch prepared statements)

Definition:

SQL-Injection: eine Sicherheitslücke, bei der Angreifer schädlichen SQL-Code in eine Abfrage einschleusen können.

Details:

  • Erkennung: Beobachten ungewöhnlicher SQL-Abfrage-Muster, Einsatz von Web Application Firewalls (WAFs), Log-Analyse.
  • Vermeidung: Nutze Prepared Statements mit parametrisierten Abfragen. Trenne SQL-Code von Nutzdaten, um Code-Injection zu verhindern.
  • Beispiel Prepared Statement in PHP: $stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username'); $stmt->execute([':username' => $input_username]);

Cross-Site Scripting (reflektiert, persistent, DOM-basiert) und Content Security Policy

Definition:

Cross-Site Scripting (XSS): Sicherheitslücke, die es Angreifern ermöglicht, Schadcode in Webseiten einzuschleusen. CSP: Sicherheitsmechanismus zur Bekämpfung solcher Angriffe.

Details:

  • Reflektiertes XSS: Eingaben eines Nutzers werden sofort im Output der Webseite reflektiert.
  • Persistentes XSS: Schadcode wird dauerhaft im Server gespeichert und bei jedem Aufruf der betroffenen Seite ausgeführt.
  • DOM-basiertes XSS: Veränderungen am DOM einer Webseite durch unsichere Client-seitige Skripte.
  • Content Security Policy (CSP): Mechanismus, der erlaubt, welche Ressourcen eine Webseite laden darf; definiert durch HTTP-Header oder innerhalb von HTML.
  • Wichtigste CSP-Direktiven: 'default-src', 'script-src', 'style-src', 'img-src'.
  • CSP kann Inline-Skripte und externe Ressourcen einschränken, wodurch XSS-Risiken minimiert werden können.

Sichere Authentifizierungsverfahren (Passwort-Sicherheit, Multi-Faktor-Authentifizierung, OAuth2, OpenID Connect)

Definition:

Sichere Authentifizierungsverfahren gewährleisten Schutz vor unbefugtem Zugriff auf Systeme.

Details:

  • Passwort-Sicherheit: Mindestens 8-12 Zeichen, Mischung aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen. Passwörter regelmäßig ändern und nie mehrfach verwenden.
  • Multi-Faktor-Authentifizierung (MFA): Kombination aus zwei oder mehr der folgenden Faktoren: Wissen (Passwort), Besitz (Token, Smartphone), Inhärenz (biometrische Daten).
  • OAuth2: Autorisierungsrahmen zur Gewährung eingeschränkten Zugriffs auf Ressourcen ohne Weitergabe von Zugangsdaten. Nutzung von Access Tokens.
  • OpenID Connect: Erweiterung von OAuth2 für Authentifizierung. Ermöglicht Single Sign-On (SSO) mittels ID Tokens, basierend auf JSON Web Tokens (JWT).

Speichertechniken für Passwörter (Hashing, Salting)

Definition:

Hashing: Transformiere Passwort zu einer festen Länge. Salting: Füge zusätzlichen Wert zum Passwort vor dem Hashing hinzu.

Details:

  • Hashing: Einwegfunktion, nicht umkehrbar. Beispiele: SHA-256, bcrypt
  • Salting: Erhöht Sicherheit, verhindert Rainbow-Table-Angriffe. Zufällig generierter Wert (Salt) vor dem Hashing-Prozess hinzugefügt
  • Formel Hashing: \(H(Passwort) = H(plaintext)\)
  • Formel Salting: \(H(Salt \ | Passwort)\)

HTTPS und SSL/TLS (Grundlagen, Zertifikatsverwaltung, Best Practices, Angriffe und Gegenmaßnahmen)

Definition:

HTTPS (Hypertext Transfer Protocol Secure) verwendet SSL/TLS (Secure Sockets Layer/Transport Layer Security) zur Verschlüsselung der Kommunikation zwischen Webbrowser und Server.

Details:

  • Grundlagen: SSL/TLS sichert Datenintegrität und -verschlüsselung. HTTPS läuft über TCP-Port 443.
  • Zertifikatsverwaltung: Vertrauen basiert auf digitalen Zertifikaten, die von Zertifizierungsstellen (CA) ausgestellt werden.
  • Best Practices: Starke Verschlüsselungsalgorithmen nutzen, regelmäßige Zertifikatsaktualisierung, Einsatz von HSTS (HTTP Strict Transport Security).
  • Angriffe: Man-in-the-Middle (MitM), POODLE, BEAST.
  • Gegenmaßnahmen: Einsatz aktueller SSL/TLS-Versionen, regelmäßige Sicherheitsüberprüfungen, sichere Konfiguration von Servern und Bibliotheken.

Sicherheit von Web-APIs (API-Authentifizierung, Autorisierung, Ratenlimitierung)

Definition:

Sicherheit von Web-APIs umfasst Mechanismen zum Schutz vor unberechtigtem Zugriff und Missbrauch, einschließlich Authentifizierung, Autorisierung und Ratenlimitierung.

Details:

  • API-Authentifizierung: Identität des Nutzers prüfen. Häufig verwendete Methoden: API-Schlüssel, OAuth2, JWT
  • Autorisierung: Berechtigungen überprüfen. Zugriffskontrollliste (ACLs) und Rollenbasierte Zugriffskontrolle (RBAC)
  • Ratenlimitierung: Anzahl der Anfragen pro Zeiteinheit begrenzen, um Missbrauch und Überlastung zu verhindern

Verfahren zur Risikoanalyse und -bewertung (Analysemodelle, Risikostrategien)

Definition:

Methoden zur Identifikation, Bewertung und Minimierung von Risiken in der Webentwicklung.

Details:

  • DREAD: Klassifizierung von Risiken nach Schaden, Reproduzierbarkeit, Ausnutzbarkeit, Entdeckbarkeit, Benutzerbetroffenheit
  • STRIDE: Kategorisierung von Bedrohungen: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege
  • Fault Tree Analysis (FTA): Grafische Darstellung von Systemausfällen zur Identifizierung von Ursachen
  • Failure Mode and Effects Analysis (FMEA): Identifikation von Fehlerzuständen und deren Auswirkungen
  • Quantitative Risikobewertung: Nutzung von Wahrscheinlichkeiten und Schadensausmaßen zur Bewertung
  • Risikostrategien: Akzeptanz, Vermeidung, Minderung, Übertragung
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden