lehrkraefte:blc:informatik:glf22:security

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
lehrkraefte:blc:informatik:glf22:security [2023/06/03 08:08]
Ivo Blöchliger created
lehrkraefte:blc:informatik:glf22:security [2023/06/04 08:52] (current)
Ivo Blöchliger [Hackme-Challenge]
Line 53: Line 53:
 </WRAP> </WRAP>
  
 +==== Entropie ====
 +<WRAP tip>
 +Die Entropie eines Passworts ist die Anzahl der Ja/Nein-Fragen, die ein Angreifer nacheinander stellen muss, um das Passwort erst einzugrenzen und schließlich zu erraten. Da der Angreifer üblicherweise nicht auf jede dieser Ja/Nein-Fragen direkt eine Antwort bekommt, muss er die Ja/Nein-Fragen alle im Voraus kombinieren. Bereits bei 40 Ja/Nein-Fragen muss er dafür mehr als 1 Billion mögliche Passwörter ausprobieren.
  
 +Quelle: https://de.wikipedia.org/wiki/Passwort#Entropie
 +</WRAP>
 +
 +===== Überprüfung von Passwörtern =====
 +<WRAP todo>
 +Nehmen wir an, Sie wollen sich bei der Webseite humpfdidumpf.ch anmelden.
 +
 +  * Wie wird das Passwort übertragen? Was könnten da für Probleme auftauchen?
 +  * Wie wird das Passwort auf Korrektheit überprüft?
 +  * Die Webseite wird gehackt und der Angreifer bekommt die Daten zur Überprüfung der  Benutzernamen/Passwörter in die Hände. Was könnte der Angreifer damit anstellen?
 +  * Wie kann man dem Angreifer sprichwörtlich die Suppe zum vornherein versalzen?
 +
 +<hidden Lösungen>
 +  * Die Übertragung muss verschlüsselt erfolgen (https), was heute praktisch immer der Fall ist.
 +  * Es gibt verschiedene Varianten, das zu bewerkstelligen:
 +    * Ganz schlecht: Die Passwörter sind im Klartext gespeichert und werden damit verglichen.
 +    * Schlecht: Es wird ein Hash der Passwörter gespeichert und dann die Hashes verglichen.
 +    * Gut: Neben dem Hash wird eine zufällige Zeichenkette (>10 Zeichen) gespeichert und dem Passwort angehängt. Erst dieses erweiterte Passwort wird gehasht.
 +    * Sehr gut: Anstatt einfach einen Hash aus dem gesalzenen Passwort zu berechnen, wird während knapp 1 Sekunde immer wieder der Hash vom Hash berechnet (eine bestimme Anzahl mal). Damit wird Passwörter durchprobieren zwecklos, weil der Rechenaufwand enorm ist. Für den Betreiber stellt das kein Problem dar, da sich die Benutzer ja nur punktuell anmelden.
 +  * Der Angreifer könnte sich als vertrauenswürdige angemeldete Personen ausgeben und damit
 +    * andere Leute zur Installation von Malware animieren.
 +    * zur Überweisung von Crypto oder anderen Werten veranlassen (Freund in Not).
 +    * die Benutzernamen/Passwort Kombination auf weiteren Seiten durchprobieren.
 +  * Je nachdem ist es trivial bis sehr schwierig an die Passwörter zu kommen, siehe oben. 
 +</hidden>
 +</WRAP>
 +
 +===== Passwortmanager =====
 +Die grundlegensten Funktionen eines Passwortmanagers sind:
 +  * Information geschützt durch ein Masterpasswort (oder anderen Mechanismums)
 +  * Kann Passwörter sicher generieren und vorschlagen.
 +  * Kann zusätzliche Information zu Username/Passwort speichern (typischerweise URLs oder Notizen).
 +
 +Überaus nützliche Funktionen:
 +  * Import/Export in einem allgemein lesbaren Format (z.B. CSV, JSON), falls mal umgezogen werden möchte.
 +  * Interaktion mit Browsern (automatisch Passwörter einfüllen).
 +  * Synchronisation über Geräte hinweg
 +
 +==== Synchronisation der Passwörter ====
 +Die Synchronisation erfolgt meist über eine Cloud, wobei dabei hoffentlich nur die verschlüsselte Passwortdatei synchronisiert wird. Wer das nicht möchte, kann oft auch einfach die verschlüsselte Datei, die die Passwörter enthält auf verschiedene Geräte kopieren. Dazu braucht es allerdings entweder viel Disziplin oder rudimentäre Programmierkenntnisse, um die Datei zu synchronisieren.
 +
 +==== Empfehlungen ====
 +Ich persönlich verwende [[https://buttercup.pw/|Buttercup]] und das nur auf meinen Linux-Rechnern, meinem Android-Handy vertraue ich keine Passwörter an.
 +
 +Ich habe gesehen, dass der Microsoft Authenticator ebenfalls als Passwortmanager fungieren kann. Zur Funktionsweise kann ich leider keine Ausküfte geben.
 +
 +===== Zweifaktorauthentifizierung =====
 +Passwörter haben inhärente Probleme. Ein Ansatz um die Probleme zu mindern ist die Zweifaktorauthentifizierung. Die Idee ist, über einen zusätzlichen, unterschiedlichen Kanal eine Bestätigung anzufordern. Z.B. via SMS (unsicher) oder eine sichere Hardware (z.B. Yubi-Key oder Biometrie-Chip im Handy).
 +
 +Aktivieren Sie wo möglich die Zweifaktorauthentifizierung. Siehe z.B.
 +https://www.srf.ch/sendungen/kassensturz-espresso/espresso/identitaetsdiebstahl-gauner-klauen-digitec-login-und-bestellen-waren-ueber-1000-franken
 +
 +====== Alternative zu Passwörtern ======
 +Anstatt Passwörter können public/private keys verwendet werden. 
 +
 +Der Vorteil ist, dass der private Schlüssel nie herausgegeben werden muss, sondern nur der öffentliche im Nutzerprofil abgelegt wird. Der Server schickt dann dem Benutzer Zufallsdaten, die der Benutzer mit seinem privaten Schlüssel verschlüsselt. Die verschlüsselten Daten schickt der Benutzer an der Server zurück, der diese mit dem öffentlichen Schlüssel entschlüsselt. Wenn wieder die gleichen zufälligen Daten entstehen, hat der Benutzer bewiesen, im Besitz des privaten Schlüssels zu sein, ohne diesen herauszugeben.
 +
 +Einige von Ihnen haben ein solches Schlüsselpaar für ssh und scp für das login auf unseren Webserver generiert.
 +
 +Google ist dabei «Security keys» für Google-Accounts auszufahren.
 +
 +Um den privaten Schlüssel zu schützen, wird spezielle Hardware verwendet, aus der der Schlüssel nicht ausgelesen werden kann und die direkt Daten mit dem privaten Schlüssel ver- und entschlüsseln kann. In vielen Smartphones und modernen Computern sind solche Chips verbaut, typischerweise gekoppelt mit Biometrie. D.h. diese Chips lassen Ver- und Entschlüsselung von Daten nur nach erfolgreicher Biometrieüberprüfung zu.
 +Normalerweise sind die Chips so gebaut, dass auch die Biometrie-Daten den Chip nicht verlassen können.
 +
 +
 +====== Hackme-Challenge ======
 +
 +[[lehrkraefte:blc:informatik:glf20:hackme|Hier starten!]]
  • lehrkraefte/blc/informatik/glf22/security.1685772500.txt.gz
  • Last modified: 2023/06/03 08:08
  • by Ivo Blöchliger