Broken Authentication
Thema 4 Benoist
Thema 4 Benoist
Fichier Détails
Cartes-fiches | 25 |
---|---|
Langue | Deutsch |
Catégorie | Informatique |
Niveau | Université |
Crée / Actualisé | 23.01.2019 / 24.01.2019 |
Lien de web |
https://card2brain.ch/box/20190123_broken_authentication
|
Intégrer |
<iframe src="https://card2brain.ch/box/20190123_broken_authentication/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was passiert wenn Credentials und Session tokens nicht richtig geschützt werden?
- Thirt party kann auf den account zugreifen
- angreifer kompromitiert passwörter, keys oder tokens
Was sind die Risiken wenn Broken Authentication geschieht?
- Authorization & Accountability wird ausgehebelt
- Privacy violation
- Identity theft
Wie ist der Mechanismus um Broken Authentication zu erreichen?
Schwachstellen in den authentication Mechanismen ausnutzen
Nennen sie die Beispielattacken (6 Stück)
Brute Force
Session Spotting
Replay Attack
Session Fixation Attack
Session Hijacking
Session Expiration
Was passierte grundsärtlich bei einer Bruteforce Attacke?
Die Credentials eines Users werden mittels Script oder Passwortlisten durch durchprobiert ermittelt
Wie sieht eine offline Brute force attacke aus? Was braucht es dazu zwingend?
Attacker erhält ein gehashtes Passwort eines Users durch Sniffing oder aus einer geleakten Datenbank.
Mittels brute force versucht der Attacken ein PW zu diesem Hash zu finden
Was ist einer der Gründe weshalb Brute Attacken leicht funktionieren?
Passwörter sind meistens zu kurz oder allgemein genutzt (Dictionary)
Weiterer Grund: keine verschlüsselte Verbindung, sodass mitgeschnitten werden kann.
Was passiert grundsätzlich bei Session spotting Attacken?
Durch Mithören im Netz, erhält der Angreifer Zugriff auf eine Session ID.
Mit dieser ID kann sich der User dann an einem anderen PC anmelden
Was hilft gegen Session Spotting ?
- TLS Verbindungen verwenden. Im optimalfall mit Mutual Authentication damit kein MITM passieren kann
- Nure "secure cookies" verwenden = Set secure Flag damit Cookie über HTTPS verschickt wird und nicht HTTP
- Cookies nicht wiederverwenden
Was versteht man grundsätzlich unter einer Replay Attacke?
Eine Nachricht aufzuzeichnen und wieder zu schicken.
ZB eine Form in der die Credentials des Users sind.
Wie kann man sich vor Replay Attacken schützen?
- Challenge Response -> zb wie bei UBS mit Cardreader
- Sichere Verbindung mit Message freshness (TLS)
Was versteht man grundsätzlich unter Session Fixation Attack?
Angreifer erstellt eine Session zu eine Webserver und schneidet die Session_ID aus der Session aus.
Diese Session ID wird mittels einer URL Verteilt <a href="https://www.ebanking.com/?SESSION_ID=1234abcd>
Wenn der User nun diesen Link anklickt und sich anmeldet, ist die Session nun auf den User fixiert.
Der Angreifer kann nun die Seite refreshen und er ist als diesen User angemeldet
Wie können Session Fixation Attacken umgehen werden?
- keine bestehenden ooder ungültigen Session IDs akzeptieren
- Bei jedem Login, die SessionID zurück setzen
Was versteht man unter einer Session Hijacking Attacke?
Ein Angreifer erratet oder errenet eine Session ID eines anderen users. Damit kann er die Session übernehmen
Wie können Session Hijacking Attacken verhindert werden?
- Session IDs nicht mit eigenen Algorithmen implementieren wie zb. Counter hoch zählen
Damit lassen sich session ids leicht erraten
Was versteht man unter Session Expiration?
Das Verhalten einer Session, welche nach einer gewissen Zeit abläuft.
Kann als Schwachstelle genutzt werden um Session IDs zu stehlen
Wie kann dank Session Expiration eine Session ID gestohlen werden?
Beispielsweise wenn ein Computer von mehreren Usern genutzt wird.
Der vorherige User meldet sich nicht ab (log out) von der Webseite. der zweite User am Computer kann dann im Verlauf anschauen und die dazugehörigen Session IDs im Cache stehlen.
Kann auch gemacht werden wenn ein PC kompromitiert wurde...
Nennen Sie ein paar Beispiele wie man sich gegen Broken Authentication schützen?
- TLS nutzen
- Credentials als hash+salt oder encrypted
- Keine self made sessions oder SSO Systeme
- nur eine authentication mechanismus verwenden
- Authentication Mechanismuis einfach halten - Keep it simple
- Credentials und Session stealing verhindern (phishing, session fixation)
- Take care of logout
- nur starke Zusätzliche Authentifizierungsfunktionen verwenden (2FA zb)
- keine Spoofable credentials zum Anmelden
- Vorsichtig mit emails sein
- Passwortkomplexität
Über was für ein Kanal sollte die Authentication stattfinden?
Secure channel wie zB TLS
wie sollten die Credentials abgelegt sein? (PW, Keys)
- Passwörter hashen
- privatekeys Passwortgeschützt oder sogar auf einem HW Token
Was sollte bei der Logout Funktion berücktsicht werden?
- Jede Seite sollte ein Logout button besitzen
- Logout sollte die Credentials zerstören (Client cookies löschen, und Server side session state)
- Human Faktor -> dem User es so einfach wie nur möglich machen damit er sich abmelden kann (zb kein nachfragen "sind sie sicher?")
- timeout damit session autoamtisch zerstört wird
Was wäre eine schwache Zusätzliche Authentifizierungsfunktion um das Passwort zurück zu setzen?
wie heist deine Katze?
Wann wurdest du geboren?
Was sollte man bei Email-Versand und Email-Adresse berücksichten?
- Keine Mails mit Passwörtern an die User schicken
- Passwort ändern Links nur kurzzeitig zugänglich machen
- User erlauben Email zu ändern indem sie es über die alten Mailadresse bestätigen müssen
Was sollte für das Setzen von Passwörtern berücksichtig werden?
- keine einfachen Passwörter zulassen. Eine Mindestlänge des Passworts verlangen
- Falls Passwort nicht zugelassen, genaue begründung angeben
- Keine Zwang von Sonderzeichen usw.
- Kein Auffordern von regelmässigem Passwortwechsel