Adobes 1. Patchday und der Umgang mit Schwachstellen allgemein sind die Themen dieses Standpunkt Sicherheit.
Einer geht noch, einer geht noch rein...
Wer außer Microsoft-Programmen auch Adobes Acrobat und/oder Reader einsetzt, bekommt am Juni-Patchday ein Bulletin mehr als andere: Adobe hat den ersten Patchday angekündigt, veröffentlicht wird ein als kritisch eingestuftes Update für Acrobat und Adobe Reader. Mit dem Update bedacht werden nur Windows- und Mac-Benutzer. Unix/Linux-Benutzer müssen ggf. damit leben, das eine neue Schwachstelle bekannt, aber kein Patch verfügbar ist. Aber vielleicht betrifft die Schwachstelle ja auch nur die Windows- und Mac-Version. Sollte aber auch die Unix/Linux-Version betroffen sein, scheint mir das ein bedenklicher Trend zu sein. Auch Microsoft hat am Mai-Patchday nur für einen Teil der betroffenen Systeme Patches ausgeliefert: Drei Schwachstellen in PowerPoint betreffen sowohl die Windows- als auch die Mac-Version, wurden aber nur für Windows behoben. Mit anderen Worten: Wer PowerPoint auf dem Mac nutzt, läuft seit einem Monat Gefahr, sich über eine präparierte PowerPoint-Datei Schadsoftware einzufangen. Das noch nichts passiert ist, ist reines Glück. Vielleicht liegt es aber auch daran, das keiner PowerPoint auf dem Mac nutzt, da mit Keynote eine bessere Alternative zur Verfügung steht. Dann würde es sich für die Cyberkriminellen schlicht nicht lohnen, Schadsoftware für diese Schwachstellen zu entwickeln. Aber ob das ein gutes Argument für Microsoft ist? "Wir haben uns mit den Patches Zeit gelassen, weil sich die Entwicklung für die Cyberkriminellen sowieso nicht lohnt" klänge zumindest... interessant.
Der Umgang mit Schwachstellen, ganz allgemein
Mal ein paar ganz allgemeine Bemerkungen zum Umgang mit Schwachstellen. Beim aktualisieren meiner Schwachstellen-Datenbank habe ich ja regelmäßig mit neuen Schwachstellen zu tun. Ob es eine Lösung gibt oder nicht, interessiert mich natürlich sehr. In manchen Fällen ist die Beantwortung der Frage "Gibt es einen Patch oder nicht" sehr einfach. Am einfachsten geht das, wenn das Security Advisory oder der veröffentlichte Exploit bereits eine entsprechende Information enthalten. Auch wenn das Programm offiziell oder offensichtlich nicht mehr weiterentwickelt wird, gibt es i.A. keinen Patch - woher auch? Wenn auf der Website der Herstellers steht, das das Programm eingestellt wurde, oder bei einem Sourceforge-Projekt die letzte Version von vor ein paar Jahren stammt, wird sich niemand mehr um die Schwachstelle kümmern. Auch bei noch unterstützten Programmen ist die Antwort oft leicht zu finden: Viele Hersteller halten auf ihren Websites entsprechende Informationen bereit, z.B. in Update-Ankündigungen oder dem Changelog.
Das geht Sie nichts an!
Schwieriger wird es bei den Herstellern, die Support nur für ihre Kunden gewähren. Dafür gibt es sicher gute Gründe, aber zumindest ein paar Versionsinformationen oder allgemein gehaltene Security-Advisories sollte man doch besser allgemein verfügbar machen. Denn wenn ich nicht mit Sicherheit weiß, das eine Schwachstelle behoben wurde, gilt sie für mich als offen - Sicherheit geht vor. Wenn ich weiß, das ein Programm ein paar Schwachstellen hat, beim Hersteller aber nichts darüber lese, bedeutet das für mich, das es dem Hersteller egal ist. Damit ist sein Programm bei mir auf der "Nie kaufen"-Liste - wer kauft schon gerne die Katze im Sack, von der er weiß, das sie schon mal Würmer, Läuse und wer weiß was sonst noch alles hatte?
Wer also meint, nur seine Kunden sollen wissen, ob eine Schwachstelle behoben wurde, begeht damit in meinen Augen einen groben Fehler. Wie soll ein potentieller Käufer des Programms den nicht zu erkennenden Support beurteilen? Was ich nicht sehe, ist nicht da. Das klingt vielleicht sehr nach Frau von der Leyen aka Vogel-Strauß-Taktik, ist in diesem Fall aber etwas anders gelagert.
Psst, geheim...!
Dann gibt es Hersteller, die die Schwachstelle zwar beheben, das dann aber verheimlichen. Es gibt eine neue Version mit ein paar neuen Features - das die vor kurzem entdeckte Schwachstelle behoben wurde, wird aber nicht verraten. OK, dann ist die Schwachstelle also offiziell noch offen - denn wenn sie behoben wäre, hätte man das ja wohl angekündigt.
Oder es gibt einen Hinweis auf eine behobene, kürzlich entdeckte Schwachstelle - aber welche? Manche Programme, vor allem PHP-Skripte, enthalten oft gleich eine ganze Reihe von Schwachstellen. Wurden die alle behoben? Oder nur ein Teil? Welcher? Was spricht dagegen, das genau anzugeben? Hat man Angst, die Schwachstellen würden dann ausgenutzt? Bei Schwachstellen, die bereits auf mehreren Mailinglist-Archiven, auf Milw0rm und den diversen Spiegeln davon veröffentlicht wurden?
Versionsnummer sind was für Schwächlinge
Die Steigerung des ganzen: Schwachstelle beheben, das ankündigen - aber die Versionsnummer nicht ändern. Ganz großes Kino - wofür haben die überhaupt eine Versionsnummer? Denken die gar nicht an ihre Anwender? Wenn die Anwender wissen, das in einem von ihnen benutzten Programm eine Schwachstelle steckt, möchten sie meist auf eine vorhandene fehlerfreie Version updaten - aber dazu müssen sie erst mal wissen, welche Version betroffen ist und welche nicht.
Ich liebe es, wenn ich auf die Frage "In welcher Version ist die Schwachstelle denn behoben?" mit "In Version 08.15. Aber nur, wenn sie nach dem soundsovielten heruntergeladen wurde." antworten muss. Das mag aus Sicht der Entwickler ganz logisch sein: Schwachstelle am x. entdeckt, am x+1. behoben, alles klar. Wenn das Programm nur selten geändert wird, geht das sogar noch einige Zeit gut - aber später sieht das doch etwas anders aus. Mal angenommen, jemand installiert das Programm in Version 08.14 und aktualisiert irgendwann auf Version 08.15. Nach einiger Zeit erfährt er dann, das im Programm eine Schwachstelle gefunden wurde und das es ein Update gibt. Eigentlich gut, aber: Ist er betroffen oder nicht? Normalerweise reicht dazu ein Blick auf die Versionsnummer. Aber in diesem Fall muss er auch noch wissen, wann er die Version heruntergeladen hat. Also ich weiß nach einigen Wochen nicht mehr, am welchem Tag ich ein Programm heruntergeladen haben, und so wird es den meisten Leuten gehen. Soll man sich jetzt bei jeder Installation merken, wann man sich das Programm heruntergeladen hat?
Wieso keine Offenheit?
Was ist so schwer daran, im Changelog, der Update-Ankündigung oder einem Security Bulletin klipp und klar anzugeben, welche sowieso allgemein bekannten Schwachstellen behoben wurden? Und dazu eine eindeutige Versionsnummer zu vergeben? Das wäre auch gleich eine gute Eigenwerbung. Denn wenn ich bei Google nach einem Programm suche, finde ich automatisch auch Informationen über veröffentlichte Schwachstellen. Wenn der Hersteller die dann verschweigt, ist das doch ein schlechtes Zeichen, oder?
Carsten Eilers
Links
- "About Security": Die wöchentliche Serie von Carsten Eilers
[http://entwickler.de/zonen/portale/psecom,id,234,nodeid,.html]
























Kommentare