IIS: In IIS können Cookies nicht als sicher gekennzeichnet werden

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
274149 IIS: IIS Doesn't Allow Cookies to be Marked as Secure

Problembeschreibung

Hintergrundinformationen:
Wenn Sie ASP (Active Server Pages) in Internet Information Server 4.0 und Internet Information Services 5.0 verwenden, wird an den Browser eines Benutzers ein Sitzungs-Cookie gesendet. Dieses Cookie dient dazu, den Benutzer für den Zeitraum zu identifizieren, während dessen er die Site besucht.

Diese Cookies werden zuweilen auch als "Arbeitsspeicher-Cookies" bezeichnet, da sie in keinem Fall auf der Festplatte des Benutzers gespeichert werden, wie dies bei normalen Cookies der Fall wäre. Eigentlich handelt es sich bei diesen Cookies um eine zusätzliche Kopfzeile für den Browser. Immer dann, wenn eine Website zusätzliche Informationen wie diese versendet, muss der Browser diese mit jeder Anforderung wieder zurücksenden (sofern sich der Servername nicht ändert).

Beispiel für ein ASP-Sitzungs-Cookie:
   Set-Cookie: ASPSESSIONIDGQQGGLIC=HKEDPNNBNBBKMOCFFBEIJENM; path=/ 
HTTP ist ein statusloses Protokoll. Das bedeutet, dass immer, wenn ein Benutzer eine Verbindung zu einer Website herstellt, dieser Vorgang so behandelt wird, als habe der Benutzer noch nie eine Verbindung zu dem jeweiligen Webserver hergestellt. In einer Umgebung, in der serverseitige Informationen zu den Benutzern gespeichert werden sollen, ist dies ein Problem (wie soll ich wissen, welcher Benutzer Informationen anfordert?). Das Sitzungs-Cookie ist ein Mittel, um derartige Tasks auszuführen.

Das Problem:
Es können Probleme auftreten, wenn sich Entwickler dafür entscheiden, vertrauliche oder sensible Informationen innerhalb der Sitzung zu speichern. Wenn zum Beispiel ein Entwickler einen ASP-Code schreibt, der die Kreditkartennummer eines Benutzers abfragt, könnte der Entwickler diese Information in einer Sitzungsvariablen auf dem Server speichern lassen (Sitzungsvariablen sind mit dem Sitzungs-Cookie verknüpft). Der Benutzer könnte dann zu einer Seite browsen, auf der die eingegebenen Informationen aufgelistet sind (zum Beispiel zu einer Autorisierungsseite oder einer Auftragsbestätigungsseite). Die Kreditkartennummer könnte dann (beim Erstellen der Liste) aus der Sitzungsvariable abgezogen werden. Es besteht also das Risiko, dass sensible Informationen offengelegt werden.
Führt ein böswilliger Benutzer eine Netzwerkablaufverfolgung (network trace) oder einen ähnlichen Vorgang aus, könnte er sich möglicherweise das Sitzungs-Cookie vom Browser des Benutzers besorgen, wenn es an den Server zurückgesendet wird. Stellt er dann eine Anfrage bei dem Server und präsentiert das Cookie, könnte er die Informationen einsehen, die zu dem Benutzer in den Sitzungsvariablen gespeichert sind. Hierzu müsste der böswillige Benutzer nur die Seite kennen, die den Output generiert hat, auf den er unberechtigt zugreifen möchte (zum Beispiel die Auftragsbestätigungsseite).
Zur Verschlüsselung sensibler Informationen sollte der Entwickler SSL einsetzen, um das Sitzungs-Cookie zu "verstecken". In den meisten Fällen wird dies gut funktionieren. Beginnt der Benutzer jedoch mit einer (gesicherten) HTTPS-Verbindung und wechselt dann zu einer (nicht gesicherten) HTTP-Verbindung, wird das Cookie im "Klartext" versendet, ist also lesbar. Dies ist ein Problem, weil das Sitzungs-Cookie unabhängig davon, ob es von einer gesicherten oder einer nicht gesicherten Anfrage ausgegeben wird, gleich bleibt.

