Sonntag, 12. Februar 2012


Kolumne

Montag, 25. Januar 2010 | Kolumne

KW 04/10 - Standpunkt Sicherheit

(Link zum Artikel: http://www.createordie.de/entwicklerde/kolumnen/053522)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Microsoft kannte die 0-Day-Schwachstelle seit einigen Monaten - eine ideale Vorlage für diesen Standpunkt Sicherheit.

Microsoft hat die 0-Day-Schwachstelle im Internet Explorer behoben - nur eine Woche, nachdem sie gemeldet wurde. Das ist auf den ersten Blick ziemlich beachtlich. Es relativiert sich aber, wenn man erfährt, wieso das so schnell ging: Die Schwachstelle war Microsoft bereits seit Anfang September 2009 bekannt, der Patch wäre sowieso am nächsten regulären Patchday veröffentlicht worden:

"As we noted in our blog post yesterday, this Internet Explorer security update was already planned for release in February. When the attack discussed in Security Advisory 979352 was first brought to our attention on Jan 11, we quickly released an advisory for customers three days later. As part of that investigation, we also determined that the vulnerability was the same as a vulnerability responsibly reported to us and confirmed in early September."

Da drängen sich natürlich einige Fragen nach den Folgen bzw. der Wirksamkeit von "Responsible Disclosure" auf. Ich möchte jetzt nicht auf die endlosen Debatten für und wieder "Responsible Disclosure" und/oder "Full Disclosure" eingehen oder auf die Frage, wie "Responsible Disclosure" überhaupt aussieht, wie viel Zeit die Entdecker einer Schwachstelle den Entwicklern für eine Reaktion auf die Meldung der Schwachstelle und deren Behebung geben sollen oder ... oder ... oder... Stattdessen möchte ich auf einen anderen Punkt eingehen, der oft übersehen wird: Die Entdeckung eine Schwachstelle durch verschiedene Parteien, unabhängig voneinander und ohne voneinander zu wissen.

Nur, weil eine Schwachstelle "responsible" an die entsprechenden Entwickler gemeldet wurde, bedeutet das ja noch lange nicht, dass sie nicht noch von anderen entdeckt werden kann. In Security Bulletins oder Advisories findet man immer wieder mal bei den "Credits" den Hinweis, dass eine Schwachstelle von zwei (oder auch mehr) verschiedenen Entdeckern unabhängig voneinander gemeldet wurde. Fein, dann bekommen alle ein Lob, und alle sind zufrieden. Was aber, wenn ein Entdecker die Schwachstelle nicht meldet, sondern ausnutzt, so wie in diesem Fall? Jetzt könnte man sagen "OK, Shit happens, wenigstens hatte Microsoft schon mal ein bisschen Vorlauf und der Patch kam schnell raus." Google und die anderen Unternehmen, die den gezielten Angriffen über diese Schachstelle zum Opfer gefallen sind, werden davon genau so wenig begeistert sein wie alle diejenigen, die nach der Veröffentlichung der Exploits einer Drive-by-Infektion zum Opfer gefallen sind. Hätte Microsoft also nach der Information über die Schwachstelle vor ihr warnen sollen? Oder andere Maßnahmen ergreifen können?

Achtung-Schild - wirksam wie ein gewisses Stopp-Schild?

In dem Moment, in dem klar war, dass die Schwachstelle die Ausführung von Code erlaubt, musste Microsoft damit rechnen, dass die Schwachstelle für Drive-by-Infektionen ausgenutzt werden kann und sehr wahrscheinlich auch wird, sobald Cyberkriminelle sie kennen. Klarer Fall also: Eine Warnung war fällig. Oder? Was hätte die bewirkt? Der einzig wirklich wirksame Workaround war ein Wechsel des Browsers, entweder zu einem komplett anderen Produkt oder zum IE 8. Hätten das die betroffenen Unternehmen gemacht? Unternehmen, die den IE 6 unter Windows XP einsetzen (denn nur dafür gab es anfangs einen Exploit)? Ich wage mal zu behaupten, die hätten weder den IE aktualisiert noch wären sie zu einem anderen Browser gewechselt. Dafür gab es früher schon mehr als genug Anlässe. Eine Warnung vor der Schwachstelle hätte also wenig genutzt, vor allem käme Microsoft ja gar nicht mehr aus dem Veröffentlichen von Warnungen heraus, denn die wäre dann konsequenter weise für jede später im Security Bulletin als kritisch eingestufte Schwachstelle fällig.

"Andere Maßnahmen"

Hätte Microsoft "andere Maßnahmen" ergreifen können oder müssen? Welche denn? Eine Warnung wäre zwecklos gewesen, ein Patch wurde entwickelt, was bleiben dann noch für Möglichkeiten? Die Information der Antivirenhersteller? Sofern das nicht schon routinemäßig gemacht wird, gab es keinen Grund, in diesem Fall anders zu verfahren. Denn aus Microsofts Sicht war an dieser Schwachstelle nichts anders als an allen anderen, die man bereits "responsible" gemeldet bekommen hat. An fast jedem Patchday werden Schwachstellen behoben, die sich für Drive-by-Infektionen eignen, und ich möchte gar nicht wissen, wie viele weitere solche Schwachstellen Microsoft kennt, aber noch nicht geschlossen hat.

"Responsible Disclosure" als Gefahr?

Betrachten wir das ganze mal aus der Gegenrichtung: Was wäre gewesen, wenn die Schwachstelle Anfang September im Rahmen eines "Full Disclosure" veröffentlicht worden wäre? Man hätte sich davor schützen können, zum Beispiel, indem man einen anderen Browser nimmt. Aber... s.o.. Außerdem: Im IE wurden bereits so viele Schwachstellen behoben, die zuvor bekannt waren und ausgenutzt wurden - wer den immer noch nutzt, wird sich von einer weiteren Schachstelle nicht davon abhalten lassen. Zumal man das gleiche Argument für jeden Browser verwenden kann. Welcher Browser ohne behobene Schwachstellen ist, werfe den ersten Installer. Wie, keiner da? Na, dann lassen wir das besser und kommen vom Workaround zur Lösung. Hätte Microsoft den Patch schneller geliefert? Microsoft hat ein Interesse daran, alle Schwachstellen so schnell wie möglich zu beheben, schließlich ist jede 0-Day-Schwachstelle schlecht fürs Geschäft, egal ob die Schwachstelle zuvor schon "responsible" gemeldet bzw. selbst entdeckt wurde oder nicht - die Frage "Warum ist die Schachstelle (noch) da?" wird auf jedem Fall gestellt. Das beim Patchen Prioritäten gesetzt werden müssen, ist wohl verständlich, aber ich gehe davon aus, dass jede im späteren Bulletin als kritisch eingestufte Schwachstelle während der Patchentwicklung die höchste Priorität hat. Sehr wahrscheinlich werden öffentlich bekannte Schwachstellen dabei noch etwas höher eingestuft als die bisher nur Microsoft und den Entdeckern bekannten, aber da jede Schwachstelle jederzeit öffentlich werden kann, gibt es da wenig Spielraum. Derjenige, der Steve Ballmer erklären musste, dass und wieso die seit September bekannte Schwachstelle nicht behoben wurde, bevor sie ausgenutzt wurde, hat mein Mitgefühl.

Andere Schwachstelle, gleiche Ausgangssituation, anderes Ergebnis

In diesem Fall hat Microsoft also meiner Ansicht nach alles richtig gemacht. Aber betrachten wir mal einen hypothetischen anderen Fall: Eine Schwachstelle kann durch präparierte Pakete an einen bestimmten Port, die noch dazu so nur im Rahmen eines Angriffs vorkommen können, zum Ausführen von Code ausgenutzt werden. Bei der IE-Schwachstelle gab es keinen wirklich praktikablen Workaround, aber bei dieser hypothetischen Schwachstelle könnte ein Angriff sehr einfach und effektiv und noch dazu ohne Nebenwirkungen durch das Ausfiltern der gefährlichen Pakete durch die Firewall verhindert werden. Sollte Microsoft vor so einer Schwachstelle warnen? Meiner Meinung nach: Ja. Würde Microsoft es tun? Erfahrungsgemäß nicht.

Googles Browser

Noch kurz etwas anderes, was bisher auch wenig beachtet wurde: Google scheint noch Arbeitsplatzrechner mit Windows XP und dem Internet Explorer 6 zu verwenden, denn sonst hätten man dort der Schwachstelle nicht zum Opfer fallen können, wie es Microsoft gemeldet und Google nicht dementiert hat. Eigentlich hätte ich ja erwartet, das Google überall den eigenen Browser einsetzt und nicht den der Konkurrenz. Vor allem nicht in einer doch reichlich veralteten Version. Interessant.

Carsten Eilers

Kommentare

Folgende Links könnten Sie auch interessieren