Ein gut dokumentierter Versuch, die vom TrueCrypt-Projekt angebotenen Binärdateien für Windows aus dem öffentlichen Quellcode nachzubauen, zeigt: die Binaries stimmen mit den Quellen überein. Ob das Verschlüsselungs-Tool sicher ist, müssen weitere Analysen des Quelltextes zeigen. Aber zumindest ist jetzt klar, dass die vom Projekt zum Download angebotenen Dateien keine Hintertür enthalten, die nicht auch im Quelltext zu finden wäre.

In der Dokumentation seines Versuches zeigt Xavier de Carné de Carnavalet, Master-Student an der kanadischen Concordia-Universität, wie akribisch man vorgehen muss, um den Quellcode in Binärdateien zu übersetzen, die mit den offiziellen Downloads des Projektes übereinstimmen. Die beim Herunterladen der Quellen mitgelieferte Readme-Datei gibt zwar genau die Versionen der Werkzeuge an, die man zum kompilieren benötigt, aber um am Ende wirklich zum selben Ergebnis zu kommen wie das TrueCrypt-Projekt, muss man noch mehr beachten. So müssen auch genau die richtigen Sicherheitsupdates für Visual Studio installiert sein. Dies ist natürlich nur dann erforderlich, wenn man wie de Carné de Carnavalet im Rahmen einer Sicherheitsanalyse nachvollziehen will, ob die öffentlichen Binaries mit den Quellen übereinstimmen. Vertraut man auf sein Ergebnis, kann man TrueCrypt auch mit weniger Aufwand selbst übersetzen.

Unter anderem benötigte der Student Visual C++ 1.52 aus dem Jahre 1994. Des weiteren musste er eine spezielle Version des Tools dd ausfindig machen, obwohl dieses in der Readme-Datei gar nicht erwähnt wurde. Um anschließend auch wirklich vergleichbaren Binärcode zu erhalten, muss man ebenfalls die richtigen Sicherheitsupdates für Visual Studio 2008 einspielen. Das heißt alle, die bei Erscheinen der aktuellen TrueCrypt-Version (7.1a) verfügbar waren. Updates die später veröffentlicht wurden dürfen folglich nicht installiert werden.

Unterschiede zwischen dem übersetzten Quelltext des Studenten (oben) und der offiziellen TrueCrypt.exe der Entwickler (unten) (Bild: Xavier de Carné de Carnavalet )

Alle diese Schritte erläutert de Carné de Carnavalet sehr detailliert. Anschließend stellt er sein Kompilierungsprotokoll zur Verfügung und erklärt die Unterschiede zwischen seinem Ergebnis und den offiziellen Binaries der TrueCrypt-Entwickler. Diese Unterschiede ergeben sich hauptsächlich durch unterschiedliche Zeitstempel und GUIDs die natürlich nicht mit dem Rechner der Entwickler identisch sein können. Nach dem Dekompilieren der beiden Dateisätze erreichte der Student dann auch eine komplette Übereinstimmung seiner Dateien mit denen des TrueCrypt-Projektes. Am Ende kommt er zu dem Schluss, dass die offiziellen Binärdateien funktionell mit dem Quellcode übereinstimmen, also keine zusätzliche Hintertür enthalten.

Die Untersuchung beantwortet einen Teil der Fragen, welche die Initiatoren der IsTrueCryptAuditedYet?-Kampagne gestellt hatten. Jetzt bleibt noch eine weitere Untersuchung des eigentlichen Quelltextes auf Hintertüren. Die regelmäßige Notwendigkeit einer solchen Untersuchung unterscheidet TrueCrypt allerdings nicht von anderen sicherheitsrelevanten Open-Source-Projekten. Zumal der Quellcode des Programms schon jetzt als relativ gut untersucht gilt.

[Update: 29.10.2013 09:33]

Eine frühere Version der Meldung wurde korrigiert, in der fälschlicherweise von Windows-Updates die Rede war. Allein die Version von Visual Studio ist ausschlaggebend für den Übersetzungsprozess. (fab)