(Por El Microsaurio) Ese es el nombre que le pusieron: DLL hijacking. Así que te lo traduje de la manera más aproximada. Pero quienes lo calificaron con mayor precisión fueron Microsoft y los descubridores del problema, dos académicos desde USA. ¿Resultado? Otra forma de entrar en tu compu sin permiso… Otro fin de semana sin descanso.
La cosa comenzó cuando dos universitarios que trabajan en EE UU pero que me parece que no son norteamericanos, Zhendong Su y Taeho Kwon, de la Univ. de California (Davis) presentaron un monono péiper el mes pasado, en el cual explicaron las consecuencias de una acción de Windows, la carga insegura de DLL. En criollo, existe la forma de “plantar” una DLL que contenga malware en una PC, y luego, aprovechando que el sistema operativo, en determinadas condiciones, levanta la primera DLL que encuentra dentro de cierto subdirectorio, se “convence” al sistema operativo para que levante… justo la que el atacante quiere.
De paso te comento que ese problema fue informado por uno de los investigadores a Microsoft el año pasado, para agosto (¿¿¿Y entonces???). El tema saltó este mes porque varios investigadores no académicos, sino del palo seguridad, se dedicaron a rascar más en el asunto, ocasionado por cómo Windows carga una DLL (en ciertos casos) actuando como un autómata inocentón, tirando a ganso.
Otro dato interesante: esta semana Microsoft publicó la Nota de Seguridad 2269637, que podrás leer acá, donde afirman que “…las causas son prácticas de programación inseguras que permiten los así llamados “ataques de precarga de DLL” o también “plantado de binarios” (…) estas prácticas podrían permitir que un atacante ejecute código a voluntad, de manera remota (…) cuando el usuario abre un archivo (…) el tema es causado por aplicaciones que determinan un camino insuficientemente calificado mientras cargan una biblioteca externa…”
La explicación técnica más clara y precisa está en este post del MSRC, debajo del subtítulo “Technical background”. No la sauriotraduzco acá por cuestiones de espacio. Si para la semana que viene no se publicó en español en algún website de la empresa, bueno, la ponemos.
Ahora pasemos a las conclusiones:
- Hay una característica “peligrosa” en Windows: si no se le especifica de manera detallada el camino de una DLL, en una de esas el sistema carga otra… la que el atacante dejó a mano.
- Si el programador escribió en su aplicación un camino “no absoluto” para la DLL y no previó la posibilidad de que el sistema operativo agarre para otro lado justo ahí, eso es un defecto de programación. Chas-chas en la cola.
Entonces seguí rastreando el tema.
1) En el péiper de los orientales académicos se menciona la posibilidad de unas 1700 DLL “instancias de carga dinámica insegura”, de las cuales 786 están bajo Windows XP y 982 bajo Vista, según enumeró aquí un ilustrado plumífero, don Stuart Johnson, de Security Planet.
2) Microsoft publicó una herramienta para “tocar” el Registry y solucionar el problema, agregando una Clave llamada CWDIllegalInDllSearch. Las instrucciones están en esta página web. Recomiendo leerlas catorce veces, encerrándose en el baño si es preciso, antes de tocar nada.
3) Como has leído, la empresa de Redmond afirmó que esto es el resultado de una “práctica de programación insegura”. Pues además de un montón de productos de “terceros”, como Photoshop o iTunes for Windows, según Matt, de Attack Vector, este problema también aparece en (suenen trompetas y chirimías):
Outlook Express 6, en dos DLL, una de la Agenda y otra del cliente de correo. Ah, la Agenda está presente en otros sistemas de Microsoft que no ofrecen Outlook Express; Windows Live Email; Power Point 2010…
En el pedeefe de los académicos encontré una interesante Tabla IV, en la página 10, donde muestran la “prevalencia de carga insegura de DLL” en aplicaciones de Google y navegadores como Firefox, Chrome, Safari, Opera; Adobe Reader y Foxit Reader; Skype o Realplayer… además de componentes de Office 2007, Internet Explorer 8, Windows Media Player…
¿Prácticas de programación inseguras…?¿Y por casa cómo andamos?
Observación 1: desde Redmond dicen que si hay alguna aplicación de ellos con la falla, se harán cargo. Bien.
Observación 2: nadie ha denunciado, hasta ahora, un ataque de este tipo. ROTFL.
En fin, parece que hay promesa de parche. Mientras tanto… crucen los dedos.