Introducción
Los ordenadores Apple Macintosh se están haciendo cada vez más populares. Sin embargo, los recientes informes sobre sus problemas de seguridad han causado una extensa discusión entre los profesionales de la seguridad. Se acusa a los especialistas que han expresado preocupación sobre el creciente número de vulnerabilidades detectadas en Mac OS X de reaccionar de sobremanera . La otra cara de la moneda es que a los que expresan el punto de vista opuesto, se los acusa de falta de sentido común. Este artículo examina varios aspectos de la evolución reciente de las amenazas para Mac OS X y tiene el objetivo de ayudar a los lectores a entender el debate que se está llevando a cabo: cuán seguros son los Macs hoy y cuán seguros lo serán en el futuro.
Estoy convencido de que los ordenadores con Mac OS X recién comprados son más seguros que los que usan otros sistemas operativos. El modelo de seguridad de Mac OS X, similar al de Unix y Linux, está preconfigurado para proteger al sistema contra amenazas comunes a otras plataformas donde este tipo de configuración no es una norma. Podríamos decir que desde un principio, Mac OS X se diseñó con la seguridad en mente. Sin embargo, a pesar de que este enfoque parece haber cubierto casi todas los defectos de seguridad, es muy peligroso suponer que no existe ninguna vulnerabilidad. Al igual que cualquier otra plataforma, Mac OS X tiene defectos de software. Estos defectos atraen la atención de los usuarios maliciosos, sobre todo si los usuarios comunes piensan que no es necesario protegerse contra las posibles amenazas.
Los componentes dónde las vulnerabilidades identificadas están presentes representan un aspecto digno de atención. Las vulnerabilidades identificadas en los componentes vulnerables a ataques a distancia han aumentado en comparación con el mismo periodo del año pasado. Esto demuestra claramente que los vectores de posibles ataques están recibiendo cada vez más atención.
Estadísticas
Figura 1: Una comparación de la cantidad de vulnerabilidades en MacOS X y productos afines. Primera mitad (enero-mayo) de 2005 y 2006.
Por ejemplo, la cantidad de vulnerabilidades identificadas en el núcleo (kernel) del sistema operativo y componentes afines, es menor que en 2005. No obstante, la cantidad de vulnerabilidades que afectan a Safari y la aplicación Mail -que pueden usarse para realizar ataques vía Internet – ha aumentado. Lo mismo pasa con QuickTime, que fue un tema popular entre los investigadores de seguridad durante la primera mitad de 2006.
El gráfico de arriba incluye una serie de vulnerabilidades encontradas en productos de otras compañías que funcionan en Mac OS X. Esta categoría incluye aplicaciones como las que se instalan automáticamente en el sistema operativo, pero que no son exclusivas de MacOS X. Por ejemplo, durante este periodo se identificaron varias vulnerabilidades en Java VM de Sun, que afectaban a todos los sistemas operativos capaces de ejecutar Sun Java, y no sólo a MacOS X.
Resulta interesante que la cantidad de vulnerabilidades del núcleo de MacOS X (Mach) y los componentes/librerias afines haya disminuido en comparación con 2005. Al mismo tiempo, se han descubierto varias vulnerabilidades críticas. La más popular quizá haya sido el exploit de la contraseña local (un exploit del mismo día) reportada el 03.02.06, que se usó para hackear el sistema de durante el concurso “rm-my-mac”.
Programas maliciosos para Mac
Los programas maliciosos destinados a Mac OS X son relativamente pocos.
La comunidad Mac fue cogida de sorpresa el 13 de febrero de 2006, cuando apareció el primer gusano para Mac OS X. El gusano, bautizado con el nombre de OSX/Leap.A., es un gusano para sistemas de mensajes instantáneos que es capaz de infectar las aplicaciones de MacOS X. Pero, debido a un error en el código del virus, los programas infectados dejan de funcionar.
El gusano se mencionó por primera vez en el foro MacRumors (http://forums.macrumors.com/), el 13 de febrero de 2006 por la noche. El mensaje original decía: “Supuestas imágenes de OS 10.5 Leopard”, en un obvio intento de hacer que los usuarios desprevenidos ejecuten el código malicioso.
El gusano usa la aplicación de mensajes instantáneos “iChat” de Apple para propagarse. Las formas alternativas de penetrar en el sistema incluyen la descarga y ejecución directa del código del gusano por parte del usuario o la ejecución de una aplicación infectada desde una ubicación distante. Como el gusano no es capaz de infectar un sistema de forma automática, también se le puede dar el nombre de “troyano”, lo cual no es del todo correcto. Un troyano es incapaz de reproducirse, mientras de “Leap.a” sí lo es.
El gusano se propaga en forma de un archivo TAR.GZ llamado “latestpics.tgz”. Si el usuario descomprime el archivo (ya sea usando la instrucción “tar” en la línea de comando o pulsando dos veces el archivo en Finder), se le mostrará algo que aparenta ser un archivo JPEG:
Pero en realidad, es un archivo ejecutable PowerPC, como se puede observar en el diálogo “Get Info” de Finder.
El ejecutable “latestpics” es una aplicación para línea de comando y por lo tanto, abre una ventana de terminal cuando se ejecuta.
Algunos informes dicen que en ese momento, si es ejecutada por un usuario normal, el sistema operativo pedirá derechos de administrador. Esto no sucedió durante nuestras pruebas: la ejecución del gusano continuó como si tuviera derechos de administrador. No obstante, al ejecutarse de esta forma, afecta sólo a las aplicaciones para la cuales el usuario tiene derecho de escritura.
Luego, el gusano extrae de su cuerpo un plugin para InputManager llamado “apphook”. Si el usuario actual es un administrador, se copiará el plugin a la carpeta “Library/InputManagers”. Si el usuario actual no es un administrador, se copiará el plugin a la carpeta “Library/InputManagers”. La diferencia entre estas dos operaciones es que los plugins para InputManager de la carpeta “/Library” raíz se cargará en las aplicaciones que ejecuten todos los usuarios, mientras que en el segundo, afectará sólo a las aplicaciones que ejecute el usuario actual.
El plugin “apphook” es el componente del gusano responsable de propagarlo vía sistemas de mensajes instantáneos. Intentará interceptar ciertas funciones de iChat y enviará una copia del gusano a los amigos del usuario, usando el mismo método que “Buddies -> Send File”.
Después de instalar el plugin “apphook”, el código principal del gusano continuará infectando las aplicaciones locales. A continuación, usará “Spotlight” para buscar una lista de las aplicaciones más usadas e intentará infectarlas. El procedimiento de infección es muy simple: Leap reemplaza el contenido del ejecutable con su propio código y guarda el código de la aplicación original en una bifurcación de recursos (resource fork).
Cuando se ejecuta una aplicación infectada, el código principal del gusano también se ejecuta e intenta propagarse de la forma descrita arriba. Leap también intentará ejecutar la aplicación original, pero no lo conseguirá, debido a un error en el código del gusano. Esto significa que las aplicaciones infectadas dejarán de funcionar, lo que es una señal muy obvia de la infección.
Para terminar, parece que el autor del gusano planeaba añadirle una función de propagación por correo electrónico. Pero el código apareció en MacRumor antes de que lo hiciera.
Aparte de corromper las aplicaciones infectadas (algo que parece no haber sido echo a propósito), no hay señales de otros daños que el gusano pueda causar.
El 18 de febrero de 2006, apareció otro gusano para MacOS X. Inqtana se difunde vía Bluetooth se propaga enviando una solicitud Object Exchange (OBEX) Push al equipo víctima potencial. Si el usuario acepta la solicitud, el gusano aprovecha una vulnerabilidad de Bluetooth File and Object Exchange Directory Traversal para obtener acceso a las direcciones que se encuentran fuera del directorio de trabajo de Bluetooth File and Object Exchange.
El gusano deja dos archivos, llamados com.openbundle.plist y com.pwned.plist en el directorio LaunchAgents para garantizar que será lanzado de forma automática cuando el equipo de la víctima se reinicie.
Una vez que el sistema operativo se reinicia, com.openbundle.plist ejecuta el binario principal del gusano Inqtana, que intenta propagarse buscando dispositivos que tengan el sistema Bluetooth activado. Si los encuentra, se enviará a sí mismo a todos los dispositivos que respalden las solicitudes Object Exchange (OBEX) Push.
Más tarde se descubrió que Inqtana había sido escrito por el investigador experto en seguridad Kevin Finisterre, que lo creó como una “prueba de concepto”.
El 21 de febrero, aparecieron dos exploits de “cero días” destinados a MacOS X: Exploit.OSX.Safari.a, descubierto por Michael Lehn y Exploit.OSX.ScriptEx.a, descubierto por Kevin Finisterre (el autor de Inqtana). Ambos exploits recibieron extensiva cobertura en la prensa informática.
Exploit.OSX.Safari es un exploit destinado a Safari, el navegador web de Apple. Debido a algunas características de Safari, es posible crear ciertos tipos de archivos ZIP que, al ser descargados de Internet, se convierten en código ejecutable. Esta vulnerabilidad fue resuelta por la actualización de seguridad Apple Security Update 2006-001.
Exploit.OSX.ScriptEx.a es un exploit para una vulnerabilidad de la aplicación Apple Mail para Mac OS X. Se activa cuando unos datos adjuntos configurados de una forma especial se envían por correo electrónico. La vulnerabilidad en sí es un desborde de buffer que puede ser activado cuando se realiza el análisis sintáctivo del componente Real Name de un archivo MIME Encapsulated Macintosh. La cuidadosa elección del tamaño y contenido del componente Real Name pueden conducir a que se ejecute un código arbitrario, que después puede usarse para instalar en el equipo víctima un troyano u otro tipo de programa malicioso. También puede usarse para obtener el control total del equipo víctima. Este problema se solucionó con la actualización Apple Security Update 2006-002.
El 19 de abril, Tom Ferris, un investigador experto en seguridad, reveló otras vulnerabilidades de “día cero”, que podría permitir a un usuario malicioso hacer colapsar o “secuestrar” el equipo víctima.
Conclusión
En general, los programas maliciosos han evolucionado de una forma enorme estos últimos años. En el pasado, la mayor parte de los autores de código malicioso aspiraban obtener un lugar en los titulares de la prensa. Hoy, están buscando la forma de obtener ganancias financieras. La limitada difusión de Apple en el mercado global de ordenadores personales había protegido a los equipos Mac de la atención de los autores de programas maliciosos. Sin embargo, a medida que los sistemas Apple ganen popularidad, esto empezará a cambiar. Una vez que se alcance la mas crítica, sin lugar a dudas empezarán a aparecer más programas maliciosos. A pesar de que los programas maliciosos como IM-Worm.OSX.Leap.a y Worm.OSX.Inqutana.A y los exploits como Exploit.OSX.Safari.a y Exploit.OSX.Script-Ex fueron todos “pruebas de concepto” que no contenían ninguna carga peligrosa, demostraron que Mac OS X tiene lagunas de seguridad que pueden usarse para poner en peligro el sistema.
Todavía está por verse si las “pruebas de concepto” descritas en este artículo serán usadas para lucrar en un futuro próximo. No obstante, la historia nos muestra que una vez que se encuentran vulnerabilidades, los escritores de programas maliciosos no tardan en aparecer.
Materiales de referencia:
- Lista de actualizaciones de seguridad para MacOS X
- Informe de Kaspersky Lab – “2005: evolución de los programas maliciosos para UNIX, Linux y similares”
- IM-Worm.OSX.Leap.a, una descripción completa en la Enciclopedia de Virus
- Worm.OSX.Inqtana, una descripción completa en la Enciclopedia de Virus
- Tom Ferris
- Michael Lehn
- Kevin Finisterre
- Concurso rm-my-mac
Evolución de los programas maliciosos: las vulnerabilidades de MacOS X en 2005 – 2006