A descoberta de vulnerabilidades semelhantes ao KrØØk
KrØØk (CVE-2019-15126) é uma vulnerabilidade nos chips Wi-Fi Broadcom e Cypress que permite a descriptografia não autorizada de parte do tráfego WPA2 criptografado. Especificamente, a falha faz com que os dados da rede sem fio sejam criptografados com uma chave de login WPA2 composta apenas por zeros, em vez da chave de login adequada que é estabelecida anteriormente no 4-way handshake. Esse problema ocorre em chips Wi-Fi Broadcom e Cypress vulneráveis após o desacoplamento dos chips.
A exploração do KrØØk permite que os atacantes interceptem e descriptografem dados (potencialmente sensíveis) de interesse e, em comparação com outras técnicas anti-Wi-Fi comumente usadas, a exploração do KrØØk tem uma vantagem significativa: embora eles estejam dentro do alcance do sinal do Wi-Fi, os atacantes não precisam ser autenticados e associados à WLAN. Em outras palavras, eles não precisam saber a senha do Wi-Fi.
Trabalhamos em conjunto com os fabricantes afetados (assim como com o ICASI) por meio de um processo de divulgação responsável antes de divulgar publicamente a falha na Conferência RSA, em fevereiro de 2020. Isso chamou a atenção de muitos outros fornecedores de chips e dispositivos, alguns dos quais descobriram que também tinham produtos vulneráveis e, desde então, lançaram patches para corrigir o problema. Disponibilizamos uma lista de conteúdo de todos os dispositivos afetados atualizada pelos fornecedores neste site[1].
Embora não tenhamos observado a vulnerabilidade KrØØk em outros chips Wi-Fi além dos Broadcom e Cypress, encontramos vulnerabilidades semelhantes que afetam chips Wi-FI de outros fornecedores. Essa descoberta foi apresentada com exclusividade na Black Hat USA 2020 e iremos descrevê-las a seguir.
Qualcomm – CVE-2020-3702
Um dos chips que examinamos, além do Broadcom e do Cypress, foi o da Qualcomm. A vulnerabilidade que descobrimos (CVE-2020-3702) também é desencadeada pelo desacoplamento do chip Wi-FI e permite a divulgação de dados indesejados ao transmitir informações não criptografados em vez de frames de dados criptografados - muito semelhante ao KrØØk. No entanto, a principal diferença é que, em vez de serem criptografados com uma chave de login totalmente composta por zeros, os dados não são criptografados (mesmo que as flags de criptografia estejam configuradas).
Os dispositivos que testamos e descobrimos como vulneráveis são o D-Link DCH-G020 Smart Home Hub e o Turris Omnia. Obviamente, quaisquer outros dispositivos não parcheados que usem os chips vulneráveis da Qualcomm também estarão vulneráveis.
Após a divulgação dos resultados da nossa pesquisa, a Qualcomm foi muito cooperativa e em julho lançou um patch para o drive usado em seus produtos com suporte oficial. No entanto, nem todos os dispositivos com chips Wi-Fi Qualcomm usam esse drive (drivers Linux de código aberto são usados em alguns casos), como o driver upstream "ath9k", por exemplo. Como não foi desenvolvido pela Qualcomm, não sabemos (até o momento de produção deste post) se esse drive receberá um patch da Qualcomm ou da comunidade de código aberto.
MediaTek e Microsoft Azure Sphere
Também observamos a existência de uma vulnerabilidade semelhante (ou seja, falta de criptografia) em alguns chips Wi-Fi da MediaTek.
Um dos dispositivos afetados é o roteador ASUS RT-AC52U. Outro é o kit de desenvolvimento do Azure Sphere da Microsoft, que analisamos como parte de nossa parceria com o Azure Sphere Security Research Challenge. O Azure Sphere usa o microcontrolador MT3620 da MediaTek e se destina a uma ampla variedade de aplicativos IoT, incluindo casas inteligentes, comércios, indústrias, entre outros.
De acordo com a MediaTek, os patches de software que corrigem a falha foram lançados durante março e abril de 2020. A correção para o MT3620 foi incluída na versão 20.07 do Azure Sphere OS, lançado em julho de 2020.
Lançamento de script para testes
Como já se passaram mais de cinco meses desde que divulgamos publicamente a vulnerabilidade KrØØk, e vários pesquisadores independentes publicaram várias provas de conceito, decidimos lançar o script que temos usado para testar se os dispositivos são vulneráveis ao KrØØk. Também incluímos testes para as novas variantes descritas neste post. Este script pode ser usado por fornecedores de dispositivos ou pesquisadores de segurança para verificar se dispositivos específicos foram parcheados e não são mais vulneráveis.
Um agradecimento especial ao nosso colega Martin Kalužník, que também contribuiu para a realização desta pesquisa.
[1] Caso tenha um alerta para a lista de conteúdo de todos os dispositivos afetados, entre em contato conosco através do e-mail threatintel[at]eset.com.