X-Security im Video: "Viel schlimmer als es aussieht"

"Unmöglich, den Überblick zu behalten" X-Entwickler Coppersmith zu SetUID-Problemen.

In einem Vortrag mit mehr als einer Stunde Länge schildert der Security-Experte Ilja van Sprundel auf dem Chaos Communication Congress die Ergebnisse seiner Untersuchungen am Code von X-Server, X-Client und diversen Bibliotheken. Das Ergebnis bezeichnet er schlicht als erschreckend.

Seit mehr als einem Jahr nimmt sich van Sprundel die teilweise 30 Jahre alten X-Libraries vor, und über den gleichen Zeitraum hat er zahllose Bugs an die X-Entwickler geschickt. Die behoben (etwa beim X-Client) viele der Fehler sehr schnell, auch wenn die meisten Bugs aus Zeiten stammen, in denen niemand “Gigabyte-große Textdateien für möglich gehalten” habe.

80er-Jahre-Software

Man merke einfach, sagt er in seinem Vortrag auf dem 30C3, dass die Software teilweise aus den 80er Jahren stamme. Doch allein die Anzahl der X-Applikationen mache es fast unmöglich, den Überblick zu behalten, bestätigte auch X-Entwickler Alan Coppersmith in einer Antwort-E-Mail.

"Unmöglich, den Überblick zu behalten" X-Entwickler Coppersmith zu SetUID-Problemen.

“Unmöglich, den Überblick zu behalten” X-Entwickler Coppersmith zu SetUID-Problemen.

Anders bei der Serverseite: Viele der Hunderte von Fehlern im X-Server-Code, die er im letzten Jahr gefunden habe, seien bis heute nicht gefixt. Ein Rechtemanangement mit Privilege Dropping fehle immer noch, und auch die beteiligten Komponenten wie DRM, GLX können keinesfalls als vertrauenswürdig gelten. Memory corruption oder Buffer overflows in X seien keine Seltenheit, wie zahlreiche seiner Beispiele belegen.

Qt, KDE, GTK: “haarsträubend”

Seit Kurzem beschäftigt sich van Sprundel auch mit den Implikationen, die diverse Bugs für Qt, GTK und KDE mit sich brächten, und auch hier lautet sein Fazit “haarsträubend”. Die auf X aufbauenden Libraries träfen nur ungenügende Sicherheitsmaßnahmen – angesichts der vielen Fehler in X eine grobe Fahrlässigkeit, die auch von falschen Denkweisen geprägt sei.

SUID nicht geprüft – “keine gute Idee”

So werde beispielsweise in KDE nicht geprüft, ob eine Anwendung wie kppp mit SetUID-Bit laufe, weil es ja “in den FAQ stehe, dass man das nicht tun solle”. Schutzmechanismen vor den zahlreichen Bugs, die das biblische Alter von X mit sich bringe, gäbe es praktisch nicht, und das öffne Angreifern Tür und Tor.Es liege nur am Anwender oder Distributor, ob beispielsweise Kppp mit SUID verwendet wird, so wie etwa Ubuntu es macht.

“Niemand zwingt den Anwender oder Distributor zum sinnvollen und sicheren Verhalten”, klagt van Sprundel. Grundsätzlich als schwierig bezeichnet er die Reaktionen der Qt-Entwickler, die darauf beharren, es sei wirklich keine gute Idee, SUID bei KDE-Applikationen zu verwenden – etwa, weil “das Verhalten des Rechners dann seltsam sein könne, weil er beliebigen Code ausführen könne”. “Haben wir da eben eine Gratisfahrkarte für beliebigen Code bekommen?”, fragt van Sprundel ungläubig.

Im Client ist viel repariert, doch in Server und Erweiterungen stecken noch Unmengen an Bugs.

Im Client ist viel repariert, doch in Server und Erweiterungen stecken noch Unmengen an Bugs.

Aber vielleicht treibe ja die Vielzahl an Fehlern und die Unsicherheit von X die Leute dazu, Wayland schneller weiterzuentwickeln, auch wenn das das Problem nicht löst: “X wird uns noch lange begleiten, wir müssen das trotzdem angehen”. Die lange und anstrengende Arbeit verlange mehr Experten, die sich an der Fehlersuche beteiligen und etwa privilege separation oder dropping implementierten.

In vielen Fällen ließe sich auch der Code von BSD übernehmen, die bereits zahlreiche Bugs beseitigt und konzeptionelle Schwächen behoben hätten. Auch die KDE-Entwickler sind auf das Problem aufmerksam geworden, etwa Martin Gräßlin, der auf Google Plus ankündigt, nächste Woche einen ganzen Tag dem Motto “X ist nicht vertrauenswürdig” widmen will.

X11 1.15 veröffentlicht

Van Sprundels Ergebnisse hatten bereits im Mai zu einem umfangreichen Update der X-Libraries geführt, doch die meisten Server-Bugs sind noch nicht gefixt, auch nicht in der jüngst erschienen Version 1.15 von X11, die erstmals DMA Buffer Sharing mitbringt.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Jörg Linuxfreund
8 Jahre her

Wie “haarsträubend” sind denn diese (Ur)alten Fehler in der täglichen Praxis?Soll heißen “Wie gut muß sich ein mutmaßlicher ‘Hacker’ sein um tatsächlich einen Schaden für den Nutzer zu verursachen?”Klar sollte man sich dieser Bugs annehmen, jedoch auch im Hinblick auf die Zukunft halte ich ein hinterherhecheln jedes “Krabbeltieres” für vergeudete Energie.Es ist wohl besser sich mit dieser Energie in Weyland hinzusetzen um X möglichst schnell überall einzusetzen.Wenn die Bugs nun schon mehr als 20 Jahre alt sind und man noch nie gelesen hat das durch einen solchen jemand zu Schaden gekommen ist, denke ich das es wohl nur wenige Menschen… Mehr »

MaxVicci
8 Jahre her

@ Jörg LinuxfreundDeine Haltung verschlimmbessert nur den aktuellen Zustand im X-Milieu.Das große Ziel ist immer eine Verbesserung gegenüber dem Vorgängerprodukt zu erreichen:0) Sicherheit (Teilmenge jeder Software)a) Transparenzb) QualitätDu wärst bei mir im Vorstellungsgespräch nicht weit gekommen …

Thomas
8 Jahre her

Ihre Antwort geht leider kaum auf die gestellte Frage ein und ist in ihrer Form weitestgehend nichtssagend. Damit wären Sie im Vorstellungsgespräch bei mir nicht weit gekommen. Wie, das hatten Sie garnicht vor?

Nach oben