This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Germany/Projekte/Top 10 fuer Entwickler-2013/A2-Fehler in Authentifizierung und Session-Management
Anwendungs- spezifisch |
Ausnutzbarkeit DURCHSCHNITTLICH |
Verbreitung SEHR HÄUFIG |
Auffindbarkeit DURCHSCHNITTLICH |
Auswirkung SCHWERWIEGEND |
Anwendungs-/ Geschäftsspezifisch |
Nicht authentifizierte Angreifer sowie authentifizierte Nutzer könnten versuchen, Zugangsdaten anderer zu stehlen. In Betracht kommen außerdem Innentäter, die ihre Handlungen verschleiern wollen. | Angreifer nutzen Lücken bei der Authentifizierung oder im Sessionmanagement (z.B. ungeschützte Nutzerkonten, Passwörter, Session-IDs), um sich eine fremde Identität zu verschaffen. | Obwohl es sehr schwierig ist, ein sicheres Authentifizierungs- und Session-Management zu implementieren, setzen Entwickler häufig auf eigene Lösungen. Diese haben dann oft Fehler bei Abmeldung und Passwortmanagement, bei der Wiedererkennung des Benutzers, bei Timeouts, Sicherheitsabfragen usw. Das Auffinden dieser Fehler kann sehr schwierig sein, besonders wenn es sich um individuelle Implementierungen handelt. | Diese Fehler führen zur Kompromittierung von Benutzerkonten. Ein erfolgreicher Angreifer hat alle Rechte des Opfers. Privilegierte Zugänge sind oft Ziel solcher Angriffe. | Betrachten Sie den Geschäftswert der betroffenen Daten oder Anwendungsfunktionen. Betrachten Sie weiterhin Auswirkungen auf das Unternehmen beim Bekanntwerden der Schwachstelle. |
Mögliche Angriffsszenarien
Szenario 1: Eine Flugbuchungsanwendung fügt die Session-ID in die URL ein: http://example.com/sale/saleitems;jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV?dest=Hawaii
Ein authentifizierter Anwender möchte dieses Angebot seinen Freunden mitteilen. Er versendet obigen Link per E-Mail, ohne zu wissen, dass er seine Session-ID preisgibt. Nutzen seine Freunde den Link, können sie seine Session sowie seine Kreditkartendaten benutzen. Szenario 2: Anwendungs-Timeouts sind falsch konfiguriert. Ein Anwender benutzt einen öffentlichen PC, um die Anwendung aufzurufen. Anstatt die "Abmelden"-Funktion zu benutzen, schließt der Anwender nur den Browser. Der Browser ist auch eine Stunde später noch authentifiziert, wenn ein potentieller Angreifer ihn öffnet. Szenario 3: Ein Angreifer erlangt Zugang zur nicht richtig gehashten Passwortdatenbank des Systems. Damit fallen alle Zugangsdaten quasi im Klartext in die Hände des Angreifers. |
Wie kann ich 'Fehler in Authentifizierung und Session-Management' verhindern?
Wir empfehlen Organisationen und Unternehmen, ihren Entwicklern folgende Mittel bereitzustellen:
|
Verteidigungs-Option 1 gegen 'Fehler in Authentifizierung und Session-Management':
Erfinde das Sessionmanagement nicht neu! Die verbreiteten Plattformen (wie Tomcat, Websphere, u.a.) liefern das alles schon mit.
|
Verteidigungs-Option 2 gegen 'Fehler in Authentifizierung und Session-Management':
Beispiel:
<session-config>
<session-config>
</security-constraint> <context-param>
</context-param>
|
Referenzen
OWASP Einen umfangreicheren Überblick über Anforderungen und zu vermeidende Probleme gibt ASVS requirements areas for Authentication (V2) and Session Management (V3).
Andere |
Comment: Bitte senden Sie uns weitere gute Beispiele mit PHP für diesen Abschnitt.
Verteidigungs-Option 1 gegen 'Fehler in Authentifizierung und Session-Management':
Erfinde das Sessionmanagement nicht neu! PHP liefert das alles schon mit.
session.cookie_secure = On session.cookie_httponly = On session.use_trand_sid = Off session.use_only_cookies = On session.hash_function = sha512
|
Verteidigungs-Option 2 gegen 'Fehler in Authentifizierung und Session-Management':
tbd Text |
Verteidigungs-Option 3 gegen 'Fehler in Authentifizierung und Session-Management':
tbd Text | |
Auswirkung(en) auf den Benutzer
(ganze Breite) Text |
Referenzen
|