Comme 99% des utilisateurs, j'installe Ubuntu à partir de binaires prêts à l'emploi.
Comment puis-je vérifier moi-même que ces fichiers binaires proviennent bien du code source d'origine d'Ubuntu?
Il serait bon de vérifier que la NSA / quelqu'un n'a pas collaboré avec Ubuntu ou Linode (mon fournisseur VPS) pour jouer avec les binaires. Si nous pouvions vérifier les fichiers binaires, il serait également peu probable qu'ils tentent cela en premier lieu, car il serait facile de les appeler.
apt-get source
, ou l'utiliser pour compiler le vôtre. Voir cette question: askubuntu.com/questions/28372/…Réponses:
Vous pouvez télécharger le code source et le compiler vous-même. Mais attendez - vous devez d'abord vérifier ce code source, car si Canonical a collaboré avec la NSA, ils ont probablement entré un code quelque part pour permettre un enregistreur de frappe ou quelque chose qui peut être activé à distance.
Alors...
Mais attendez - pouvez-vous faire confiance au compilateur ?
la source
Si vous n'êtes pas prêt à accepter "parce qu'Ubuntu le dit", alors vous ne pouvez pas.
la source
Ubuntu offre des moyens pratiques pour compiler un paquet sur votre propre machine. Cependant, il n'existe aucun moyen de vérifier que l'exécutable dans un package binaire que vous avez téléchargé a été obtenu à partir de ce code source. Le processus de signature utilisé par Ubuntu réduit considérablement le risque de falsification par les tiers des packages, mais vous devez toujours vous assurer qu'aucun code nuisible n'a été ajouté avant la compilation qui ne se reflète pas dans le code source téléchargeable.
La raison en est qu'il est extrêmement difficile d'obtenir précisément les mêmes fichiers binaires que dans les packages compilés, car ceux-ci dépendent de la version précise du compilateur, de ses options, et il y a probablement aussi des chemins ou des variables d'environnement compilés dans le binaire. Vous ne pourrez donc pas obtenir précisément le même binaire lors de la compilation, ce qui "vérifierait" le binaire téléchargé.
Il existe en fait une petite communauté de chercheurs autour de ce problème précisément - comment rendre la compilation reproductible.
Cela dit, une comparaison manuelle d'un binaire téléchargé et d'un binaire auto-compilé peut détecter du code ajouté / modifié, il serait donc risqué pour quelqu'un offrant des binaires et le code source de cacher quelque chose dans les binaires, car cela peut être détecté.
Mais il y a aussi le problème de faire confiance au compilateur, comme déjà mentionné ...
la source
Il est difficile de créer exactement les mêmes fichiers binaires sur deux machines différentes. Le projet TOR fait cela dans le cadre de leur construction. Il y a une description de la façon dont ils le font. Debian et Fedora semblent avoir des projets rendant cela possible pour ces distributions, mais ils en sont aux premiers stades. Il ne semble pas y avoir de travail effectué dans Ubuntu .
Pour reproduire un package binaire Ubuntu, vous devez reproduire l'environnement dans lequel il a été créé le plus fidèlement possible. Pour commencer, vous devez d'abord savoir où et comment ces packages ont été compilés. Il ne semble pas que ces informations soient faciles à trouver.
la source
Vérification avec le MD5 d'Ubuntu. Si le MD5 que vous obtenez à partir de vos fichiers correspond à celui publié par Ubuntu, personne n'a altéré les fichiers binaires entre eux.
la source
C'est un travail difficile, je pense que la confiance ici est meilleure que ce travail compliqué. Mais la question Pouvez-vous faire confiance?
Parce que le logiciel open source donne de nombreuses libertés aux utilisateurs de changer le code, vous ne pouvez pas faire confiance à personne.
Permet de créer un scénario à cet effet, je veux vérifier que mon
Ubuntu == source code
, attendez Pourquoi vous n'essayez pas de comparer les packages à leur source?Mais pour moi, bien comparer vous donne des résultats différents mineurs en raison de différents horodatages, environnements, mais cela prouve-t-il que ce n'est pas du code source!
la source