Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:web_sca:authentifizierung [2024-03-03 21:48] scagf_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, zusammen besprechen/kleine Gruppenarbeiten, bis und mit Passwortmanager 
-   * Lektion 2: Brute Force 
-   * Lektion 3: Brute Force II, Laufzeitanalyse 
-   * Lektion 4: Mehrfaktorauth. 
-   * Lektion 5: eigene Sicherheit verbessern 
- 
-++++ 
- 
-</nodisp> 
  
 ++++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, ob man bereits Opfer von Hackern wurde?    * Wie kann man herausfinden, ob man bereits Opfer von Hackern wurde?
-   Was ist eine **Brute-Force**-Attacke+   Erklären, was Idee hinter **Brute-Force**-Attacke ist und verschiedene Versionen davon kennen.
-   * 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, um möglichst sicher im Web unterwegs zu sein?    * Was kann man selbst unternehmen, um möglichst sicher im Web unterwegs zu sein?
    * 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 249: Zeile 240:
    * Versuche, einen (oder beide) der **Codes**, die für diese Aufgaben zur Verfügung gestellt werden, zu **verstehen**.    * Versuche, einen (oder beide) der **Codes**, die für diese Aufgaben zur Verfügung gestellt werden, zu **verstehen**.
  
-===== Mehrere Faktoren  =====+===== - Multifaktor-Authentifizierung  ===== 
 Angenommen, du hast einen Gegenstand (z.B ein Tagebuch, ein Foto oder ein Superkräfte verleihender Trank), der **auf keinen Fall** in die Hände von jemand anderem gelangen darf. Du verschliesst den Gegenstand in einem bombensicheren Safe. Um den Safe zu öffnen, braucht es einen Pin Code.  Angenommen, du hast einen Gegenstand (z.B ein Tagebuch, ein Foto oder ein Superkräfte verleihender Trank), der **auf keinen Fall** in die Hände von jemand anderem gelangen darf. Du verschliesst den Gegenstand in einem bombensicheren Safe. Um den Safe zu öffnen, braucht es einen Pin Code. 
 Was aber, wenn irgendjemand den Code herausfindet? Um die Sicherheit zu erhöhen, bringst du ein weiteres Schloss an, für das es einen Schlüssel braucht, den nur du hast.  Was aber, wenn irgendjemand den Code herausfindet? Um die Sicherheit zu erhöhen, bringst du ein weiteres Schloss an, für das es einen Schlüssel braucht, den nur du hast. 
Zeile 268: Zeile 260:
   * Dagegen ist es sehr einfach, ein Virus oder Keylogger auf tausenden von Geräten zu verbreiten oder eine Phishing-Mail an tausende von Benutzer:innen zu senden. Diese Art des Angriffs lässt sich gut skalieren.    * Dagegen ist es sehr einfach, ein Virus oder Keylogger auf tausenden von Geräten zu verbreiten oder eine Phishing-Mail an tausende von Benutzer:innen zu senden. Diese Art des Angriffs lässt sich gut skalieren. 
   * Für die meisten Betrüger:innnen lohnt sich der Aufwand eines Angriffs erst dann, wenn damit gleich //mehrere// Benutzerkonten auf einmal geknackt werden können.    * Für die meisten Betrüger:innnen lohnt sich der Aufwand eines Angriffs erst dann, wenn damit gleich //mehrere// Benutzerkonten auf einmal geknackt werden können. 
