Integridad del Software
Lunes, 25 Agosto 
En particular, la lectura de Ken Thompson “Reflections on Trusting Trust” (refleciones en confiar en confianza) nos da a pensar en la integridad de una parte de software. Específicamente, nos enseña un ejemplo donde un compilador de C puede ser hacked por un Trojan horse. Para el propósito de esta demonstración, Thompson inserta su propia versión de UNIX “login” código, cuando un usuario trataba de compilar el código de fuente. El valor de la lectura de Thompson es que no se puede confiar en el código de fuente que no hayas creado tu mismo. Este incluye el código del compilador, del ensamblador, y microcódigos de hardware. Thompson también nos dice que cuando el nivel de los “bugs” llega a un nivel bajo los ” fallos de funcionamiento ” serán más difíciles de detectar.
De hecho, no tenemos que compilar software para ser víctima del mensage de Thompson. Cada vez que bajamos un programa por internet o instalar software nuevo, confiamos en un número de cosas. Primero, confiamos que la máquina en la que estamos bajando el software es realmente la máquina que demanda ser. Proyectos como Self-Certifying File System han tratado de arreglar este problema. Aunque nos confiemos en que la máquina con la cual estamos hablando es la que pensamos que es, debemos de comprobar que los archivos fueron preparados apropiadamente. Asi como cuado bajamos un programa por internet confiamos en el proceso de desarollo del software.
