| Nächste Überarbeitung | Vorhergehende Überarbeitung |
| modul:m183:learningunits:lu04:aufgaben:04 [2025/07/10 15:02] – angelegt vdemir | modul:m183:learningunits:lu04:aufgaben:04 [2026/02/19 13:40] (aktuell) – dgaravaldi |
|---|
| ====== LU04.A04 - Vergleich moderner symmetrischer Verschlüsselungsverfahren ====== | ====== LU04.A04 - (A1) Brocken Authentication ====== |
| | <sup>Internal reference: exer/04-4.md</sup> |
| | \\ |
| | Um Session-Hijacking zu verhindern, sollten Entwickler starke Sicherheitsmaßnahmen implementieren, um Session-Token vor Diebstahl oder Vorhersage zu schützen. Nachfolgend eine Auswahl an Sicherheitsmaßnahmen: |
| |
| ===== Lernziele ===== | |
| * Ich kann moderne symmetrische Verschlüsselungsverfahren anhand von vorgegebenen Kriterien vergleichen. | |
| |
| ===== Rahmenbedingungen ===== | \\ |
| * **Zeitbudget:** 15 Minuten | ==== Sichere und zufällige Session-Token verwenden ==== |
| * **Sozialform:** Einzelarbeit | Generieren Sie kryptografisch sichere Token mithilfe starker Randomisierung (z. B. UUIDs, HMAC oder SHA-256). Vermeiden Sie vorhersehbare Muster (z. B. fortlaufende IDs oder Zeitstempel). Erhöhen Sie die Token-Länge, um Brute-Force-Angriffe zu erschweren. |
| * **Hilfsmittel:** Recherchen im Internet | |
| * **Erwartetes Ergebnis:** Word-Dokument (im Vorlage im Anhang) fertig ausgefüllt | |
| |
| ===== Ausgangslage ===== | \\ |
| | ==== Sichere Cookies implementieren ==== |
| | Verwenden Sie das **Secure-Flag**, um sicherzustellen, dass Cookies nur über HTTPS gesendet werden. Setzen Sie das **HttpOnly-Flag**, um zu verhindern, dass JavaScript auf Session-Cookies zugreift. Aktivieren Sie **SameSite-Attribute**, um den seitenübergreifenden Zugriff einzuschränken. |
| |
| Die ersten Verschlüsselungsverfahren, wie das Skytale-Verfahren, wurden vor rund 2'000 Jahren erfunden und basierten auf einfachen Prinzipien. Im 16. Jahrhundert führte das Vigenère-Verfahren eine erhöhte Sicherheitsebene durch die Verwendung von polyalphabetischer Substitution ein, was es für damalige Verhältnisse zu einem der komplexesten Verschlüsselungsmechanismen machte. Doch mit dem Fortschritt der Kryptanalyse wurden auch diese Methoden zunehmend anfälliger für Angriffe. | \\ |
| | ==== Kurze Session-Lebensdauer und -Generierung verwenden ==== |
| | Implementieren Sie kurze **Session-Ablaufzeiten**, um das Angriffsfenster zu begrenzen. Generieren Sie **Session-Token** nach dem Login. |
| |
| Der technologische Fortschritt und das digitale Zeitalter erforderten robustere Verschlüsselungsmethoden, und so entstanden moderne symmetrische Verschlüsselungsverfahren, die auf ausgefeilten mathematischen Prinzipien beruhen. Der International Data Encryption Algorithm (IDEA) wurde als Antwort auf die Schwächen älterer Systeme entwickelt und bot eine starke Verschlüsselung mit einer Schlüssellänge von 128 Bit. Der Advanced Encryption Standard (AES) setzte später neue Maßstäbe für die Verschlüsselung von sensiblen Daten und wurde schnell zum bevorzugten Standard für Regierungen und Unternehmen weltweit. ChaCha20, eine neuere Entwicklung, ist bekannt für seine hohe Geschwindigkeit und Sicherheit, was es zu einer beliebten Wahl in modernen Protokollen wie TLS und für mobile Anwendungen macht. Von Vigenère zu IDEA, von AES zu ChaCha20, die Evolution der Verschlüsselungsmethoden spiegelt die ständige Suche nach Sicherheit in der Kommunikation wider. | \\ |
| ===== Arbeitsauftrag ===== | ==== Session-Binding implementieren ==== |
| Recherchieren und analysieren Sie die drei modernen symmetrischen Verschlüsselungsverfahren IDEA, AES und ChaCha20. Fokussieren Sie sich auf die Kriterien Sicherheit, Schlüssellänge, bekannte Schwachstellen und praktische Anwendungsbereiche. Ermitteln Sie, wie und wo diese Algorithmen aktuell eingesetzt werden und welche Besonderheiten sie aufweisen. | Sitzungstoken (Session-Token) an **IP-Adressen** oder **User-Agents binden**, um Wiederverwendung zu verhindern. Auf plötzliche Änderungen der **Sitzungsattribute** achten und Sitzungen bei Erkennung ungültig setzen. |
| |
| Nutzen Sie das zur Verfügung gestellte Word-Dokument, um Ihre Ergebnisse in strukturierter Form festzuhalten. Vergleichen Sie die Algorithmen miteinander und stellen Sie die gesammelten Informationen so dar, dass ein klarer Vergleich möglich ist. Achten Sie darauf, die Verwendungskontexte der einzelnen Verschlüsselungsverfahren hervorzuheben. Nach Abschluss Ihrer Recherche laden Sie das Dokument mit Ihren ausführlichen Antworten hoch. | \\ |
| | ==== Verdächtige Aktivitäten überwachen und erkennen (Monitoring) ==== |
| | **Rate limiting** implementieren, um Brute-Force-Angriffe zu erkennen. |
| | **Sitzungsaktivitäten protokollieren** (Monitoring) und auf Anomalien analysieren (z. B. mehrfache Anmeldungen von verschiedenen Standorten). |
| |
| | \\ |
| | ==== Multi-Faktor-Authentifizierung (MFA) verwenden ==== |
| | Selbst wenn ein Angreifer eine Sitzung stiehlt, bietet MFA eine zusätzliche Sicherheitsebene. Für sensible Aktionen (z. B. Änderung von Kontoeinstellungen) eine erneute Authentifizierung erzwingen. |
| | |
| | \\ |
| | ==== Sitzungen beim Abmelden ungültig setzen ==== |
| | Serverseitige Sitzungslöschung beim Abmelden sicherstellen, um Wiederverwendung zu verhindern. Eine Abmeldefunktion (Log out) implementieren, die Sitzungsdaten ordnungsgemäß löscht. |
| | |
| | \\ |
| | \\ |
| | ===== Übungen ===== |
| | Bearbeiten Sie mit WebGoat die Übung in Kurs-Repository <color #00a2e8>02/02_Exercises/01-05</color> |
| | |
| | {{:modul:m183:learningunits:lu04:aufgaben:wg-started.png?600|WebGoat}} |
| | |
| | \\ |
| | \\ |
| | ===== WARNUNG ===== |
| | <color #ed1c24>Dieses Programm dient ausschließlich Bildungszwecken. Wenn Sie diese Techniken ohne Genehmigung anwenden, werden Sie mit hoher Wahrscheinlichkeit erwischt. Bei unautorisierten Hacking-Aktivitäten werden Sie von den meisten Unternehmen entlassen oder von den öffentlichen Behörden juristisch verfolgt respektive belangt. Die Behauptung, Sie hätten Sicherheitsforschung betrieben, ist nicht haltbar, da dies die erste Ausrede aller Hacker ist.</color> |
| | |
| | ---- |
| | |
| | [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Daniel Garavaldi |