Lücke in Safari

Bei unserer Suche nach verschiedenen Arten von Schadcode für Mac stießen wir kürzlich auf eine recht interessante Merkwürdigkeit in Safari. Wie sich zeigt, kann Safari für Mac OS – wie viele andere moderne Browser auch – die vorherige Sitzung wiederherstellen. Mit anderen Worte: Alle Sites, die auch bei der vorhergehenden Session geöffnet waren – einschließlich derer, die eine Autorisierung erforderlich machen – können in wenigen simplen Schritten beim Start des Browsers wiederhergestellt werden. Bequem? Sebstverständlich. Sicher? Leider nein.

Damit der Browser weiß, was am Ende der vorhergehenden Sitzung geöffnet war, müssen die entsprechenden Informationen irgendwo gespeichert werden. Das sollte natürlich ein Ort sein, auf den nicht jeder einfach so zugreifen kann, und die Informationen müssen definitiv verschlüsselt werden.

Safari jedoch verschlüsselt die vorangegangenen Sessions nicht und speichert sie in einer normalen plist-Datei, die frei zugänglich ist. Die Konsequenz daraus ist, dass die Login-Daten des Nutzers problemlos gefunden werden können: 

Screenshot einer plist-Datei: Login-Versuch bei G-Mail

Benutzername und Kennwort sind hier eindeutig nicht verschlüsselt (siehe rote Markierung auf dem Screenshot).

Die komplette autorisierte Session auf dieser Site ist trotz Verwendung von https in der plist-Datei in Vollansicht gespeichert. Die Datei selbst befindet sich in einem verborgenen Ordner, steht allerdings jedem zum Lesen zur Verfügung.

Das System kann eine plist-Datei problemlos öffnen. Sie lagert die Informationen über die gespeicherte Sitzung – inklusive der unter Verwendung eines simplen Base64 Chiffrierungsalgorithmus‘ verschlüsselten http-Anfragen – in einem strukturierten Format.

Geöffnete plist-Datei

In Safari gibt es die Funktion ‘Alle Fenster der letzten Sitzung erneut öffnen’, mit Hilfe derer Websites exakt so wieder geöffnet werden, wie sie am Ende der vorangegangenen Session waren. Das ist die Funktion, die LastSession.plist verwendet.

Die Funktion ‘Alle Fenster der letzten Sitzung erneut öffnen’ in Safari

Diese Funktion ist in den folgenden Versionen von Mac OS X und Safari verfügbar:

  • OSX10.8.5, Safari 6.0.5 (8536.30.1)
  • OSX10.7.5, Safari 6.0.5 (7536.30.1)

Man möchte sich lieber gar nicht vorstellen, was passieren kann, wenn Cyberkriminelle oder ein Schadprogramm Zugriff auf die Datei LastSession.plist auf einem System erhalten, auf dem sich Nutzer bei Facebook, Twitter, LinkedIn und beim Online-Banking anmelden.

Vertrauliche Informationen unverschlüsselt mit uneingeschränkten Zugriffsmöglichkeiten zu speichern, ist vom Standpunkt der IT-Sicherheit aus betrachtet ein Desaster, das es übelwollenden Usern ermöglicht, Anwenderdaten mit minimalem Aufwand zu stehlen.

Wir haben Apple über das Problem informiert.

Zum gegenwärtigen Zeitpunkt können wir nicht mit Sicherheit sagen, ob es irgendwo da draußen Schadcode gibt, der diese Datei angreift, aber wir könnten darauf wetten, dass sein Erscheinen nicht mehr lange auf sich warten lässt.

Diese Sicherheitslücke wurde in Safari 6.1 ausgebessert.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.