Grundlagen der Informationssicherheit
Verwendet eine Webanwendung vor und nach der Anmeldung weiterhin dieselbe Sitzungs-ID, kann ein Angreifer den Nutzer dazu bringen, eine vom Angreifer vorbereitete Sitzungs-ID zu verwenden, und sich nach der Anmeldung des Nutzers mit dieser ID als dieser ausgeben. Was ist die angemessenste Gegenmaßnahme gegen diesen Angriff?
- ASitzungs-IDs als fortlaufende Nummern pro Nutzer vergeben, damit sie leichter zu verwalten sind
- BBei erfolgreicher Anmeldung eine neue Sitzungs-ID ausgeben und die bisherige ID ungültig machen
- CDie Sitzungs-ID innerhalb der URL übergeben
Antwort und Erläuterung anzeigen
Antwort: B. Bei erfolgreicher Anmeldung eine neue Sitzungs-ID ausgeben und die bisherige ID ungültig machen
Dieser Angriff heißt Session Fixation. Eine Webanwendung erkennt einen angemeldeten Nutzer an einer Sitzungs-ID, die etwa per Cookie übergeben wird. Kann ein Angreifer den Nutzer vor der Anmeldung dazu bringen, eine dem Angreifer bekannte Sitzungs-ID zu verwenden, und wird diese ID nach der Anmeldung weiterverwendet, kann der Angreifer mit derselben ID als dieser Nutzer zugreifen. Die Gegenmaßnahme ist, im Moment der erfolgreichen Anmeldung eine neue, nicht vorhersagbare Sitzungs-ID auszugeben und die alte ungültig zu machen. Die ID, die der Angreifer vor der Anmeldung kannte, wird damit nutzlos. Angriffe, bei denen man sich durch Stehlen oder Erraten von Sitzungs-IDs als Nutzer ausgibt, heißen allgemein Session Hijacking; ihnen begegnet man mit einer Kombination von Maßnahmen, etwa ausreichend langen Zufallswerten als IDs, Übertragung nur per HTTPS (Cookie-Attribut Secure) und dem Verzicht auf IDs in URLs (wo sie leicht über den Referer-Header oder den Verlauf abfließen). Fortlaufende IDs sind leicht zu erraten und gefährlich.
Weiter: 9 weitere Fragen zu Grundlagen der Informationssicherheit