jueves, 22 de marzo de 2007

Which one will you take, the Blue Pill or the Red Pill?

Es un momento clave de la película de Matrix, Neo tiene que elegir entre aceptar la realidad o quedarse en el engaño de vivir en un mundo virtual, lo que es representado por tomarse la píldora roja o la azul respectivamente. Desde luego, él elige la píldora roja... pero ¿y tu?

No, no es que te esté diciendo que vivamos en un mundo virtual donde nada es lo que parece, pero tu computadora podría estar corriendo en un mundo virtual sin darse cuenta de ello. Ésa es la premisa del famoso Blue Pill (píldora azul), un algoritmo desarrollado por Joanna Rutkowska, para demostrar que es posible engañar a las computadoras más recientes al hacerlas creer que están corriendo normalmente, sin saber que sus sistemas operativos pueden ser controlados (o espiados) por código en ejecución del cual estos no saben siquiera que se está ejecutando.

Emm... ¿pero no los virus y otros malwares hacen algo similar para 'saltarse a los antivirus'? Podría preguntar una mente muy estudiosa. Bueno, la idea de la tecnología Blue Pill va un poco más allá. Un malware muy bueno se basará en errores de hardware o de software para permitir su ejecución sin que el sistema pueda detectar las acciones de estos. Puede por ejemplo desasociar un proceso en ejecución de la lista de procesos activos del kernel, abrir algún puerto mediante cambiar algunos campos en la estructura de NDIS, etc... pero cuando conoces el mecanismo en que se basan es fácil detectarlos -y tambien prevenirlos-.

Teóricamente el algoritmo Blue Pill se basa en una tecnología presente en los procesadores de última generación de AMD que permiten correr procesos en modo virtual, comúnmente conocido como virtual machines. La diferencia con una máquina virtual común, es que no hay forma de que los procesos que corren en este modo se enteren de que están en una máquina virtual... y ahí está el truco, no hay forma de que lo sepan a menos que los procesos fuera de esa máquina virtual se lo dejen saber.

Este no es una falla en los procesadores AMD, tampoco un bug en los sistemas operativos. Es un código que hace uso de una tecnología y la aplica para engañar al sistema operativo. Lo peor de todo es que puede hacerlo On-The-Fly (es decir, al instante), basta con ejecutar accidentalmente el código y ya habrás ingerido el Blue Pill. Afortunadamente la autora de esta tecnología sólo ha desarrollado el código ejecutable para Windows Vista corriendo sobre procesadores AMD con la tecnología SVM. Mientras no se divulgue los detalles sobre cómo aprovechar esta tecnología estaremos todavía seguros de lo que ocurre en nuestras computadoras. Mientras tanto, ¿porqué no te tomas el Red Pill? el hecho de que todavía no estes infectado por una píldora azul no quiere decir que no estés corriendo sobre una máquina virtual... así que la decisión es tuya, ¿tomarás la píldora azul o la roja?

No hay comentarios.:

Publicar un comentario