Dies ist eine alte Version des Dokuments!
LU02g - LB2 - Fokusthema: BruteForce
1. Einleitung
BruteForce-Attacken beschränken sich häufig auf einzelne Dateien, sind aber auch im Interenet nicht so selten wie man meint. Und es gibt viele Varianten, weshalb wir uns auf die nachdfolgenden Angriffsvarianten beschränken
2. Attacken
2.1 Einfache ausführbare Angriffe
- Mono-Zeichensatz: Das Passwort ist bis zu 10 Zeichen lang und besteht aus einem Mono-Zeichensatz, sprich entweder 0..9, oder a..z, oder A..Z, etc.
2.2 Mittelschwer ausführbare Angriffe
- Dictionaries: Anstatt alle Versuche auszuprobieren, wird mit aus bestehenden Daten wie Email, Geburtstag, etc Permustationen des möglichen Passwortes ausprobiert.
- Poly-Zeichensatz: Das Passwort ist bis zu 10 Zeichen lang und besteht aus einem Poly-Zeichensatz, sprich einer Kombinatio aus 0..9, a..z, A..Z, Sonderzeichen.
2.3 Komplexe Angriffe
- Rainbow-Tables: Die Attacke geschieht mit vorbereiteten Look-Up Dateien (Hash-Plain)
- Paralellilisert: Es wird mit mehreren Instanzen angegriffen, wobei jede Instanz einen bestimmten Wertebereich übernimmt.
3. Gegenmassnahmen gegen Brute Force
Unanhängig ob bei lokalen oder zentralen Systemen, gibt es die nachfolgenden Gegenmassnahmen gegen
3.1 Leichte Gegenmassnahmen
- Lineare Latenzzeit/Linear Delay: Nach jedem Versuch wird eine bestimmte Zeit (0.5 - 2 Sekunden) gewartet
- Zunehmende Latenzzeit/Progressiv Delay: Beim ersten Fehlversuch muss 10 Sekunden gewartet werden, danach 1 Minute, ….
3.2 Mittel-Komplexe Massnahmen
- Counter-LimitAnzahl Versuche beschränken und anschliessend User sperren
- UserInteraktion: Captcha oder ähnliches einbauen
3.3 Komplexe Massnahmen
- Logging: Fehlerversuche werden gelogged und ggfs. Alarm ausgelöst.
4. Bewertung
4.1 Hinweise
- Es braucht kein Frontend, sprich der Code kann entweder über Commandline oder als separates Angriffsscriptdurchgeführt werden.
- Jedes Teammate kann alle Fragen zum Fousthema beantworten, sprich der Wissentransfer im Tandem wird durch das Tandem sichergestellt.
- Bei Ungleicher Performance im Tandem wird individuell benotet.
4.2 Malus
Noten | Beschreibung | Hinweis |
---|---|---|
-0.5 | Die Best-Practice-Coding-Standard wurden nicht eingehalten | Python. |
-0.5 | Es wird nicht kollaborativ und Ausfallsicher (inkl. Versionierung) gearbeitet | |
-2.0 | Es können Fragen zum Lösungcode nicht korrekt oder gar nicht beantwortet werden. | |
-1.5 | Pro aangefangenem Tag Verspätung |
4.2 Bonus
Noten | Beschreibung | Hinweis |
---|---|---|
+0.75 | Angriff gemäss einer Variante von 2.1 | |
+0.75 | Angriff gemäss je einer Variante und 2.2 | |
+1.0 | Angriff gemäss je einer Variante 2.3 | |
+0.75 | Verteidigung gemäss einer Variante von 3.1 | |
+0.75 | Verteidigung gemäss je einer Variante und 3.2 | |
+1.0 | Verteidigung gemäss je einer Variante 2.3 | |
+1.0 | Angriff und Verteidigung sind in separaten Files untergebracht |