Escrito por Miguel Regala
Prefácio
Em Dezembro de 2011, dois investigadores de segurança, Stefan Viehböck [1] e Craig Heffner [2], investigando independentemente a implementação e segurança do protocolo WPS, descobriram que este é susceptível a um ataque brute-force que resulta na obtenção da chave da rede wireless e de todas as outras configurações.
A vulnerabilidade é descrita pela CERT/CC como VU#723755 [3].
WPS – Wi-Fi Protected Setup
Com a proliferação de dispositivos wireless e cada vez mais utilizadores a possuírem um setup que inclui uma rede doméstica sem fios, a Wi-Fi Alliance [4] sentiu necessidade de criar um serviço que ajudasse os utilizadores com menos conhecimentos, a facilmente ligar os seus novos dispositivos à rede.
Posto de uma forma simples, o WPS configura automaticamente a rede, fornecendo ao novo dispositivo da rede todas as características e configuração necessárias.
Os modos de operação mais comuns são os seguintes:
- Push-button: o utilizador pressiona um botão no router, ligando-o em modo monitor, em que este procura activamente por dispositivos wireless que estejam a procura de rede e os regista (adiciona-os na lista de dispositivos conhecidos e trusted; de seguida fornece as configurações da rede over-the-air para o dispositivo a ser configurado).
- Router PIN: os routers que suportam o standard WPS tem um PIN por default, que pode ser inserido no dispositivo que ser quer ligar para efectuar o pedido WPS.
- Device PIN: semelhante ao anterior, neste caso o PIN corresponde ao dispositivo que quer se ligar a rede; este PIN é inserido na lista de dispositivos confiáveis usando a interface do router.
A vulnerabilidade
O PIN do router é um conjunto de 8 dígitos, em que o último é um checksum dos primeiros sete. Existe assim um total de 10^7 combinações possíveis ou 10.000.000. O protocolo valida separadamente a primeira metade da segunda metade do número: isto é, em vez de 10^7 combinações possíveis ficamos com 10^4 + 10^3 + 0, um total 11.000.
O problema surge quando o router responde com uma mensagem EAP-NACK quando o PIN é incorrecto: combinado com o facto de a maior parte dos routers não bloquear as sucessivas tentativas com PINs errados, pode realizar-se um ataque brute-force para testar todas os PINs possíveis.
Nos testes que fiz, consegui obter uma média de 5 segundos por tentativa, em que no máximo o ataque duraria 15 horas. Isto é um grande melhoramento em relação a outros tipos de ataque com base em dicionários e rainbow tables, em que nem sequer é garantido que se recupere a chave.
Foi estimado que 95% dos routers tem o WPS activo por default, o que torna virtualmente todas as redes susceptíveis a este ataque.
Melhorando o ataque
Embora a maior parte dos AP’s não bloqueiem as tentativas sucessivas de validação com PINs errados, aqueles que o fazem podem ser facilmente contornados mudando continuamente o MAC Address do dispositivo atacante.
Já se chegou também a conclusão que um ataque distribuído não traz vantagens, dado que o factor limitador é o CPU do AP.
Protegendo da vulnerabilidade
A solução óbvia para o problema é desligar o WPS no router. A maior parte dos routers fornecem uma opção na sua interface web para o fazer.
Utilizadores MEO
Se for utilizador MEO e o modelo do seu router for da série Thomson TG 784 ou TG 787 então é vulnerável ao ataque.
Solução 1: Ligar por telnet ao router.
telnet 192.168.1.254
username: microuser
password:
wireless wps config ssid_id = 0 radio_id = 0 state = disabled
wireless wps config
quit
Devem colocar a password de acesso correcta para conseguirem aceder ao router e proceder às alterações necessárias. Na configuração deve mostrar “state [down]“.
Solução 2:
Fazer log in na interface web ( http://192.168.1.254 ) e ir a Rede Doméstica -> Interfaces -> WLAN -> Configurar e em “permitir novos dispositivos” escolher a opção “novas estações não são permitidas”.
A título de curiosidade, se o ataque estiver a ser efectuado o WLAN LED, na frente do router irá piscar a vermelho.
Créditos
[1] [2] Páginas do autores [3] CERT Vulnerability [4] Wi-Fi Alliance [5] Original find [6] Whitepaper [7] [8] Further reading