Algum tempo atrás, houve relatos sobre um problema de segurança que afetou cerca de 40 aplicativos diferentes do Windows. A Microsoft respondeu rapidamente a esses relatórios de possíveis ataques de dia zero contra esses programas do Windows publicando uma atualização ou ferramenta para bloquear essas explorações. No entanto, a Microsoft também esclareceu que a falha não está no Windows.
Ferramenta para bloquear ataques de seqüestro de carga de DLL
A Microsoft emitiu um Aviso de Segurança (2269637) intitulado, Carregamento de Biblioteca Insegura Poderia Permitir Execução Remota de Código.
“Microsoft is aware that research has been published detailing a remote attack vector for a class of vulnerabilities that affects how applications load external libraries. This issue is caused by specific insecure programming practices that allow so-called “binary planting” or “DLL preloading attacks”. These practices could allow an attacker to remotely execute arbitrary code in the context of the user running the vulnerable application when the user opens a file from an untrusted location.”
A Microsoft também lançou uma atualização que bloqueará o carregamento de DLLs de diretórios remotos, evitando assim o seqüestro de DLL.
Esta atualização introduz uma nova chave de registro CWDIllegalInDllSearch que permite aos usuários controlar o algoritmo de caminho de pesquisa da DLL. O algoritmo de caminho de pesquisa de DLL é usado pela API LoadLibrary e pela API LoadLibraryEx quando as DLLs são carregadas sem especificar um caminho totalmente qualificado.
Quando um aplicativo carrega dinamicamente uma DLL sem especificar um caminho completo, o Windows tenta localizar essa DLL pesquisando por meio de um conjunto bem definido de diretórios. Esses conjuntos de diretórios são conhecidos como caminho de pesquisa da DLL. Assim que o Windows localiza a DLL em um diretório, o Windows carrega essa DLL. Se o Windows não encontrar a DLL em nenhum dos diretórios na ordem de pesquisa da DLL, o Windows retornará uma falha para a operação de carregamento da DLL.
Mais detalhes e links para download em KB2264107.