Je n'ai pas retrouvé de lien mais il y a quelques (dizaines d'?) années, un chercheur a codé un exemple de backdoor dans les sources d'un compilateur. Ce backdoor détectait la compilation d'un programme spécifique pour y insérer une autre backdoor (par exemple dans OpenSSH server). L'idée géniale est que la backdoor du compilateur était également capable de détecter la compilation du compilateur lui même pour se réinsérer dans le binaire.
En pratique, cela signifie que si une version binaire du compilateur avec backdoor pouvait être inséré dans une distribution alors toutes les versions suivantes du compilateur auront aussi la backdoor même si les sources de ceux ci sont propres. L'inspection des sources ne sert alors à rien.
Si on pousse le concept plus loin, la backdoor pourrait se trouver dans le binaire de quasiment n'importe quel outils utilisé pour programmer (compilateur, assembleur, linker, make , bash, editeur, ...). La seule façon de faire un OS propre serait alors de créer son propre processeur et mémoires avec des transitors soudés à la main.
[^] # Re: On n'a pas toujours les sources
Posté par SChauveau . En réponse au journal Une backdoor de la NSA dans OpenSSH ?. Évalué à 5.
Je n'ai pas retrouvé de lien mais il y a quelques (dizaines d'?) années, un chercheur a codé un exemple de backdoor dans les sources d'un compilateur. Ce backdoor détectait la compilation d'un programme spécifique pour y insérer une autre backdoor (par exemple dans OpenSSH server). L'idée géniale est que la backdoor du compilateur était également capable de détecter la compilation du compilateur lui même pour se réinsérer dans le binaire.
En pratique, cela signifie que si une version binaire du compilateur avec backdoor pouvait être inséré dans une distribution alors toutes les versions suivantes du compilateur auront aussi la backdoor même si les sources de ceux ci sont propres. L'inspection des sources ne sert alors à rien.
Si on pousse le concept plus loin, la backdoor pourrait se trouver dans le binaire de quasiment n'importe quel outils utilisé pour programmer (compilateur, assembleur, linker, make , bash, editeur, ...). La seule façon de faire un OS propre serait alors de créer son propre processeur et mémoires avec des transitors soudés à la main.