En même temps, si tu livres le binaire d'un logiciel libre vérolé, c'est facile de refaire un binaire non vérolé, mais vérifier que le binaire fourni est bien issu des sources, c'est une autre paire de manches : le processus de build est rarement totalement déterministe, il inclue en général des timestamps à gauche à droite, la moindre modification de l'environnement de build peut changer le binaire (pour prendre un exemple grossier, changer de version de GCC va forcément changer le binaire). Bref, reproduire exactement à l'indentique la chaine de build, c'est quasi-impossible. Et comparer les binaires à la main pour vérifier que les modifications sont sans importance pour la sécurité, bah, bon courrage.
Je viens de faire l'expérience avec un package Debian assez simple. Creation du package, sauvegarde dans un coin. Re-creation à partir des mêmes sources, même pas un "touch" entre temps, le deuxième package est plus gros de 10 octets.
Et quand bien même tu aurais la certitude que les sources sont bien celles du binaire, la backdoor peut être un buffer overflow bien caché (on a déjà du mal à trouver les buffer overflow quand on n'a pas fait exprès de les cacher, alors ...), elle peut être dans le compilo (cf. le fameux papier de je-sais-plus-qui), dans l'éditeur de lien, bref, n'importe où ...
(mais par ailleurs, il me semble que les sources de Windows fournies par MS sont compilables ;-) ).
[^] # Re: 3eme réaction...
Posté par Matthieu Moy (site web personnel) . En réponse au journal Vista s'ouvre pour nos chers gouvernements. Évalué à 5.
Je viens de faire l'expérience avec un package Debian assez simple. Creation du package, sauvegarde dans un coin. Re-creation à partir des mêmes sources, même pas un "touch" entre temps, le deuxième package est plus gros de 10 octets.
Et quand bien même tu aurais la certitude que les sources sont bien celles du binaire, la backdoor peut être un buffer overflow bien caché (on a déjà du mal à trouver les buffer overflow quand on n'a pas fait exprès de les cacher, alors ...), elle peut être dans le compilo (cf. le fameux papier de je-sais-plus-qui), dans l'éditeur de lien, bref, n'importe où ...
(mais par ailleurs, il me semble que les sources de Windows fournies par MS sont compilables ;-) ).