7 pontos por mastotron 2025-04-21 | 5 comentários | Compartilhar no WhatsApp
  • Desde 11 de março de 2025, inúmeros usuários de PC no mundo todo começaram a receber alertas de malware do Windows Defender (o antivírus integrado ao Windows).
  • A origem desses alertas estava, na maioria dos casos, em softwares de controle de PC, incluindo Razer Synapse, SteelSeries Engine e MSI Afterburner.
  • Foi revelado que todos esses softwares tinham em comum o uso de uma biblioteca chamada WinRing0.

O modelo de segurança dos sistemas operacionais modernos

  • Para proteger o sistema, os sistemas operacionais adotam uma estrutura de "protection ring". Existem os níveis Ring 0 a 3, mas os sistemas modernos usam apenas o 0 e o 3.
  • O Ring 0 é a área do kernel e permite acesso direto e irrestrito a todas as partes do computador, como hardware, memória e registradores da CPU.
  • O Ring 3 é a área de aplicações, onde rodam todos os programas comuns, exceto o software de sistema.
  • A estrutura é feita de forma que os rings externos não consigam ver os internos, e para acessar a área do kernel a partir da área de aplicações é necessário um driver de dispositivo.

A situação atual do mercado de periféricos para PC

  • Com a concorrência cada vez mais intensa no mercado de periféricos para PC, os fabricantes passaram a oferecer com frequência softwares dedicados para diferenciar funcionalidades.
    • No caso de um cooler de CPU, por exemplo, é possível controlar diretamente a velocidade da ventoinha de acordo com a temperatura do processador, e isso pode ser configurado por software.
  • Muitos hardwares são projetados para se comunicar com o sistema operacional por meio do protocolo SMBus (System Management Bus).
  • Mas não é possível acessar o SMBus no nível da aplicação; isso só pode ser feito por meio de um driver de dispositivo.

Windows Driver Model (WDM) e WinRing0

  • Para controlar hardware via SMBus, é necessário um driver em modo kernel executando no Ring 0.
  • Como drivers em modo kernel exigem alto nível de segurança, eles precisam ter assinatura digital EV (Extended Validation), além de passar por revisão direta da Microsoft antes da assinatura do driver.
  • Como esse processo é complexo e caro, fabricantes de periféricos começaram a contorná-lo usando o WinRing0.
  • WinRing0 é um driver e biblioteca desenvolvidos em 2007 por Miyazaki Noriyuki, criador do CrystalDiskMark, com a função de expor à camada de aplicação várias partes que existem no Ring 0.
  • Fabricantes de periféricos passaram a desenvolver seus softwares de forma a acessar diretamente o Ring 0 a partir da camada de aplicação via WinRing0 para controlar o hardware.
  • O WinRing0 parece ter sido assinado digitalmente por meio de cross-signing antes do endurecimento do processo de certificação de drivers do Windows.
  • O autor declarou que criou o WinRing0 como uma espécie de projeto experimental para explorar programação de baixo nível, mas, à medida que ele passou a ser usado em produtos reais, interrompeu o desenvolvimento em 2010 e recomendou que ele não fosse mais utilizado.
  • No entanto, por ser open source, ele continuou sendo distribuído e usado em vários lugares mesmo depois de o desenvolvedor deixar de mantê-lo.

As ameaças de segurança do WinRing0

  • Como o objetivo do WinRing0 é expor na camada de aplicação áreas que deveriam ser gerenciadas pelo kernel, isso significa, na prática, neutralizar a segurança fundamental do sistema operacional, e preocupações sobre isso vêm sendo levantadas há tempos.
  • Vários CVEs foram registrados em relação a isso (CVE-2019-6333, CVE-2020-14979, CVE-2021-44901).
  • Também foram encontrados casos de ataques reais, como o malware "SteelFox", conhecido por roubar números de cartão de crédito, histórico de navegação e cookies do navegador, que explorava esse componente.
  • Não são afetados apenas os softwares que usam WinRing0 diretamente, mas também inúmeros programas que dependem indiretamente dele por meio de OpenHardwareMonitor (https://github.com/openhardwaremonitor/openhardwaremonitor) e LibreHardwareMonitor (https://github.com/LibreHardwareMonitor/LibreHardwareMonitor).
    • Como o software Touchpoint Analytics da HP usava OpenHardwareMonitor, todos os notebooks HP vendidos no mercado à época, em 2019, foram afetados.
  • Em 11 de março de 2025, a Microsoft tomou a medida de bloquear todos os drivers WinRing0.

A resposta dos fabricantes

  • As preocupações com as vulnerabilidades de segurança do WinRing0 vêm sendo levantadas há muito tempo, e correções já haviam sido feitas em relação a isso.
    • No entanto, para distribuir drivers atualizados, é necessário passar pelo processo de assinatura digital, o que tem impedido a distribuição dos patches.
    • Além disso, há críticas de que o conteúdo desses patches se limita basicamente a fazer com que o driver só possa ser acessado com privilégios de administrador, sem resolver de fato a vulnerabilidade de segurança na raiz.
  • Razer e SignalRGB distribuíram atualizações que removem a dependência do WinRing0.
  • Alguns softwares, como o CapFrameX, orientam os usuários a adicionar esses programas à lista de exceções do Windows Defender.
  • A iBuyPower, fabricante do Hyte Nexus, afirmou que pretende conduzir diretamente o processo de assinatura digital de uma versão corrigida do WinRing0 para distribuí-la, mas disse que não recebeu nenhuma resposta relevante da Microsoft.
  • A Steelseries removeu do software a função de monitoramento do sistema.

Outros pontos em debate

  • Embora o WinRing0 seja um software inerentemente arriscado, há quem manifeste preocupação, especialmente entre desenvolvedores de apps de terceiros, por não haver substitutos.
    • Apps de terceiros como Fan Control e OpenRGB, por exemplo, não têm outra forma de se comunicar com o hardware sem o WinRing0.
    • Isso se deve ao fato de que o WinRing0 é um caso raro de software open source que ainda por cima já vem assinado.
  • Também há opiniões sobre o peso do processo de certificação de drivers do Windows.
    • A assinatura EV é cara e precisa ser renovada periodicamente, o que gera esse ônus.

5 comentários

 
huiya 2025-04-22

Antigamente, cheguei a trabalhar em uma empresa de software de segurança de documentos que usava drivers de kernel, e ainda me lembro de como a empresa inteira se mobilizou para conseguir aquela certificação.

 
bungker 2025-04-22

Já testei isso antigamente, e eles exigiam um formato em que você comprava só um certificado EV, assinava o módulo e enviava para a MS. Na hora de comprar o certificado EV, eles verificam a empresa, então para uma pessoa física distribuir um driver acaba sendo bem pesado, aff

 
regentag 2025-04-22

Mesmo que não seja necessariamente um driver, o custo de um certificado EV ainda pesa para pessoas físicas.
O MS Defender SmartScreen está prejudicando desenvolvedores independentes

 
ndrgrd 2025-04-21

Não é de hoje que alguns fabricantes de HID fazem um software completamente porco.

 
savvykang 2025-04-22

Parece que o setor de dispositivos de áudio também é parecido. Há um programa de efeitos sonoros incluído nos notebooks Dell (Waves MaxxAudio), mas nem dá para desativar os efeitos, e se você apagar o programa o som para de sair. Só dá para contornar isso instalando o driver original da Realtek.