Juro solenemente que meu driver não é bom: caçando malware assinado por atestado

blog

LarLar / blog / Juro solenemente que meu driver não é bom: caçando malware assinado por atestado

Jul 14, 2023

Juro solenemente que meu driver não é bom: caçando malware assinado por atestado

Durante uma recente investigação de resposta a incidentes, a Mandiant descobriu um driver malicioso usado para encerrar processos selecionados em sistemas Windows. Neste caso, o driver foi utilizado na tentativa de

Durante uma recente investigação de resposta a incidentes, a Mandiant descobriu um driver malicioso usado para encerrar processos selecionados em sistemas Windows. Nesse caso, o driver foi usado em uma tentativa de encerrar o agente Endpoint Detection and Response (EDR) no endpoint. A Mandiant rastreia o driver malicioso e seu carregador como POORTRY e STONESTOP respectivamente. Logo após a descoberta inicial, a Mandiant observou um exemplo de driver POORTRY assinado com uma assinatura Authenticode de compatibilidade de hardware do Microsoft Windows. A análise cuidadosa dos metadados Authenticode do driver levou a uma investigação mais ampla sobre drivers maliciosos assinados por meio do Programa de Compatibilidade de Hardware do Windows. A investigação encontrou um problema mais amplo:

Esta pesquisa está sendo divulgada junto com uma postagem no blog de nossos colegas do SentinelOne.

Relacionamentos são construídos com base na confiança. O mesmo se aplica à relação que temos com o software em que confiamos quando usamos nossos computadores todos os dias; confio na execução deste programa e por quê? O software pode ser muito opaco para os usuários finais; quando afirma ser da Empresa X, que mecanismos existem para verificar a confiabilidade do software?

[Música de saída da fila de John Cena.]

A assinatura do código entrou no ringue.

A assinatura de código é um meio de garantir a integridade e autenticidade de um determinado arquivo. Os fornecedores de software obtêm certificados usados ​​para assinatura de código de autoridades de certificação (CA) confiáveis, que cumprem os padrões estabelecidos pelo CA/Browser Forum e pelo CA Security Council. Estas diretrizes detalham os requisitos, que incluem a verificação da existência legal e da identidade da empresa, e de que o solicitante do certificado está autorizado a agir em nome do fornecedor de software que afirma representar.

Este certificado é então usado para assinar o software e fornecer um nível de confiança entre o software e o sistema operacional. As políticas de aplicação de assinatura de código diferem de acordo com o sistema operacional e o tipo de arquivo, desde apenas permitir a execução de código assinado até minimizar avisos de segurança para execução de código assinado, até servir puramente como uma assinatura digital denotando a autenticidade de um aplicativo.

A implementação de assinatura de código da Microsoft para binários do Windows é conhecida como Authenticode. O Authenticode possui vários recursos específicos para drivers e pacotes de drivers e auxilia os fornecedores de hardware a assinarem seus drivers corretamente por meio do Programa de Compatibilidade de Hardware do Windows.

“O Programa de Compatibilidade de Hardware do Windows foi projetado para ajudar sua empresa a fornecer sistemas, software e produtos de hardware compatíveis com o Windows e executados de maneira confiável no Windows 10, Windows 11 e Windows Server 2022. O programa também fornece orientação para desenvolver, testar e distribuir drivers . Usando o painel do Windows Hardware Dev Center, você pode gerenciar envios, monitorar o desempenho do seu dispositivo ou aplicativo, revisar a telemetria e muito mais.”

Existem várias fases para trabalhar no processo do Programa de Compatibilidade de Hardware do Windows.

Para operabilidade no Windows 10 e posterior, os drivers podem ser enviados à Microsoft paraassinatura de atestado.

Neste processo de assinatura de atestado, as assinaturas digitais são usadas para verificar a integridade dos pacotes de driver enviados e para verificar a identidade do editor de software que forneceu os pacotes de driver. Este processo exige que a organização remetente assine seu pacote de driver com um certificado de Validação Estendida (EV), que possui requisitos de identificação aprimorados em relação a outros certificados de assinatura de código e deve usar algoritmos de criptografia mais fortes. Estes certificados EV são oferecidos por um círculo menor de Autoridades de Certificação que concordaram com requisitos de auditoria aprimorados.

Como etapa adicional, os fornecedores podem enviar seus drivers para testes do Hardware Lab Kit (HLK) para se tornarem certificados pelo Windows. Quando um driver recebe assinatura de atestado, ele não é certificado pelo Windows. Uma assinatura de atestado da Microsoft indica que o driver pode ser confiável para o Windows, mas como o driver não foi testado no HLK Studio, não há garantias sobre compatibilidade, funcionalidade e assim por diante.

3 and/p>