A Microsoft corrigiu silenciosamente uma vulnerabilidade crítica na quarta-feira em seu Malware Protection Engine. A vulnerabilidade foi encontrada no dia 12 de maio pela equipe Project Zero do Google, que disse que um invasor poderia ter criado um executável que, quando processado pelo emulador do Malware Protection Engine, poderia habilitar a execução remota de código.
Ao contrário de um patch de emergência de 9 de maio para o que os pesquisadores do Google chamaram de a pior vulnerabilidade do Windows na memória recente, o bug desta semana foi uma correção silenciosa, disse Tavis Ormandy, pesquisador do Project Zero, que divulgou de forma privada para a Microsoft. O zero day anterior (CVE-2017-0290) também estava no Microsoft Malware Protection Engine, executado na maioria das ofertas de antimalware da Microsoft incluídas no Windows.
“MsMpEng inclui um emulador completo do sistema x86 que é usado para executar quaisquer arquivos não confiáveis que se parecem com executáveis PE. O emulador é executado como NT AUTHORITY\SYSTEM
e não é sandbox“, escreveu Ormandy. “Navegando na lista de APIs do win32 que o emulador suporta, observei ntdll!NtControlChannel
, uma rotina ioctl-like
que permite que o código emulado controle o emulador.”
Isso expôs o mecanismo MsMpEng a uma série de problemas diferentes, como dar aos atacantes a capacidade de realizar vários comandos de controle de entrada/saída.
“O comando 0x0C permite que você analise arbitrary-attacker controlado RegularExpressions para Microsoft GRETA (uma biblioteca abandonada desde o início de 2000). O comando 0x12 permite que você carregue o adicional “microcode” que pode substituir opcodes. Vários comandos permitem alterar parâmetros de execução, definir e ler atributos de digitalização e metadados UFS. Isso parece um vazamento de privacidade, pelo menos, como um invasor pode consultar os atributos de pesquisa que você definir e, em seguida, recuperá-lo através de resultados de digitalização”, escreveu Ormandy.
Tanto a Microsoft quanto o Google não retornaram os pedidos de comentário.
“Esta era potencialmente uma vulnerabilidade extremamente ruim, mas provavelmente não tão fácil de explorar como o zero day anterior da Microsoft, corrigido há apenas duas semanas”, disse Udi Yavo, cofundador e diretor de tecnologia da enSilo, em entrevista à Threatpost.
O fato de que o MsMpEng não é sandbox também é notável, disse Yavo. Informa ainda que a maioria dos aplicativos do Windows, tais como o browser Microsoft Edge são sandbox. Isso significa que um adversário que ataca o Edge teria que explorar uma vulnerabilidade no Edge e, em seguida, escapar do sandbox para causar danos. “O MsMpEng não é um sandbox, ou seja, se você pode explorar uma vulnerabilidade lá, o jogo acabou”, disse Yavo.
Yavo também observa que, embora ambos os bugs estejam ligados ao mesmo mecanismo do MsMpEng, eles exploram diferentes aspectos do serviço. A vulnerabilidade corrigida quinta-feira está ligada especificamente à forma como o emulador processa arquivos, enquanto que a vulnerabilidade anterior estava vinculada ao interpretador JavaScript do MsMpEng.
Ormandy observa outro aspecto único desse bug no Malware Protection Engine da Microsoft. “O trabalho do emulador é emular a CPU do cliente. Mas, estranhamente, a Microsoft deu ao emulador uma instrução extra que permite chamadas de API. Não está claro por que a Microsoft cria instruções especiais para o emulador. Se você acha que isso parece loucura, você não está sozinho”, escreveu ele.
A Microsoft não emitiu um aviso de segurança sobre este patch, como fez para o zero day anterior. Os usuários não precisam tomar nenhuma ação se seus produtos de segurança estiverem configurados como padrão, o que atualizará seus mecanismos e definições automaticamente.
Publicado originalmente no ThreatPost em 28 de maio de 2017.
Este conteúdo foi traduzido com permissão. ThreatPost não é afiliado com este site.
Autor: Tom Spring
Tradução por Tiago Souza
Imagem destacada deste post: Freepik