sábado, 12 de marzo de 2016

Reflections on Trusting Trust

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   

No hay comentarios:

Publicar un comentario