O ataque KRACK explora uma fragilidade no handshake do protocolo WPA2 (Wi-Fi Protected Access II), que é o processo usado para estabelecer uma chave de criptografia entre o dispositivo e o access point, e assim permite criptografar o tráfego na rede Wireless.
O ataque explora o handshake e a negociação de chaves no momento em que um dispositivo se conecta no ponto de acesso da rede, e consegue forçar o cliente a reutilizar uma chave de sessão mais antiga. Com isso, a criptografia usada pelo padrão WPA2 fica enfraquecida e o atacante tem acesso ao tráfego de rede:
"Decryption of packets is possible because a key reinstallation attack causes the transmit nonces (sometimes also called packet numbers or initialization vectors) to be reset to zero. As a result, the same encryption key is used with nonce values that have already been used in the past".O handshake (veja abaixo) acontece logo no início de uma conexão a uma rede Wi-Fi, quando um cliente quer se conectar a uma rede wireless protegida. O handshake de 4 vias é usado para confirmar que o cliente e o access point possuem as credenciais corretas (por exemplo, a senha pré-compartilhada da rede que utilizamos na maioria dos casos) e também negocia a chave de criptografia que será usada para criptografar todo o tráfego subseqüente.
Há um vídeo no Youtube mostrando o ataque em ação, contra um smartphone Android:
No vídeo acima, os pesquisadores levantam um access point falso, com o mesmo nome da rede da vítima (mas em outro canal) e forçam o dispositivo a se conectar no access point falso, para poderem capturar os pacotes da rede entre a vítima e o access pointo verdadeiro, fazendo um ataque "Man in the Middle" (MITH). Neste momento, eles podem manipular mensagens para o cliente e atacar o processo de handshake.
Portanto, o ataque KRACK exige que o atacante tenha acesso local na rede wireless, levante um hotspot falso, estabeleça uma conexão Man-in-the-Middle e ataque o handshake do WPA de cada dispositivo conectado em sua rede (se você tiver 10 computadores, tem que realizar o ataque 10 vezes). Isso não é complexo e em breve teremos ferramentas para fazer isso de forma automatizada. E não e tão difícil ter acesso a uma rede wireless, pense num cara numa van ao lado do seu escritório ou, mais fácil, um computador da empresa com malware.
O KRACK permite que os atacantes manipulem a chave de criptografia utilizada na rede e, assim, desencriptem os pacotes trafegando pela rede Wi-Fi. A senha da rede Wi-Fi não é exposta. Mesmo assim, o ataque permite capturar todos os pacotes de rede, e assim ter acesso a todas as comunicações dos usuários (exceto acessos criptografados, como SSL, VPN, SSH, etc), além de injetar pacotes na rede wireless da vítima.
Embora haja notícias de fabricantes trabalhando em correções para o ataque, também há quem diga que o problema é bem complexo pois a fragilidade reside no próprio padrão Wi-Fi, e não nas implementações ou em qualquer produto específico. Assim, qualquer implementação existente do WPA2 provavelmente é afetada, e a lista de equipamentos vulneráveis é grande: Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys, etc.
Segundo os pesquisadores, esse ataque é excepcionalmente devastador contra equipamentos rodando Linux e Android versão 6.0 ou superior, pois eles podem ser enganados para reinstalar uma chave de criptografia com valor totalmente zero.
O assustador, neste ataque, é que o WPA2 é o padrão atual de segurança para as redes wireless, e é amplamente utilizado por praticamente todo mundo.
Já estão surgindo correções e assinaturas contra o ataque:
A Wi-Fi Alliance criou uma ferramenta para detectar se o seu dispositivo está vulnerável ao ataque KRACK, mas ela está disponível apenas para menbros da Wi-Fi Alliance :(
Para saber mais:
- Pesquisa original: "Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2"
- Site https://www.krackattacks.com
- Aviso do CERT: "CERT/CC Reports WPA2 Vulnerabilities" (VU#228519)
- Hotsite da Wi-Fi Alliance
- "KRACK For Dummies" no site Motherboard
- Ótimo paper do Noinson Caio com o passo a passo da instalação de um ambiente para testar o ataque KRACK
- CVEs relacionados:
- CVE-2017-13077: Reinstallation of the pairwise encryption key (PTK-TK) in the four-way handshake
- CVE-2017-13078: Reinstallation of the group key (GTK) in the four-way handshake
- CVE-2017-13079: Reinstallation of the integrity group key (IGTK) in the four-way handshake
- CVE-2017-13080: Reinstallation of the group key (GTK) in the group key handshake
- CVE-2017-13081: Reinstallation of the integrity group key (IGTK) in the group key handshake
- CVE-2017-13082: Accepting a retransmitted Fast BSS Transition (FT) Reassociation Request and reinstalling the pairwise encryption key (PTK-TK) while processing it.
- CVE-2017-13084: Reinstallation of the STK key in the PeerKey handshake.
- CVE-2017-13086: reinstallation of the Tunneled Direct-Link Setup (TDLS) PeerKey (TPK) key in the TDLS handshake
- CVE-2017-13087: reinstallation of the group key (GTK) while processing a Wireless Network Management (WNM) Sleep Mode Response frame
- CVE-2017-13088: reinstallation of the integrity group key (IGTK) while processing a Wireless Network Management (WNM) Sleep Mode Response frame.
PS: Assim que tiver mais notícias irei atualizar esse post.
PS/2: Post atualizado em 15/10, 1am
Um comentário:
Já há uma luz no fim do túnel https://www.bleepingcomputer.com/news/security/list-of-firmware-and-driver-updates-for-krack-wpa2-vulnerability/
Postar um comentário