Open Source im professionellen Einsatz

© Todd Arena, 123RF.com

Neues bei Debian

Debianopolis

Debian ist frei und seine Entwickler sind Kosmopoliten. Das Linux-Magazin berichtet regelmäßig Interna aus der Debian-Entwicklerszene und angrenzenden Projekten.

Ganz oben auf der Liste der Security-Bugs stehen mit großem Abstand Pufferüberläufe: Gezieltes Zumüllen eines Puffers in einem Programm provoziert einen Überlauf. Der ermöglicht es, fremden Code in den Speicher einzuschleusen und auszuführen. Die zugrunde liegenden Programmierfehler solcher Bugs, die Admins rotieren lassen, sehen sich meist frappierend ähnlich.

In Debian gibt es ab sofort eine zentrale Instanz, die wiederholte und deshalb bekannte Fehler automatisch ankreiden soll. Raphael Geissert hat das auf den Namen "Debian's Automated Code Analysis", kurz DACA, getaufte Projekt ins Leben gerufen, das seit Dezember 2010 in Betrieb ist [1].

Geissert machte sich einen Namen, indem er die Dash als neue Standardshell für »/bin/sh« etablierte. Das ist besonders für Dpkg interessant, denn Debians Paketmanager verwendet »/bin/sh« für Skripte von Paketen. Die hier verlinkte Shell soll Posix-kompatibel sein – genau wie die Maintainerskripte aller Debian-Pakete. Sind sie es nicht, gilt dies als Fehler. Denn obwohl »/bin/sh« bei vielen Systemen auf »/bin/bash« verweist, ist das nicht zwingend vorgeschrieben. "Bashisms", also Bash-spezifische Skripte, funktionieren mit anderen Shells nicht. Posix ist der kleinste gemeinsame Nenner.

Der neue Spürhund DACA …

Als Debians Posix-Polizist ist Geissert ein gemachter Mann – DACA ist die logische Fortschreibung. Bashisms sind relativ einfach automatisch aufzuspüren. In seinem Announcement verkündet Raphael Geissert, dass DACA in Zukunft nach ihnen suchen wird [2]. Das modular aufgebaute DACA soll neue Pakete aber auch nach anderen typischen Fehlern durchsuchen. Neue Checks lassen sich nachträglich einbauen.

Als Check dient jedes ausführbare Programm. Geissert erfindet also keinesfalls das Rad neu, sondern nutzt vorhandene Werkzeuge und automatisiert sie unter dem Dach von DACA. Bisher sind neben dem schon erwähnten Bashism-Check ein »cppcheck« für C- und C++-Code sowie ein Check mit »ohcount« für statistische Zwecke aktiv. Weitere Tests sind in Vorbereitung: Pyflakes soll in Zukunft Python-Fehler finden, Smatch analysiert abermals C-Code.

… ist noch in Ausbildung

Geissert hält in seiner Eröffnungsmail fest, dass DACA derzeit noch schnell an seine Grenzen stößt. Das Projekt verwendet Hardware von Hewlett-Packard und der Luftfahrtfirma Timco, sein Zuhause findet der DACA-Server bei der University of British Columbia in Kanada. Die vorhandenen Ressourcen reichen zum Beispiel nicht aus, um jedes neue Paket intensiv zu prüfen – viele der Checks sind CPU- und Speicher-intensiv. Zumindest für den Augenblick ziehen es die Entwickler vor, einige grundlegende Checks auf alle Pakete anzuwenden statt jedes Paket im Detail zu checken. Geissert ruft alle, die Hardware übrig haben, zur Spende auf [3].

Das DACA-Projekt ist nicht zufällig eine Unterseite der QA-Abteilung von Debian. Die Entwickler erhoffen sich von Geisserts Projekt vor allem effiziente Qualitätskontrolle. Dass HP als altbekannter Gönner des Debian-Projekts in Hardware für DACA investiert, verdeutlicht, dass die Idee Potenzial hat. Noch fehlt es DACA an Kondition (Abbildung 1). Um wirklich hilfreich zu sein, muss die Liste vorhandener Checks wie auch die Menge der verfügbaren Server wachsen. Trommelt Geissert genügend Unterstützer zusammen, könnte DACA aber sehr erfolgreich werden und auch anderen Projekten von Nutzen sein. (ake)

Der Autor

Martin Gerhard Loschwitz ist Senior Technical Consultant bei Linbit und seit vielen Jahren Debian-GNU/Linux-Entwickler.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook