Wie 99% der Benutzer installiere ich Ubuntu von vorgefertigten Binärdateien.
Wie kann ich mich verifizieren, dass diese Binärdateien tatsächlich aus dem ursprünglichen Quellcode von Ubuntu stammen?
Es wäre gut zu überprüfen, ob NSA / Jemand nicht mit Ubuntu oder Linode (meinem VPS-Provider) zusammengearbeitet hat, um mit den Binärdateien herumzuspielen. Wenn wir die Binärdateien überprüfen könnten, wäre es auch unwahrscheinlich, dass sie dies versuchen, da es einfach wäre, sie darauf abzurufen.
apt-get source
oder zum Kompilieren Ihres eigenen Codes verwenden . Siehe diese Frage: askubuntu.com/questions/28372/…Antworten:
Sie können den Quellcode herunterladen und selbst kompilieren. Aber warten Sie - zuerst müssen Sie den Quellcode überprüfen, denn wenn Canonical mit der NSA zusammengearbeitet hat, haben sie wahrscheinlich irgendwo einen Code eingegeben, um einen Keylogger oder etwas zu ermöglichen, das per Fernzugriff aktiviert werden kann.
So...
Aber warte - kannst du dem Compiler vertrauen ?
quelle
Wenn Sie nicht bereit sind zu akzeptieren, "weil Ubuntu dies sagt", können Sie dies nicht.
quelle
Ubuntu bietet komfortable Möglichkeiten, ein Paket auf Ihrem eigenen Rechner zu kompilieren. Es ist jedoch nicht möglich zu überprüfen, ob die ausführbare Datei in einem von Ihnen heruntergeladenen Binärpaket aus diesem Quellcode stammt. Der von Ubuntu verwendete Signaturprozess verringert das Risiko von Manipulationen durch Dritte an den Paketen erheblich. Sie müssen jedoch darauf vertrauen, dass vor der Kompilierung kein schädlicher Code hinzugefügt wurde, der nicht im herunterladbaren Quellcode enthalten ist.
Der Grund dafür ist, dass es äußerst schwierig ist, genau dieselben Binärdateien wie in den kompilierten Paketen zu erhalten, da diese von der genauen Compilerversion, ihren Optionen und wahrscheinlich auch von einigen Pfaden oder Umgebungsvariablen abhängen, die in die Binärdatei kompiliert wurden. Daher können Sie beim Kompilieren nicht genau dieselbe Binärdatei erhalten, wodurch die heruntergeladene Binärdatei "verifiziert" wird.
Es gibt tatsächlich eine kleine Forschungsgemeinschaft, die sich mit genau diesem Problem befasst - wie man die Kompilierung reproduzierbar macht.
Having said that, heruntergeladen ein manueller Vergleich eines binären und eine selbst erstellte man kann detect hinzugefügt / geändert Code, so dass es für jemanden Angebot Binärdateien und den Quellcode zu verstecken etwas in den Binärdateien riskant sein würde, da dies nachgewiesen werden kann.
Aber dann gibt es auch das Problem, dem Compiler zu vertrauen, wie schon erwähnt ...
quelle
Es ist ein schwieriges Problem, auf zwei verschiedenen Computern exakt dieselben Binärdateien zu erstellen. Das TOR-Projekt macht dies als regulären Teil ihres Builds. Es gibt eine Beschreibung, wie sie es machen. Debian und Fedora scheinen Projekte zu haben, die dies für diese Distributionen ermöglichen, aber sie befinden sich in einem frühen Stadium. Es scheint nicht so, als ob in Ubuntu irgendwelche Arbeiten erledigt sind .
Um ein Ubuntu-Binärpaket zu reproduzieren, müssten Sie die Umgebung, in der es erstellt wurde, so genau wie möglich reproduzieren. Zunächst müssen Sie herausfinden, wo und wie diese Pakete kompiliert wurden. Es sieht nicht so aus, als wären diese Informationen leicht zu finden.
quelle
Überprüfung mit Ubuntus MD5. Wenn das MD5, das Sie aus Ihren Dateien erhalten, mit dem von Ubuntu veröffentlichten MD5 übereinstimmt, hat niemand die dazwischen liegenden Binärdateien manipuliert.
quelle
Das ist ein harter Job, ich denke, Vertrauen ist hier besser als dieser komplizierte Job. Aber der Frage kannst du vertrauen?
Da Open-Source-Software Benutzern viele Freiheiten bietet, den Code zu ändern, können Sie niemandem vertrauen.
Lassen
Ubuntu == source code
Sie uns ein Szenario für diesen Zweck erstellen. Ich möchte das überprüfen . Warten Sie. Warum versuchen Sie nicht, Pakete mit ihrer Quelle zu vergleichen?Aber wenn ich gut vergleiche, bekommst du geringfügig unterschiedliche Ergebnisse aufgrund unterschiedlicher Zeitstempel, Umgebungen, aber beweist das, dass es nicht aus dem Quellcode stammt!
quelle