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
Difference between revisions of "Germany/Projekte/Top 10 fuer Entwickler-2013/A2-Fehler in Authentifizierung und Session-Management"
m (moved Germany/Projekte/Top 10 fuer Entwickler/A3 Fehler in Authentifizierung und Session-Management to Germany/Projekte/Top 10 fuer Entwickler-2013/A2-Fehler in Authentisierung und Session-Management: Move to Order of 2013 and changed 'Authenti...) |
|||
Line 44: | Line 44: | ||
= '''JAVA''' = | = '''JAVA''' = | ||
<!-- Beispiele für JAVA ---> | <!-- Beispiele für JAVA ---> | ||
− | {{Top_10:SubsectionTableBeginTemplate|type=headertab}}{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk= | + | {{Top_10:SubsectionTableBeginTemplate|type=headertab}}{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=2|year=2013|language=de}} |
<b>Erfinde das Sessionmanagement nicht neu!</b> Die verbreiteten Plattformen (wie Tomcat, Websphere, u.a.) liefern das alles schon mit.<br> | <b>Erfinde das Sessionmanagement nicht neu!</b> Die verbreiteten Plattformen (wie Tomcat, Websphere, u.a.) liefern das alles schon mit.<br> | ||
Grundsätzliche Anforderungen an das Session Management: | Grundsätzliche Anforderungen an das Session Management: | ||
Line 90: | Line 90: | ||
{{Top_10_2010:ExampleEndTemplate}} | {{Top_10_2010:ExampleEndTemplate}} | ||
− | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk= | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk=2|year=2013|language=de}} |
{{Top_10_2010:ExampleBeginTemplate|year=2013}} | {{Top_10_2010:ExampleBeginTemplate|year=2013}} | ||
Line 96: | Line 96: | ||
{{Top_10_2010:ExampleEndTemplate}} | {{Top_10_2010:ExampleEndTemplate}} | ||
− | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=left|title=3|risk= | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=left|title=3|risk=2|year=2013|language=de}} |
{{Top_10_2010:ExampleBeginTemplate|year=2013}} | {{Top_10_2010:ExampleBeginTemplate|year=2013}} | ||
Line 102: | Line 102: | ||
{{Top_10_2010:ExampleEndTemplate}} | {{Top_10_2010:ExampleEndTemplate}} | ||
− | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk= | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=2|year=2013|language=de}} |
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}} | {{Top_10_2010:SubSubsectionOWASPReferencesTemplate}} | ||
* [[SQL_Injection_Prevention_Cheat_Sheet | OWASP SQL Injection Prevention Cheat Sheet]] | * [[SQL_Injection_Prevention_Cheat_Sheet | OWASP SQL Injection Prevention Cheat Sheet]] | ||
Line 121: | Line 121: | ||
= '''PHP''' = | = '''PHP''' = | ||
<!-- weitere Programmiersprachen oder evtl Anti-Beispiele ---> | <!-- weitere Programmiersprachen oder evtl Anti-Beispiele ---> | ||
− | {{Top_10:SubsectionTableBeginTemplate|type=headertab}} {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk= | + | {{Top_10:SubsectionTableBeginTemplate|type=headertab}} {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=2|year=2013|language=de}} |
<b>Erfinde das Sessionmanagement nicht neu!</b> PHP liefert das alles schon mit.<br> | <b>Erfinde das Sessionmanagement nicht neu!</b> PHP liefert das alles schon mit.<br> | ||
Grundsätzliche Anforderungen an das Session Management: | Grundsätzliche Anforderungen an das Session Management: | ||
Line 148: | Line 148: | ||
− | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk= | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk=2|year=2013|language=de}} |
{{Top_10_2010:ExampleBeginTemplate}} | {{Top_10_2010:ExampleBeginTemplate}} | ||
tbd | tbd | ||
Line 154: | Line 154: | ||
{{Top_10_2010:ExampleEndTemplate}} | {{Top_10_2010:ExampleEndTemplate}} | ||
− | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=whole|title=3|risk= | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=whole|title=3|risk=2|year=2013|language=de}} |
tbd | tbd | ||
Text | Text | ||
− | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=userImpact|position=left|risk= | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=userImpact|position=left|risk=2|year=2013|language=de}} |
(ganze Breite) | (ganze Breite) | ||
Text | Text | ||
− | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk= | + | {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=2|year=2013|language=de}} |
{{Top_10:SubsectionTableEndTemplate}} | {{Top_10:SubsectionTableEndTemplate}} | ||
<headertabs /> | <headertabs /> |
Revision as of 08:04, 11 July 2013
← Top_10_fuer_Entwickler/A2_Cross-Site Scripting (XSS) | Top_10_fuer_Entwickler/A4_Unsichere direkte Objektreferenzen → |
Seite in Bearbeitung (BAUSTELLE!!)
A3 Fehler in Authentifizierung und Session-Management
______ | Ausnutzbarkeit DURCHSCHNITTLICH |
Verbreitung SEHR HÄUFIG |
Auffindbarkeit DURCHSCHNITTLICH |
Auswirkung SCHWERWIEGEND |
Application / Business Specific |
Nicht authentifizierte Angreifer sowie authentifizierte Nutzer könnten versuchen, Zugangs- daten 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 Unter-nehmen 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 verwendet einen öffentlichen PC, um die Anwendung aufzurufen. Anstatt die „Abmelden“ Funktion zu nutzen, 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 unverschlüsselten Passwortdatenbank des Systems. Damit fallen alle Zugangsdaten 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.
<session-config>
<session-config>
</security-constraint> <context-param>
</context-param> |
Verteidigungs-Option 2 gegen 'Fehler in Authentifizierung und Session-Management':
tbd |
Verteidigungs-Option 3 gegen 'Fehler in Authentifizierung und Session-Management':
tbd |
Referenzen
OWASP
Andere |
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
|
← Top_10_fuer_Entwickler/A2_Cross-Site Scripting (XSS) | Top_10_fuer_Entwickler/A4_Unsichere direkte Objektreferenzen → |