Microsoft lanza una herramienta para bloquear los ataques de secuestro de carga de DLL
Hace algún tiempo, hubo informes sobre un problema de seguridad que afectó a cerca de 40 aplicaciones diferentes de Windows. Microsoft ha respondido rápidamente a dichos informes de posibles ataques de día cero contra dichos programas de Windows mediante la publicación de una actualización o herramienta para bloquear tales ataques. Sin embargo, Microsoft también aclaró que la falla no está en Windows.
Herramienta para bloquear los ataques de secuestro de carga DLL
Microsoft ha emitido un Aviso de seguridad (2269637) titulado: La carga insegura de la biblioteca podría permitir la ejecución remota de código.
“Microsoft es consciente de que se ha publicado una investigación que detalla un vector de ataque remoto para una clase de vulnerabilidades que afecta la forma en que las aplicaciones cargan bibliotecas externas. Este problema se debe a prácticas de programación inseguras específicas que permiten la llamada "plantación binaria" o "ataques de precarga de DLL". Estas prácticas podrían permitir que un atacante ejecute de forma remota un código arbitrario en el contexto del usuario que ejecuta la aplicación vulnerable cuando el usuario abre un archivo desde una ubicación no confiable ".
Microsoft también ha lanzado una Actualización que bloqueará la carga de DLL desde directorios remotos, evitando así el secuestro de DLL.
Esta actualización introduce una nueva clave de registro CWDIllegalInDllSearch que permite a los usuarios controlar el algoritmo de ruta de búsqueda de DLL. El algoritmo de ruta de búsqueda de DLL es utilizado por la API de LoadLibrary y la API de LoadLibraryEx cuando las DLL se cargan sin especificar una ruta de acceso completa.
Cuando una aplicación carga dinámicamente una DLL sin especificar una ruta completamente calificada, Windows intenta localizar esta DLL buscando a través de un conjunto bien definido de directorios. Estos conjuntos de directorios se conocen como ruta de búsqueda de DLL. Tan pronto como Windows ubica la DLL en un directorio, Windows carga esa DLL. Si Windows no encuentra la DLL en ninguno de los directorios en el orden de búsqueda de DLL, Windows devolverá una falla a la operación de carga de DLL.
Más detalles y enlaces de descarga en KB2264107.