Abo
  • Services:
Anzeige
Stimmt der Quellcode mit dem Binärcode überein?
Stimmt der Quellcode mit dem Binärcode überein? (Bild: Hanno Böck/OpenSSL-Code)

Softwaresicherheit: Vertrauen durch reproduzierbare Build-Prozesse

Stimmt der Quellcode mit dem Binärcode überein?
Stimmt der Quellcode mit dem Binärcode überein? (Bild: Hanno Böck/OpenSSL-Code)

Freie Software wirbt mit dem Versprechen, dass jeder den Quellcode prüfen kann. Doch wie kann garantiert werden, dass die verteilte Software wirklich aus den angegebenen Quellen stammt? Debian will hierfür reproduzierbare Build-Prozesse einführen.

Anzeige

Das Argument ist bekannt: Freie Software kann sicherer und vertrauenswürdiger sein, weil theoretisch jeder einen Blick in den Quellcode werfen kann. Somit kann die Funktionalität einer Software unabhängig geprüft werden. Das Verstecken von Hintertüren ist zwar nicht ausgeschlossen, aber die Hoffnung besteht, dass jede Hintertür früher oder später auffliegt.

Vertrauenslücke zwischen Quellcode und Binärcode

Doch dieses Vertrauensmodell der freien Software hat ein Problem: Die wenigsten Anwender kompilieren ihre Software selbst. Stattdessen lädt man üblicherweise vorkompilierte Binärsoftware herunter, beispielsweise von einer Linux-Distribution. Ob dieses Binärpaket wirklich aus dem dazu mitgelieferten Quellcode stammt, kann ein Anwender nicht wissen. Wenn man versucht, eine Software selbst zu kompilieren und mit dem ausgelieferten Binärcode zu vergleichen, gibt es fast immer Unterschiede, da der Kompiliervorgang von vielen Details des benutzten Systems abhängt.

Holger Levsen und Lunar vom Debian-Projekt wollen die Vertrauenslücke zwischen Quellcode und Binärpaketen schließen. Ihr Ziel: Künftige Debian-Versionen sollen sogenannte reproduzierbare Builds liefern, die es jedem Anwender des Systems ermöglichen, den Compile-Vorgang von Paketen nachzuvollziehen und zu prüfen. Das Paket, das ein reproduzierbarer Build-Prozess liefert, soll dabei bitidentisch mit dem originalen Debian-Paket sein. Auf der Fosdem 2015 berichteten die Debian-Entwickler über die ersten Erfahrungen des Projekts.

Debian ist nicht das erste Projekt, das sich Gedanken über reproduzierbare Builds macht. Vorreiter waren vielmehr Bitcoin und das Tor-Projekt. Beide Projekte nutzen bereits einen reproduzierbaren Build-Prozess. Doch die Idee ist schon viel älter. Lunar fand Posts auf Debian-Mailinglisten aus den Jahren 2007 und sogar 2000, in denen derartige Konzepte bereits diskutiert wurden, doch umgesetzt hat sie damals niemand.

Angst vor bösartigem Bitcoin-Client

Bei Bitcoin stand die Befürchtung im Raum, dass der Bitcoin-Client angesichts der Milliardensummen, die inzwischen in Bitcoin umgesetzt werden, ein attraktives Ziel für bösartige Angreifer darstellt. So könnte ein manipulierter Bitcoin-Client dafür sorgen, dass heimlich Geld von einem Nutzer auf ein anderes Konto gebucht wird. Durch die Bitcoin-Technologie wäre ein solcher Geldtransfer nicht revidierbar. Wenn der Computer eines Entwicklers gehackt würde, so die Befürchtung, könnte der verantwortliche Entwickler große Schwierigkeiten bekommen, weil viele betroffene Nutzer möglicherweise nicht glauben würden, dass es sich um einen Angriff durch Unbekannte handelt. Reproduzierbare Builds dienen also auch dazu, die Entwickler vor derartigen Anschuldigungen zu schützen.

Bitcoin und der Tor-Browser nutzen zurzeit ein System namens Gitian für reproduzierbare Builds. Dafür wird der Build-Vorgang in einer virtuellen Maschine mit einer manipulierten Zeit durchgeführt. Das gesamte Verfahren ist relativ komplex und auch zeitaufwendig. Es ist für Einzelprojekte praktikabel, doch die Debian-Entwickler streben ein deutlich einfacheres Verfahren an.

Die Grundidee ist simpel: Jedes Paket liefert Informationen darüber mit, mit welchen Versionen der entsprechenden Abhängigkeiten es kompiliert wurde, samt einer Prüfsumme der entsprechenden Pakete. Ein Nutzer kann dann diese Abhängigkeiten installieren und den Build-Prozess nachvollziehen. Doch um das möglich zu machen, gibt es einige Hürden. Denn die Build-Prozesse integrieren viele Details, die sich von System zu System unterscheiden. Das Ziel: Alle Unterschiede im Build-Vorgang, die keinen direkten Zweck haben, sollen eliminiert werden.

