Freie Software: Probleme bei Verifikation von Binärdateien
Die Binärdatei einer Software mit dem dazugehörigen Quellcode zu vergleichen ist schwieriger als eventuell vermutet. Selbst für Pakete von Linux-Distributionen sind das Rekompilieren und die anschließende Verifikation nicht einfach.

Einer der Vorteile von freier Software ist die Möglichkeit, die eingesetzte Binärversion der Software mit dem korrespondierenden Quellcode zu vergleichen. Ein Rekompilieren des Codes sollte genügen, um eventuelle Unstimmigkeiten zwischen eigener und bereitgestellter Binärversion aufzudecken. Der Entwickler Jos van den Oever beschreibt jedoch in seinem Blog, dass diese vergleichsweise naive Idee selbst für die Pakete einiger Linux-Distributionen schwer umzusetzen sei.
Denn die GPLv2 verlange zwar, sämtliche Skripte bereitzustellen, die für das Kompilieren notwendig sind, Angaben wie etwa zur Compiler-Version müssen aber nicht gemacht werden. Das, so van den Oever, mache die Überprüfung von Binärdatei und Quellcode sehr schwierig, denn unterschiedliche Compiler führen zu unterschiedlichen Binärdateien.
Pakete überprüfen?
Darüber hinaus sind die von Linux-Distributionen angebotenen Binärpakete sehr verschieden im Gegensatz zu einer einfachen, selbst kompilierten Datei. Wohl deshalb bieten die meisten Distributionen auch Quellpakete an, aus denen die Binärpakete selbst erstellt und gegebenenfalls überprüft werden können, was van den Oever versuchte.
Der Entwickler untersuchte beispielhaft für Debian, Fedora und Opensuse das Erstellen eines Pakets der Software Tar. Neben Unterschieden, die aus Zeitstempeln und Build-IDs entstanden, fand van den Oever auch einige Unterschiede, die nicht direkt zu erklären sind. Zwar belaufen sich die Unterschiede oft nur auf wenige Bytes, ob dies aber aus unterschiedlichen Build-Umgebungen resultiert, wie van den Oever vermutet, lässt sich derzeit nicht abschließend klären.
Um "Bit-perfekte Builds" zu erstellen, brauche es nur ein paar Veränderungen an den Werkzeugen, schreibt van den Oever, wie etwa die Dokumentation der Build-Umgebung. Sollte die Verifikation aber nicht funktionieren, bleibt nur das Vertrauen in den Dienst, der die Binärversionen anbietet, also meist die Distribution.
Doch selbst wenn dieses Vertrauen nicht vorliegt, schafft ein konsequent selbst kompiliertes System wie bei Gentoo oder Arch-Linux nicht unbedingt mehr Sicherheit. Denn auch dem Quellcode selbst muss jeder Nutzer vertrauen, worauf Unix-Pionier Ken Thompson in seinem Essay Reflections on Trusting Trust hinwies.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Mir ist diesbezüglich nichts bekannt, aber noch viel unklarer ist mir, wie du darauf...
...die Einstellung wird immer Paranoider. Sicher ist es wichtig aufzupassen aber das...
Frag Microsoft.
In Reflections on Trusting Trust geht es nicht darum, dass man dem Source-Code vertrauen...