Al
momento de realizar algún proyecto que requiera de cierto tipo de trabajo
relacionado con la programación, muchas veces, ya sea por la cercanía de la
fecha límite o por alguna otra razón, la parte de programación no se revisa de
manera detallada o con la precaución necesaria, por lo que pueden llegar a
generarse diversos errores de varios tipos; éstos pueden ser, desde errores
sencillos hasta errores que tengan que ver con la seguridad de la información.
En
el discurso de Ken Thompson “Reflections
of Trusting Trust”, de 1983, se muestra una visión de cómo los
programadores y/o escritores de código realmente no revisan sus trabajos como
debería, puesto que revisan la parte del código, pero dejan de lado la parte de
la compilación, elemento muy importante al trabajar con programas, ya que
muchas cosas maliciosas pueden ser introducidas mediante errores y detalles no
verificados de la compilación.
Para
demostrar de una mejor manera esta situación, Ken Thompson muestra y explica un
ejemplo en el que toma un código que lee y, posteriormente, se imprime a sí mismo,
pero con ciertos errores, en otras palabras, se dice que el código se recompila
con algunas fallas incluidas, de manera intencional. En este ejemplo se ve como
la acción se realiza con el lenguaje C, pero Thompson afirma que puede ser con cualquier
otro lenguaje o sistema.
Si nos ponemos a pensar un poquito, si esta acción “maliciosa”
la pudo hacer el propio autor del código, eso significa que las personas
malvadas, hackers, o como quieran llamarles, que se encuentran allá afuera,
también pueden realizar estas acciones y pueden llegar a causar bastante daño.
Es por eso que siempre es recomendable, no solo confiar en nuestro código, sino
que también se debe revisar su compilación y todos aquellos detalles que puedan
darle acceso a todas esas personas cuyas intenciones no son del todo buenas.
REFERENCIAS:
·
Thompson, K. (1983). Reflections on trusting trust.
ACM Turing Award Lectures, 1-3. Retrieved March 12, 2016, from http://webcem01.cem.itesm.mx:8005/s201611/tc2025/trusting_trust.pdf