Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:web_sca:authentifizierung [2024-03-03 21:49] – sca | gf_informatik:web_sca:authentifizierung [2024-03-11 10:22] (aktuell) – [Authentifizierung] sca | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Authentifizierung ====== | ====== Authentifizierung ====== | ||
- | <nodisp 2> | ||
- | ++++Plan| | ||
- | |||
- | * Lektion 1: Märchenstunde, | ||
- | * Lektion 2: Brute Force | ||
- | * Lektion 3: Brute Force II, Laufzeitanalyse | ||
- | * Lektion 4: Mehrfaktorauth. | ||
- | * Lektion 5: eigene Sicherheit verbessern | ||
- | |||
- | ++++ | ||
- | |||
- | </ | ||
++++Lernziele| | ++++Lernziele| | ||
Zeile 25: | Zeile 13: | ||
* Welche Massnahmen kann man im Bezug auf Passwörter treffen, um möglichst sicher zu sein? | * Welche Massnahmen kann man im Bezug auf Passwörter treffen, um möglichst sicher zu sein? | ||
* Wie kann man herausfinden, | * Wie kann man herausfinden, | ||
- | | + | |
- | * Programmiere eine solche mit Python. | + | |
* Was sind die Stärken und Schwächen einer solchen Attacke? | * Was sind die Stärken und Schwächen einer solchen Attacke? | ||
* Was ist eine **Drei-Faktor-Authentifizierung**? | * Was ist eine **Drei-Faktor-Authentifizierung**? | ||
Zeile 34: | Zeile 21: | ||
* Was kann man selbst unternehmen, | * Was kann man selbst unternehmen, | ||
* Analysiere eine Situation (Bsp. Geschichte mit sieben Geisslein) und gebe Tipps, wie man die Sicherheit erhöhen könnte. | * Analysiere eine Situation (Bsp. Geschichte mit sieben Geisslein) und gebe Tipps, wie man die Sicherheit erhöhen könnte. | ||
+ | * **Programmieren: | ||
+ | * Brute-Force Attacke und ähnliche Codes **Programmieren** können. | ||
+ | * Wissen, wie File eingelesen wird. | ||
+ | |||
++++ | ++++ | ||
Zeile 270: | Zeile 261: | ||
* Für die meisten Betrüger: | * Für die meisten Betrüger: | ||
- | === Aufgabe 1 – Wo und wann werden mehrere Faktoren geprüft? === | ||
- | - Angenommen, du hättest an deinem Safe einfach drei Pin-Code-Schlösser. Wäre das dann auch eine Drei-Faktor-Authentifizierung? | + | === Aufgabe 1 – Prüfe |
- | - Überlege zu den Situationen, | + | |
- | - Eintritt zu einem Konzert, Mobiltelefon entsperren, Prüfungszulassung (z.B. Aufnahmeprüfung), | + | |
- | - Viele Leute zahlen Rechnungen heute direkt mit der E-Banking-App auf ihrem Smartphone: App öffnen, Rechnung scannen, Zahlung bestätigen. Welche Authentifzierung ist dabei erfolgt? Beschreibe mit obigen Fachbegriffen. | + | |
+ | 1. **Analyse: | ||
+ | 1. Erstelle eine Liste aller Webseiten, die du (seltener oder öfter) besuchst und die eine Authentifizierung erfordern. | ||
+ | 1. Überlege, bei wie vielen du die gleiche E-Mail-Adresse und das gleiche Passwort nutzt. | ||
+ | 1. Du nutzt wohl auch Apps, die eine Authentifizierung verlangen, jedoch nur einmalig, bei jedem erneuten Öffnen ist keine neue Authentifizierung nötig. Was ist die Überlegung dahinter? Was wird vorausgesetzt? | ||
+ | 1. **Schwachstellen schliessen: | ||
+ | 1. Überlegen, welche Lösung dir am sinnvollsten erscheint: Passwortmanager im Browser? Andere Passwortmanager? | ||
+ | 1. Nötige Änderungen vornehmen: Zweifaktor-Authentifzierung aktivieren, evtl. PW-Manager installieren, | ||
+ | 1. Mindestens folgende Sicherheitsmassnahmen sollten umgesetzt werden: | ||
+ | 1. Besonderes Passwort und 2FA beim E-Mail-Konto (Achtung: wahrscheinlich muss ein Key ausgedruckt werden, der unbedingt aufbewahrt werden muss). | ||
+ | 1. Laptop und Smartphone mit Passwort/ | ||
- | |||
- | ==== Aufgabe 2 – Prüfe und verbessere deine IT-Sicherheit ==== | ||
- | |||
- | - Analyse: | ||
- | - Erstelle eine Liste aller Webseiten, die du (seltener oder öfter) besuchst und die eine Authentifizierung erfordern. | ||
- | - Überlege, bei wie vielen du die gleiche E-Mail-Adresse und das gleiche Passwort nutzt. | ||
- | - Du nutzt wohl auch Apps, die eine Authentifizierung verlangen, jedoch nur einmalig, bei jedem erneuten Öffnen ist keine neue Authentifizierung nötig. Was ist die Überlegung dahinter? Was wird vorausgesetzt? | ||
- | - Schwachstellen schliessen: | ||
- | - Überlegen, welche Lösung dir am sinnvollsten erscheint: Passwortmanager im Browser? Andere Passwortmanager? | ||
- | - Nötige Änderungen vornehmen: Zweifaktor-Authentifzierung aktivieren, evtl. PW-Manager installieren, | ||
- | - Mindestens Folgende Sicherheitsmassnahmen müssen Sie umgesetzt haben: | ||
- | - Besonderes Passwort und 2FA beim E-Mail-Konto | ||
- | - Laptop und Smartphone mit Passwort/ | ||
===== Lösungen ===== | ===== Lösungen ===== | ||
Zeile 296: | Zeile 280: | ||
<nodisp 1> | <nodisp 1> | ||
- | Brute-Force: | + | ++++Brute-Force| |
<code python> | <code python> | ||
+ | ### requires: `pip install selenium` | ||
+ | |||
+ | ### DON'T CHANGE CODE FROM HERE ... | ||
+ | from selenium import webdriver | ||
+ | from selenium.webdriver.common.by import By | ||
+ | |||
+ | # url to website | ||
+ | url_website = " | ||
+ | |||
+ | # Open the webpage | ||
+ | driver = webdriver.Chrome() | ||
+ | driver.get(url_website) | ||
+ | |||
+ | # Enter text and click button -> not relevant for our hack | ||
+ | input_field = driver.find_element(By.ID," | ||
+ | input_field.send_keys(" | ||
+ | button = driver.find_element(By.ID," | ||
+ | button.click() # ... and click it | ||
+ | |||
+ | ### ... UNTIL HERE | ||
+ | ### WRITE YOUR CODE BETWEEN HERE ... | ||
- | </ | + | alphabet = " |
- | <code python> | + | ## PASSWORD 1 |
+ | print(" | ||
+ | for pw in alphabet: | ||
+ | | ||
+ | if code == 201: | ||
+ | print(pw) | ||
+ | print(message) | ||
+ | ## PASSWORD 2 | ||
+ | print(" | ||
+ | for x in alphabet: | ||
+ | for y in alphabet: | ||
+ | for z in alphabet: | ||
+ | pw = x + y + z | ||
+ | code, | ||
+ | if code == 201: | ||
+ | print(pw) | ||
+ | print(message) | ||
+ | |||
+ | ## PASSWORD 3 | ||
+ | print(" | ||
+ | |||
+ | with open(" | ||
+ | for line in file: | ||
+ | pw = line.strip() # strip entfernt Leerschläge und Zeilenumbrüche am Anfang und Ende | ||
+ | code, | ||
+ | if code == 201: | ||
+ | print(pw) | ||
+ | print(message) | ||
+ | |||
+ | ### ... AND HERE. DON'T CHANGE LAST LINE: | ||
+ | driver.quit() # Close the browser | ||
</ | </ | ||
+ | |||
+ | ++++ | ||