Ursache

Microsoft hat festgestellt, dass dieses Problem in Internet Information Server 4.0 und Internet Information Services 5.0 auftritt. Die Cookie-Spezifikation in RFC 2109 (Request for Comments), besagt, dass ein Cookie als "sicher" gekennzeichnet werden kann. In IIS gibt es jedoch kein Mittel, zwischen sicheren und nicht sicheren Cookies zu unterscheiden.

Lösung

Windows 2000 (IIS 5.0):
Ein Update zur Behebung dieses Problems ist inzwischen von Microsoft erhältlich. Dieses Update ist jedoch noch nicht auf allen Betriebssystemen überprüft worden und sollte daher nur bei Systemen angewendet werden, bei denen dieses spezielle Problem auftritt. Wenn Ihr System durch dieses Problem nicht schwer wiegend beeinträchtigt ist, empfiehlt Microsoft, auf das nächste Service Pack zu warten, das dieses Update enthält.

Um dieses Problem sofort zu beheben, laden Sie sich das Update den nachstehenden Anweisungen entsprechend herunter oder wenden Sie sich an den Microsoft Software Service, um das Update anzufordern. Eine vollständige Liste mit Telefonnummern des Microsoft Software Service finden Sie unter der folgenden Adresse im World Wide Web:
   http://support.microsoft.com/default.aspx?scid=fh;DE;PHONENUMBERS
Die folgende Datei ist im Microsoft Download Center verfügbar. Geben Sie die nachfolgende Web-Adresse in Ihren Web-Browser ein, um sich die Datei herunterzuladen.
   Q274149_W2K_sp2_x86_DE.EXE
http://www.microsoft.com/downloads/release.asp?ReleaseID=26754
Windows NT 4.0 (IIS 4.0):
Ein Update zur Behebung dieses Problems ist inzwischen von Microsoft erhältlich. Dieses Update ist jedoch noch nicht auf allen Betriebssystemen überprüft worden und sollte daher nur bei Systemen angewendet werden, bei denen dieses spezielle Problem auftritt. Wenn Ihr System durch dieses Problem nicht schwer wiegend beeinträchtigt ist, empfiehlt Microsoft, auf das nächste Service Pack zu warten, das dieses Update enthält.

Um dieses Problem sofort zu beheben, laden Sie sich das Update den nachstehenden Anweisungen entsprechend herunter oder wenden Sie sich an den Microsoft Software Service, um das Update anzufordern. Eine vollständige Liste mit Telefonnummern des Microsoft Software Service finden Sie unter der folgenden Adresse im World Wide Web:
   http://support.microsoft.com/default.aspx?scid=fh;DE;PHONENUMBERS
Die folgende Datei ist im Microsoft Download Center verfügbar. Geben Sie die nachfolgende Web-Adresse in Ihren Web-Browser ein, um sich die Datei herunterzuladen.
   Secsesi.exe
http://www.microsoft.com/downloads/release.asp?ReleaseID=25236

Status

Windows 2000:
Microsoft hat bestätigt, dass es sich dabei um ein Problem in Microsoft Windows 2000 handelt.

Windows NT 4.0:
Microsoft hat bestätigt, dass es sich dabei um ein Problem in Microsoft Windows NT 4.0 handelt.

Weitere Informationen

Weitere Informationen zum gleichzeitigen Installieren von Windows 2000 und Windows 2000-Hotfixes finden Sie im folgenden Artikel der Microsoft Knowledge Base:
D42122 Installation von Microsoft Windows 2000 und Windows 2000-Hotfixes

Weitere Suchbegriffe: InterNetInformationServer cookie sicherheitsproblem memory cookies

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Eigenschaften

Artikelnummer: 274149 – Letzte Überarbeitung: 15.11.2006 – Revision: 1

Feedback