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.