Man zeigt nicht mit dem Finger auf andere Leute
Das lernte ich schon als Kind und das gebe ich auch an meine Kinder weiter. In meinen Sessions werde ich beim Thema Security oft gefragt, wie ich zu dem Verhalten von anderen Anwendungen und anderen Herstellern stehe. Warum rede ich immer nur über unsere Produkte? Andere sind doch auch nicht besser, sondern unbreakable oft viel schlechter.
Der Grund ist ganz simple: Man zeigt nicht mit dem Finger auf andere Leute!
Wenn ich über Security in unseren Produkten rede, dann zeige ich, welche Schwachstellen uns in der Vergangenheit beschäftigt haben, welche Lösungen wir dafür heute schaffen und welche Designentscheidungen wir treffen, um neue Bedrohungsszenarien von Anfang an zu begegnen. Mit dieser Vorgehensweise bin ich bei Microsoft nicht allein - unsere Konkurrenz handelt manchmal aber auch anders.
In den letzten Tagen gab es viele Diskussionen um die Möglichkeit, unter Windows Anwendungen durch eine speziell geformte URL über einen Application URL Protocol Handler zu starten. Dabei ging es am meisten um eine Sicherheitslücke in Mozilla Firefox, welcher bei dem firefoxurl:-Handler die übergebenen Daten als sicher betrachtet und nicht validiert. Über die -chrome-Option kann man damit Anwendungen mit den Rechten des angemeldeten Benutzers auf dem lokalen PC ausführen.
Mit der Veröffentlichung der Firefox-Version 2.0.0.5 lehnte sich das Mozilla-Team hier sehr weit aus dem Fenster. Window Snyder als Chief Security Something-or-Other bei Mozilla stellt folgende Behauptung in ihrem Blog auf:
Firefox registriert bei der Installation den firefoxurl:-Handler. Für diesen Handler wird die Übergabe von nicht vertrauenswürdigen Daten aus einer entfernten und nicht vertrauenswürdigen Quelle, bei der es sich weder um das Betriebsystem, noch um Eingaben des Benutzers handelt, deklariert und dokumentiert. Um es ganz klar zu sagen: Die Daten können von einem potentiellen Hacker stammen.
Mit der Registrierung eines Application URL Protocol Handlers sagt also diese Anwendung der Welt: Ich nehme über diesen speziellen Kanal Daten entgegen. Es ist interessant zu sehen, wie man das eigene Vertrauen in die Korrektheit der übergebenen Daten umdreht in einen Angriff gegen den Internet Explorer.
Weiter geht es dann bei Windows Snyder:
Die Erkenntnis ist nun nicht wirklich neu. Application URL Protocol Handler gibt es meines Wissens seit Windows 95. Das Problem ist hier nicht im Internet Explorer zu suchen. Die Anwendung, die übergebenen Daten aus dem Internet (zum Beispiel durch Application URL Protocol Handler über den Internet Explorer) blind vertraut, stellt ein potentielles Sicherheitsproblem dar. Daher ist die Antwort des IE-Teams in diesem Punkt auch ganz deutlich:
Lesen wir bei Window Snyder weiter:
Man zeigt nicht mit dem Finger auf andere Leute! Sowas entwickelt sich schneller zu einem Bummerang, als einem lieb ist. Jesper Johansson zeigt in seinem Blogeintrag Hey, Mozilla: Quotes Are Not Legal in a URL im Detail, wie Firefox eingestellt als Standard-Webbrowser selbst andere Anwendungen über Application URL Protocol Handler mit ungefilterten Daten versorgt:
Firefox verhält sich hier genauso, wie die Definition der Handler es vorsieht und wie der Internet Explorer es auch macht. Ich finde es nur interessant, dass Mozilla in dem Verhalten des Internet Explorers eine kritische Verwundbarkeit sieht und bei dem eigenen Produkt noch nicht einmal auf die Idee gekommen ist, nachzuschauen, wie man es selbst handhabt. Dementsprechend kleinlaut wurde Window Snyder später:
Schade, dass Window Snyder nicht genug Rückgrat hat, hier klar Stellung zu beziehen. Eine Entschuldigung wäre hier wohl angebracht. Weiterhin wird Jesper mit keinem Wort erwähnt. Kein Dank für seine Analyse. Noch beschämender finde ich allerdings das Vorgehen, in den eigenen Kommentaren Links zu dem Blogeintrag von Jesper zu löschen.
Comments
Anonymous
July 24, 2007
Hallo Daniel, vielen Dank für die klaren Worte. Ich sehe das genauso wie Du. Software ist eben Software und wird nur von Menschen gebaut und wird daher immer Fehler haben. Leider sind sich viele diesem Sachverhalt nicht bewusst und es wird leider - was Microsoft angeht - in meinem Empfinden mit zweierlei Maß gemessen. Das finde ich nicht richtig. Gruß AndreasAnonymous
July 24, 2007
The comment has been removedAnonymous
July 24, 2007
Blöde, aufgeblasene Milchkuh! Sie sollte am Marterpfahl schmoren :D Abseits davon: Danke für den interessanten Einblick. Ich hatte die Sache mit der Sicherheitslücke nicht genau verfolgt, da wurde scheinbar ganz schön schmutzige Wäsche gewaschen. Trotzdem nutze ich noch den ff - obwohl ich seit geraumer Zeit mit dem ie7 liebäugele. Manches Mal überfällt mich noch so ein Anfall von Nostalgie und ich möchte mal wieder ohne Tabs surfen. Und dann ist mir der IE6 sogar lieber als jeder andere Browser!Anonymous
July 24, 2007
Apropos "unbreakable", siehe http://blogs.technet.com/steffenk/archive/2007/07/24/jahrestag-4-jahre-ohne-sql-server-security-patch.aspx ;-) //.<Anonymous
July 25, 2007
The comment has been removedAnonymous
July 25, 2007
Hallo Christian, wenn Du meinem Link http://msdn2.microsoft.com/en-us/library/aa767914.aspx gefolgt wärst, hättest Du das gewünschte in der MSDN gefunden: "When a user clicks a link registered to your custom URL protocol, Microsoft Internet Explorer launches the registered URL protocol handler. If the specified shellopen command specified in the Registry contains a %1 parameter, Internet Explorer passes the URI to the registered protocol handler. The final Uniform Resource Identifier (URI) is decoded; that is, hexadecimal escape characters are converted to equivalent UTF-16 characters. For example, the %20 character sequence is replaced with a space. Security Alert Applications handling URL protocols must be robust in the face of malicious data. Because handler applications receive data from untrusted sources, the URL and other parameter values passed to the application may contain malicious data attempting to exploit the handling application. For this reason, handling applications that could initiate unwanted actions based on external data must first confirm those actions with the user." VG, DanielAnonymous
July 25, 2007
Alles schön und gut, aber was ändert das an der Tatsache, daß der IE der besch...eidenste Browser ist, der sich auf Festplatten rumtreibt? Er war ja bis zur 6er schon mies aber die 7er... =8-O Insofern empfiehlt es sich dann wirklich, sich schön bedeckt zu halten. PitAnonymous
August 21, 2007
Wieder einmal offenbaren sich Sandkastenmanieren in der IT, " die anderen sind schuld ": What happenedAnonymous
August 23, 2007
Nichts wird so heiss gegessen wie es ge... Ich ärgere mich nur immer über die Antwort: "Weil es sicherer ist." auf die Frage: "Warum nutzt du den Firefox." Kann man eigentlich auf eine Imagekampangie zurück führen mit dem eigentlich mündidige Erwachsene die letzten 2 Jahre verseucht wurden, ähnlich Bild dir deine Meinung. Der eigentliche Grund, scheint mir eher anders gelagert zu sein. Was eigentlich auf beiden Seiten viel über das Ego verrät, nicht mehr und nicht weniger. Ich empfinde es als hilfreich: Wenn zwei sich streiten freut sich der dritte.