Unter Debian stehen dafür verschiedene Tools bereit, die dabei helfen sollen. Ein Skript mit dem Namen strip-nondeterminism entfernt unnötige Informationen aus verschiedenen Dateien. Außerdem sortiert es die Dateien in ZIP-Archiven und anderen Archivformaten. Weiterhin gibt es ein Hilfsskript, debbindiff, das zwei Debian-Pakete vergleicht und anzeigt, warum sie sich unterscheiden.

Pakete zweimal bauen und vergleichen 

eye home zur Startseite
EQuatschBob 04. Feb 2015

Sind sie meines Wissens nach nicht. Die Leute von F-Droid.org arbeiten wohl daran, sind...

EQuatschBob 04. Feb 2015

Sobald die FOSDEM-Leute die Videos ins Netz stellen, siehst Du was Holger und Lunar alles...

EQuatschBob 04. Feb 2015

Reproducible Builds schaffen definitiv keine "absolute Sicherheit". Aber das Erstellen...

MarioWario 02. Feb 2015

Nicht ohne Grund die größte und wichtigste Linux-Distribution, die haben es wirklich...



Anzeige

Stellenmarkt
  1. BUYIN GmbH, Bonn
  2. über Robert Half Technology, Düsseldorf
  3. BVU Beratergruppe Verkehr + Umwelt GmbH, Freiburg
  4. Schaeffler Technologies AG & Co. KG, Herzogenaurach


Anzeige
Blu-ray-Angebote
  1. 139,99€ (Vorbesteller-Preisgarantie)
  2. 22,99€ (Vorbesteller-Preisgarantie)
  3. 79,99€

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Tipps für IT-Engagement in Fernost
  2. Mehr dazu im aktuellen Whitepaper von Freudenberg IT
  3. Sicherheitskonzeption für das App-getriebene Geschäft


  1. Künstliche Intelligenz

    Softbank und Honda wollen sprechendes Auto bauen

  2. Alternatives Android

    Cyanogen soll zahlreiche Mitarbeiter entlassen

  3. Update

    Onedrive erstellt automatisierte Alben und erkennt Pokémon

  4. Die Woche im Video

    Ausgesperrt, ausprobiert, ausgetüftelt

  5. 100 MBit/s

    Zusagen der Bundesnetzagentur drücken Preis für Vectoring

  6. Insolvenz

    Unister Holding mit 39 Millionen Euro verschuldet

  7. Radeons RX 480

    Die Designs von AMDs Partnern takten höher - und konstanter

  8. Koelnmesse

    Tagestickets für Gamescom ausverkauft

  9. Kluge Uhren

    Weltweiter Smartwatch-Markt bricht um ein Drittel ein

  10. Linux

    Nvidia ist bereit für einheitliche Wayland-Unterstützung



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Schrott im Netz: Wie Social Bots das Internet gefährden
Schrott im Netz
Wie Social Bots das Internet gefährden
  1. Netzwerk Wie Ausrüster Google Fiber und Facebooks Netzwerk sehen
  2. Secret Communications Facebook-Messenger bald mit Ende-zu-Ende-Verschlüsselung
  3. Social Media Ein Netzwerk wie ein Glücksspielautomat

Masterplan Teil 2: Selbstfahrende Teslas werden zu Leihautos
Masterplan Teil 2
Selbstfahrende Teslas werden zu Leihautos
  1. Projekt Titan Apple Car soll später kommen
  2. Nissan Serena Automatisiert fahrender Minivan soll im August erscheinen
  3. Elon Musk Tesla-Chef arbeitet an neuem Masterplan

Dirror angeschaut: Der digitale Spiegel, der ein Tablet ist
Dirror angeschaut
Der digitale Spiegel, der ein Tablet ist
  1. Bluetooth 5 Funktechnik sendet mehr Daten auch ohne Verbindungsaufbau
  2. Smarter Schalter Wenn Github mit dem Lichtschalter klingelt
  3. Tony Fadell Nest-Gründer macht keine Omeletts mehr

  1. Zum Glück ist sie nach Köln gekommen, damit mehr...

    DreiChinesenMit... | 21:02

  2. Re: Mich würde mal Wundern, wann sie Kaffee als...

    nnx | 21:01

  3. Re: Ab der kommerziellen Firma..

    FreiGeistler | 20:52

  4. Re: HTC Vive > Oculus Rift

    edgario | 20:52

  5. Re: Was würde sich so ein Gott wohl denken.

    tingelchen | 20:39


  1. 15:17

  2. 14:19

  3. 13:08

  4. 09:01

  5. 18:26

  6. 18:00

  7. 17:00

  8. 16:29


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel