Wenn Outlook die Globale Adressliste vom Exchange Server abfragen will, kommt es schon mal vor, dass Exchange nicht verfügbar ist. Komisches Verhalten. Ob das nur hier und da vorkommt und auf die speziellen Gegebenheiten in Umgebungen zurückzuführen ist, ist nicht ganz klar. Es ist wohl aber so, dass das auch zu einem Sicherheitsrisiko werden könnte. Da ist nur meine persönliche Meinung. Vielleicht bin ich damit ja ganz allein.
Outlook arbeitet mit Session Cookies. Die haben ein ContextHandle von 900000 ms, also 900 Sekunden. Es muss in der Session in Outlook innerhalb dieser Zeit irgendwas passieren. Eine Viertelstunde, in der man morgens also sein Outlook startet und dann erstmal Kaffee holen geht. Oder so. Nichts weltbewegendes. Wird innerhalb dieser Zeit nichts getan und danach erst meinetwegen der Kalender aufgerufen, kommt es dann auf dem Exchange Server zu einem Problem namens „ContextNotFoundException“. Das oben genannte ContextHandle ist dann also nicht mehr gültig.
Das ist aber nur die halbe Wahrheit. Denn für den Account, der Outlook öffnet, wird ebenfalls noch ein Session Cookie erzeugt. Es wird also eine zweite NSPI-Verbindung von Exchange zum Globalen Katalog in der Organisation aufgebaut, und das zweite Cookie ist quasi gleich dem ersten. Da dieses im Benutzer-Kontext läuft, erhält beim Überschreiten der 900 Sekunden der Anwender eine Fehlermeldung, dass Exchange derzeit nicht zur Verfügung steht. Vor allem beim Abruf der Globalen Adressliste ist das wohl zu beobachten.
Wird nun eins der beiden Cookies von Outlook verwendet, erfolgt dann in regelmäßigen Abständen eine Art Ping-Meldung in Richtung Exchange Server. Kommt dann das andere Cookie noch dazu ins Spiel und ist vielleicht abgelaufen, könnte auch hier wieder eine ähnliche Fehlermeldung auftauchen. Aber wieso da überhaupt Outlook zwei Session Cookies erzeugt, ist nicht ganz klar. Es scheint sich um die WinHTTP-API zu handeln, die dafür verantwortlich ist. Und da komme ich zu meiner Idee.
Diese Cookies können doch dann auch missbraucht werden. Das ist nur eine vage Annahme. Aber wenn es so ist, dass Outlook zwei Cookies erzeugt, aber eigentlich nur eins benötigt und vielleicht damit den Exchange Server überfordern könnte, dann kann man doch als Angreifer diese Cookies auch dazu verwenden, um Anfragen zwischen Outlook und Exchange dann umzuleiten. Vielleicht wäre es auch möglich, den Exchange Server wie mit einer DDoS-Attacke zu stressen. Ich sehe das als ansehnliches Problem an.
Es kann wohl bezüglich NSPI zu unsicheren Verbindungen kommen. Und zwar vor allem, wenn NSPI von Outlook-fremden Anwendungen verwendet wird. Dann nämlich kann es dazu kommen, dass zwar mit „NspiBind“ eine entsprechende Verbindung aufgebaut wird, aber kein „NspiUnbind“ erfolgt, wenn die Verbindung nicht mehr benötigt wird. Ich kann mir sehr gut vorstellen, dass in diesen Mechanismus Angreifer einsteigen können, indem sie das zweite Cookie von oben benutzen und eine zweite NSPI-Verbindung aufbauen, ohne sie dann wieder zu schließen.
Das Ganze ist eine sehr spezielle Problematik, das ist mir klar. Vielleicht kann das Ganze ja auch wirklich nur durch die Begrenzung der NSPI-Verbindungen behoben werden. Wie das gehen soll, steht hier. Und wahrscheinlich muss ziemlich hart um die Ecke gedacht werden, um hier wirklich etwas über diesen Weg ausnutzen zu können. Aber möglich ist das Alles schon. Oder sehe ich das falsch?