-=== Aufgabe D – 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? Wäre sie mehr oder weniger sicher als die Variante mit Schlüssel, Pin-Code und Fingerabdruck?  
-  - Überlege zu den Situationen, die du in Aufgabe A genannt hast, welche Faktoren (Wissen, Besitz, Inhärenz) jeweils geprüft werden: 
-    - Eintritt zu einem Konzert, Mobiltelefon entsperren, Prüfungszulassung (z.B. Aufnahmeprüfung), Reisen in andere Länder (am Zoll), Covid-Zertifikat mit Ausweis, Fahrerlaubnis via Führerschein, Bahnbillet mit Swisspass etc. 
-  - 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.  
  
  
-=== Aufgabe – Prüfe und verbessere deine IT-Sicherheit === +=== Aufgabe – Prüfe und verbessere deine IT-Sicherheit === 
-  Analyse:  + 
-    Erstelle eine Liste aller Webseiten, die du (seltener oder öfter) besuchst und die eine Authentifizierung erfordern. +   1. **Analyse:** 
-    Überlege, bei wie vielen du die gleiche E-Mail-Adresse und das gleiche Passwort nutzt. +     1. Erstelle eine Liste aller Webseiten, die du (seltener oder öfter) besuchst und die eine Authentifizierung erfordern. 
-    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. Überlege, bei wie vielen du die gleiche E-Mail-Adresse und das gleiche Passwort nutzt. 
-  Schwachstellen schliessen: +     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? 
-    Überlegen, welche Lösung dir am sinnvollsten erscheint: Passwortmanager im Browser? Andere Passwortmanager? +   1. **Schwachstellen schliessen:** 
-    Nötige Änderungen vornehmen: Zweifaktor-Authentifzierung aktivieren, evtl. PW-Manager installieren, evtl. einzelne Passwörter ändern. +     1. Überlegen, welche Lösung dir am sinnvollsten erscheint: Passwortmanager im Browser? Andere Passwortmanager? 
-    Mindestens Folgende Sicherheitsmassnahmen müssen Sie umgesetzt haben+     1. Nötige Änderungen vornehmen: Zweifaktor-Authentifzierung aktivieren, evtl. PW-Manager installieren, evtl. einzelne Passwörter ändern. 
-      Besonderes Passwort und 2FA beim E-Mail-Konto +     1. Mindestens folgende Sicherheitsmassnahmen sollten umgesetzt werden
-      Laptop und Smartphone mit Passwort/Fingerabdruck o.ä. gesperrt.+       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/Fingerabdruck o.ä. gesperrt. 
  
 ===== Lösungen ===== ===== Lösungen =====
Zeile 291: 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 = "https://if.ksr.ch/sca/hackme/"
 + 
 +# 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,"textInput") # find the input box ...
 +input_field.send_keys("guess pw here") # ... and insert text
 +button = driver.find_element(By.ID,"btnSend") # find the button ...
 +button.click() # ... and click it
 + 
 +### ... UNTIL HERE
 +### WRITE YOUR CODE BETWEEN HERE ...
  
-</code>+alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  
-<code python>+## PASSWORD 1 
 +print("PASSWORD 1") 
 +for pw in alphabet: 
 +    code,message = driver.execute_script(f'return check_pw("{pw}")') # try password on website, returns code and message 
 +    if code == 201: 
 +        print(pw) 
 +        print(message)
  
 +## PASSWORD 2
 +print("PASSWORD 2")
 +for x in alphabet:
 +    for y in alphabet:
 +        for z in alphabet:
 +            pw = x + y + z
 +            code,message = driver.execute_script(f'return check_pw("{pw}")') # try password on website, returns code and message
 +            if code == 201:
 +                print(pw)
 +                print(message)
 + 
 +## PASSWORD 3
 +print("PASSWORD 3")
 +
 +with open("woerter_top10000de_upper.txt",'r') as file:
 +    for line in file:
 +        pw = line.strip() # strip entfernt Leerschläge und Zeilenumbrüche am Anfang und Ende
 +        code,message = driver.execute_script(f'return check_pw("{pw}")') # try password on website, returns code and message
 +        if code == 201:
 +            print(pw)
 +            print(message)
 +
 +### ... AND HERE. DON'T CHANGE LAST LINE:
 +driver.quit() # Close the browser
 </code> </code>
 +
 +++++
  
  
  • gf_informatik/web_sca/authentifizierung.1709502507.txt.gz
  • Zuletzt geändert: 2024-03-03 21:48
  • von sca