Ansichten eines Informatikers

Invalid -> Won’t Fix -> Fix Commited

Hadmut
18.8.2010 20:59

Manchmal muß und kann man Sicherheit bei Ubuntu-Linux doch durchprügeln.

Ich habe mich schon mehrfach drüber ausgelassen, daß im Linux/Ubuntu-Umfeld doch sehr viele von Freiwilligen und Selbstberufenen gemacht wird, und das manchmal zu haarsträubenden Erscheinigungen wie dieser katastrophalen Ausrichtung auf schlecht dokumentierte Desktopmechanismen und -programmierweisen führt, oder etwa dem verkorksten NetworkManager, einer Katastrophe namens Akonadi oder F-Spot.

Das schlimme daran ist, daß die Leute dann auch überhaupt nicht mehr diskussionsfähig und massiv beratungsresistent sind. Die sind auf ihrem Trip (meistens der Desktop-Trip) und hören überhaupt nicht mehr zu. Auch einem guten Bekannten, ausgewiesener und erfahrener Security-Fachmann, der auf ein Sicherheitsproblem hingewiesen und eine Lösung vorgeschlagen hatte, wurde einfach nur ein „You don’t want that” an den Kopf geworfen.

Mir ist kürzlich das Grausen gekommen, als ich bei Ubuntu mal das Format der ApplicationArmor-Datei für Firefox angemeckert habe. Das ist ein monolithischer Block, der letztlich alle Dateien des Benutzers zum Lesen und Schreiben freigibt (und damit im Ergebnis wirkungslos ist, weil der Schutz nicht weiter geht, als das Betriebssystem mit seinen Dateizugriffsrechten schon vorgibt). Natürlich kann man die Datei einfach mit dem Editor ändern, wie man sie haben will. Das geht aber schief, weil sich an jeder Firefox-Version ja irgendwas ändert, manchmal auch der ganze Pfad der Binaries. Wenn man aber einmal an den Dateien rumfummelt, erkennt Debian/Ubuntu das und aktualisiert sie nicht mehr automatisch, um die lokalen Änderungen nicht zu überschreiben. Das führt dann dazu, daß entweder irgendwas nicht funktioniert, weil der Browser auf irgendwelche neuen Dateien nicht mehr zugreifen kann, oder daß der Schutz ganz wegfällt, weil sich der Pfad des Binaries geändert hat und AArmor das Profil nicht mehr anwendet – bis man alle Änderungen manuell nachgepflegt hat.

Kein Browser ist heute noch sicher. Viel zu komplex, viel zu diffus, viel zu viele Fremdbibliotheken, zu viele Autoren, und die Programmiersprachen C und C++. Nicht mehr sicher zu kriegen. Siehe nur die Pufferüberläufe bei Graphikdateien oder die Einbrüche über PDF-Dateien (ich werde nie verstehen, warum man bei Adobe ein eigentlich super-sicheres und tolles Dateiformat durch Einbindung von JavaScript und Executables so ruiniert hat. Die spinnen echt.)

Als ich dann aber anmeckert habe, daß das AppArmor-Profil so weit gefaßt ist, daß es wirkungslos ist, wurde mir gleich der Bug-Report als „Invalid” zurückgewiesen und nach einiger Diskussion auf ein „Won’t Fix” hochgestuft. Weil Ubuntu auf keinen Fall so gebaut sein dürfte, daß irgend ein Dummuser mit dem Browser eine Datei nicht mehr hoch- oder runterladen könne, weshalb alles zum Lesen und Schreiben offen sein müsse.

Die Lösung wäre einfach: Man schreibt in die Standard-Datei, was der Browser für seine Funktionsfähigkeit braucht, ohne jedoch die Freigaben für die Benutzerdaten, die der Browser lesen und schreiben können soll. Diese Benutzer-Daten-Einstellungen packt man in eine separate Datei, die per include-Anweisung eingebunden wird. Per Default stellt man das auf ganz weit offen, damit der unerfahrene Benutzer, der von AppArmor nichts weiß, problemlos surfen kann. Stellt man diese Konfiguration aber enger ein, dann stört das den Upgrade-Prozess nicht, weil die Konfigurationsdatei für die Browser-Funktionen unverändert ist und damit auch mit jedem Upgrade mitgezogen wird. Man stellt einmal ein, wie man es haben will, beispielsweise daß der Browser nur auf $HOME/Desktop zugreifen kann, und ist damit für lange Zeit sicher.

Ging nicht in die Birne rein. Pauschal abgelehnt.

Nu kenn ich das Prinzip. Wenn der Rolladen bei denen mal unten ist, geht mit Überzeugung und guten Worten nichts mehr. Zumal es schwer ist, jemanden zu überzeugen, der sich mit Security nicht auskennt und von sich selbst so überzeugt ist. Also muß man etwas tun, was in Ami-Land gänzlich verpönt ist: Man muß die Leute in Frage stellen. In ihrer Kompetenz, in ihrer amerikanischen Pauschal-Sichtweise mit deren extrem vorgefasster Wertungsskala. Da werden die zwar fuchsteufelswild und stinksauer, denn das gilt dort als persönlicher Angriff. Und weil alle persönlichen Angriffe dort strikt tabu sind, können sich eben diese auf persönlicher Willkür oder Inkompetenz beruhenden Fehlertypen ungehindert ausbreiten und zum systematischen Fehler ausbilden. Aber wenn man mal so richtig mit dem Finger da reinpiekst, wo’s weh tut, dann merken sie es schon.

Das Ergebnis: Sie können mich jetzt zwar nicht mehr leiden, aber dafür kam vorhin die Meldung „Fix Commited” – Lösung für die nächste Ubuntu-Version eingepflegt. Na, also. Geht doch. Schöner wär’s freilich, wenn’s auch ohne Tritt vor’s Schienbein ginge.

Siehe Ubuntu Bug #592121.

2 Kommentare (RSS-Feed)

Stefan W.
19.8.2010 5:50
Kommentarlink

Halb OT: Ich bekam kürzlich auch Ärger mit dem Network-Manager – er taucht nicht mehr im Panel auf. Mir wurde wicd als Ersatz empfohlen, und ich beginne nun, das auszuprobieren.

Der Rechner wechselt nicht oft den Standort, so dass es bei mir sehr lange dauern wird, bis ich einen Eindruck habe, ob wicd überlegen ist, stabil, praktisch.

Selbst empfehlen kann ich es noch nicht.


Stefan
20.8.2010 19:48
Kommentarlink

@Stefan W.: Ich hab eine lange Leidensgeschichte mit dem NM hinter mir und bin einfach nur gluecklich mit wicd, vor allem weil es ein gescheites curses-Interface gibt. Stoeren tut an sich nur, dass er (noch) nicht zwei interfaces gleichzeitig managen kann.