Bundesamt für Sicherheit in der Informationstechnik

G 5.169 Unzureichendes Session-Management von Webanwendungen und Web-Services

Da das von Webanwendungen und Web-Services verwendete Protokoll HTTP zustandslos ist, wird ein zusätzlicher Mechanismus benötigt, um den Benutzer über die Dauer einer Sitzung zu identifizieren. Webanwendungen verwenden hierbei typischerweise Session-IDs in Form eines Cookies. Bei Web-Services kann alternativ der Standard WS-SecureConversation verwendet werden. Hier werden Sessions als sogenannter Security Context repräsentiert, welcher wiederum über eine Session-ID innerhalb eines Security Context Token referenziert werden kann. Dieser Standard umfasst zusätzlich Mechanismen zur Transportsicherung, welche bei Webanwendungen sonst typischerweise über SSL / TSL realisiert wird.

Kann eine dritte Person aufgrund eines unzureichenden Session-Managements die Session-ID ermitteln, so kann sie die Webanwendung oder den Web-Service im Kontext dieser Sitzung verwenden. Dies hat zum Beispiel zur Folge, dass ein Angreifer mit der Webanwendung als legitimer authentisierter Benutzer interagieren kann, ohne die eigentlichen Zugangsdaten (Benutzername, Passwort) zu kennen.

Die Funktionalität der Webanwendung, beziehungsweise des Web-Service kann somit von Dritten mit den Rechten des legitimen Benutzers genutzt werden, um unbefugt auf schützenswerte Daten zuzugreifen oder Befehle auszuführen.

Die folgenden Beispiele beschreiben Szenarien, die zu einer kompromittierten Sitzung führen können.

  • Bei einem Session-Fixation-Angriff lässt sich ein Angreifer zunächst eine Session-ID von der Webanwendung zuweisen und übermittelt diese dem Opfer (zum Beispiel über einen Link in einer E-Mail). Folgt das Opfer diesem Link und authentisiert sich anschließend gegenüber der Webanwendung mit der vom Angreifer übermittelten Session-ID , so kann der Angreifer die Anwendung anschließend mit der ihm bekannten Session-ID verwenden. Auf diese Weise ist es ihm möglich, im Sicherheitskontext des angegriffenen Benutzers auf die Webanwendung zuzugreifen und so Funktionen zu nutzen, die einem unauthentisierten Benutzer nicht zur Verfügung stehen.
  • Im Falle eines Session-Hijacking-Angriffs (Sitzungsübernahme) ist das Opfer bereits an der Webanwendung beziehungsweise dem Web-Service mit einer gültigen Session-ID angemeldet. Wird die Session-ID nicht zufällig gewählt (zum Beispiel einfaches Inkrementieren eines Zählers bei der Vergabe von Session-ID s) kann ein Angreifer gültige Session-ID s durch gezieltes Ausprobieren erraten und die entsprechenden Sitzungen der angemeldeten Benutzer übernehmen.
  • Werden Sitzungen von inaktiven Benutzern einer Webanwendung oder eines Web-Service nicht automatisch nach einem bestimmten Zeitintervall ungültig (Session Timeout), bleiben die Sitzungen von nicht ordnungsgemäß von der Anwendung abgemeldeten Benutzern (zum Beispiel durch Browser-Schließung) weiterhin gültig. Erlangt ein Angreifer Kenntnis von einer solchen gültigen, aber nicht mehr genutzten Session-ID oder Zugriffstoken, so kann er die Webanwendung im Sicherheitskontext des nicht abgemeldeten Benutzers weiter verwenden.

Stand: 14. EL Stand 2014

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK