Desde Faq-Mac: La Macarena era una birria de canción, y el OSX.Macarena es una birria de virus

Como lamentablemente (bueno, afortunadamente) no tengo que presentar la canción de La Macarena, supongo que sí tengo que presentar el OSX.Macarena. Se trata de la última _supuesta amenaza_ para la seguridad de Mac OS X, y fue puesta en conocimiento por Symantec. La brevísima descripción del _virus_ decía algo así como:

Cuando se ejecuta OSX.Macarena, realiza las siguientes acciones:

* Infecta otros archivos que se ejecuten en el directorio actual, independientemente del nombre del archivo o de su extensión.

A priori podría parecer un problema grave: ¿un programa que es capaz de infectar otros programas que se encuentran en el directorio activo cuando se ejecutó OSX.Macarena? ¡Debe ser peligroso!

Y sin embargo, no se trata de ningún _bug_ ni problema en el Finder o en la shell. *OSX.Macarena es un ejecutable* que hay que lanzar primero, que a su vez lanza otro proceso que queda residente (algo que cualquiera puede hacer desde el entorno del Terminal). Dicho proceso, por el diseño de Unix, tiene acceso a los archivos del directorio activo al lanzarlo… ¡para los que tenga permisos suficientes! Básicamente, como cualquier otro programa.

Lo que lo hace diferente, y resulta _sospechoso_, es que ese programa residente sea capaz de infectar otros programas de su mismo directorio. ¿Cómo lo hace?

Puesto que los detalles que Symantec proporciona sobre su funcionamiento son tan parcos, hay que suponer que el programa, una vez residente, está pendiente de los cambios en el directorio actual (hay llamadas para poder hacerlo), y cuando se produce el lanzamiento de una aplicación (lo que cambia la fecha de acceso del ejecutable), aprovecha las capacidades del formato de programas Mach-O propio de Mac OS X para, añadiéndose al final, hacer que primero se ejecute el virus, y luego devolver el control al programa que formaba parte inicialmente del archivo.

Alguien puede pensar que hay que modificar Mac OS X para impedir que un programa cambie la estructura de un ejecutable Mach-O… pero si eso se hiciera, ¡sencillamente no podríamos crear programas! Si fuéramos un poco menos restrictivos, lo que no podríamos crear serían binarios universales… o programas como lipo, que eliminan la parte PowerPC o la parte Intel de un binario universal…

Así que como programa debe tener acceso a los archivos para los que tiene permiso de acceso, y transformarlos como quiera, es posible modificar un ejecutable. Como el formato Mach-O está estructurado para permitir que se hagan cambios incrementales, es posible añadir código que se ejecute con anterioridad a otra parte de código. Pero eso es, exactamente, lo que hace un entorno de compilación y enlazado (los comandos cc y ld), la base de la creación de programas Unix.

Así que nuestro _virus_ consiste en un trozo de compilador y enlazador embebidos en un programa que es capaz de quedarse residente en memoria… y que, de todas formas, *hay que ejecutar primero*. Como siempre, sigue haciendo falta una vulnerabilidad que permita que el programa acceda a archivos para los que no tiene permiso, que se pueda ejecutar sin que el usuario lo sepa, y que sea capaz de propagarse… como prueba de concepto, sólo prueba que se pueden escribir compiladores en Mac OS X, algo que ya sabíamos 😉

El eslabón que falta sigue siendo el que un ejecutable, en primer lugar, pueda propagarse dentro de la misma máquina (OSX.Macarena no puede modificar más que archivos del directorio activo cuando se lanzó), y si queremos que sea una auténtica amenaza, a otras máquinas. La lista de _malware_ para Mac OS X sigue siendo escasa, y prácticamente estéril, aunque técnicamente sea posible crear programas malévolos. Lo difícil (como en cualquier Unix) sigue siendo la propagación de esos _malwares_.

Lo interesante es que programas que hagan esto para Unix existen, por tanto, desde la creación de Unix (recordemos que *Unix se desarrolló*, inicialmente, *sin pensar en la seguridad*, por lo que programas como OSX.Macarena habrían tenido un ámbito de actuación mayor). Amit Singh —el autor de _Mac OS X Internals_— habla de ello en una muy interesante página dedicada a la seguridad en Unix y otros sistemas con una perspectiva histórica, _A Taste of Computer Security_ (Una degustación de seguridad informática). Incluso pretende responder a la pregunta _¿Cómo llegó Windows a ser tan inseguro?_ 😉

h3. Enlaces

* faq-mac: “Seguridad: Eeeeeeeh… mac-arena!: otra nueva _prueba de concepto_ enmascarada como virus para Mac OS X”:http://www.faq-mac.com/mt/archives/020016.php
* Symantec: “OSX.Macarena”:http://www.symantec.com/security_response/writeup.jsp?docid=2006-110217-1331-99&tabid=2
* Kernelthread: “A Taste of Computer Security”:http://www.kernelthread.com/publications/security/

Tags Technorati: [ ]


Comentarios

Una respuesta a «Desde Faq-Mac: La Macarena era una birria de canción, y el OSX.Macarena es una birria de virus»

  1. Es increíble como intentan darle la connotación que han tenido molestosos virus para Windows (suse, msblast por ejemplo), a unos bichos que sólo ladran, y finalmente no hacen nada

To respond on your own website, enter the URL of your response which should contain a link to this post’s permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post’s URL again. (Find out more about Webmentions.)

Descubre más desde Memoria de Acceso Aleatorio

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo