Wer hatte davon noch nicht gehört? Firesheep. Ein BrowserplugIn für Firefox, das aus unverschlüsselten Netzwerken SessionIds fischt und mit den zugehörigen URLs Http-Requests eingeloggter Nutzer nachbaut. In einer Seitenleiste hat man dann schön die Twitter- und Facebook-Accounts aufgelistet, die so im Netz herumschwirren. Ein Klick und man befindet sich in der Innenansicht und kann schalten und walten, wie der Besitzer. (Ja, ich weiß, die Sicherheitslücke ist eigentlich uralt, Firesheep hat sie nur komfortabel geinterfacet. Aber damit auch allgegenwärtig gemacht.)
Heute klappte ich mal nach langer Zeit wieder meinen Laptop im Oberholz auf, die ein unverschlüsseltes W-Lan betreiben – erinnerte mich an die Existenz von Firesheep und schloss vorsichtshalber das Facebook-Tab. Erster Shock: zu spät. Im Firesheep erschien nach einem Firesheep-Scan mein Facebookprofil. Hatte das jemand schon auf einem anderen Rechner geöffnet? (Facebook war bei mir immerhin wenige Minuten offen)
Egal. Facebook ausgeloggt. Danach war die Session in Firesheep ungültig.
Exkurs: Eine Session ist eine Identifizierung eines Nutzers, die Serverseitig verwaltet wird. Durch URL-Bestandteile, POST-Parameter oder eben immer häufiger Cookies (bei Twitter und Facebook zb.) wird der Browser des Nutzers vom Server erkannt und ein bereits erfolgter LogIn wird zugeordnet. So braucht man sich nicht immer neu anmelden.
Nach dem expliziten LogOut bei Facebook wurde also die in Firesheep angezeigte Session auf dem Facebookserver für ungültig erklärt und man konnte sie nicht mehr benutzen. So weit, so unspektakulär.
Einige Minuten später erschien auf einmal mein Twitterprofil in Firesheep. Ich habe keine Ahnung, wie es da hinkam, denn ich hatte Twitter eigentlich nicht im Browser offen, ich benutze beinahe ausschließlich Clients. Ich bin aber ständig per Browser eingeloggt, auch wenn die Session nicht aktiv ist, wenn ich die Seite nicht offen habe.
Allerdings gibt es noch die Tweetbuttons von Twitter auf vielen externen Websites, die mich ebenfalls anhand der TwitterSession identifizieren. Auf diese Weise kann es sein, dass die eigene SessionId im Netz herumfliegt, ohne, dass man dafür Twitter aufrufen muss.
Jedenfalls dachte ich mir: kein Problem! Ich logge mich auch einfach bei Twitter aus. Zack. Aber was musste ich da feststellen? Trotz des Ausgeloggtseins funktionierte die von Firesheep angezeigte Session immer noch! Mehrere Ausloggversuche scheiterten, jedesmal kam ich per firesheep zurück auf meine Timeline, als hätte ich mich nie ausgeloggt.
Ich hab das Problem gleich auf Twitter gepostet, worauf hin ich erstmal einen ganzen Haufen überflüssiger „Lösch doch deine Cookies„-Antworten zurück bekam. Aber nach einigem hin und her auch die Lösung.
Man muss auf Twitter einfach sein Passwort ändern (keine Angst, geht eh nur per https, also SSL-verschlüsselt) und dann werden alle Sessions ungültig. Puh!
Zwischendrin hat das Oberholz dankenswerter Weise wieder auf Verschlüsselung umgestellt (mit WPA-II hat wohl jeder seine eigene Verschlüsselung).
Es ist nichts passiert, aber es war eine ziemlich creepy Erfahrung, seine Session öffentlich zu sehen, ohne daran etwas ändern zu können.
Was ich persönlich für Lehren aus dem Erlebnis ziehen werde, weiß ich noch nicht. Ich weiß auch nicht, was das für die offene W-Lankultur bedeutet, die ich eigentlich unterstütze. Aber eines steht fest:
Dass die Session nach dem Ausloggen bei Twitter nicht ungültig wird, ist eine Riesenschweinerei! Ich bin wirklich nicht der Sicherheitsfanatiker aber sowas geht gar nicht! Das ist eine Sicherheitslücke schlimmen Ausmaßes. (Vielleicht hab ich ja was übersehen, konnte das Verhalten aber reproduzieren. Kann das vielleicht jemand noch mal verifizieren?)
Allgemein würde ich sogar sagen, dass das Ende von Http für Nutzerprofile gekommen ist. Firesheep hat deutlich gemacht, dass man eigentlich nicht mehr irgendwo ohne SSL (also https) eingeloggt rumsurfen möchte. Insbesondere im Zusammenhang mit der Kolonialisierung des Netzes mit den Like- und Tweet-Buttons muss man da dringend umdenken.
Für weiteren Spott und Häme („HÖHÖ, Kontrollverlust und so, HÖHÖ!“) können gerne die Kommentare verwendet werden.
UPDATE: Die beschriebene Sicherheitslücke war wohl auch schon bekannt. Habe ich mir beinahe gedacht, kannte sie aber nicht (Danke @xbg). Jedenfalls bekommt sie mit Firesheep eine ganz neue Dimension und erhöht den Druck auf Twitter, diese zu schließen. Hoffentlich.


