Postagem em destaque

Como iniciar a sua carreira de Segurança da Informação?

Planejamento para se tornar um Analista de Segurança da Informação. Monte o Seu. Após um pouco de pesquisa sobre o tema e conversad...

Vulnerabilidade no WPS: Fique de olho


Tradicionalmente, ganhar acesso não autorizado a uma rede com o WPA, especialmente no caso do WPA2 é difícil e demorado, já que é necessário descobrir a chave usando um ataque de força bruta. Chaves curtas podem ser descobertas em alguns dias usando um processador rápido, ou uma boa GPU, mas chaves longas e complexas, especialmente as com 12 dígitos ou mais são quase impossíveis de serem descobertas. Tudo mudou com o descobrimento de uma falha grosseira de segurança no protocolo WPS, que é suportado pela maioria dos roteadores atuais.

O WPS oferece uma forma simples de configuração para redes Wireless. O roteador inclui um PIN de 8 dígitos, geralmente informado em uma etiqueta na parte inferior, permitindo a conexão de qualquer cliente onde este PIN seja informado. Outros vão além oferecendo também um botão de conexão, que deve ser pressionado no roteador para autorizar a conexão de um novo cliente. A ideia do WPS é que este é um padrão de segurança aceitável para uma rede doméstica, já que se alguém tem acesso físico ao roteador, para ver o PIN ou pressionar o botão, ele provavelmente está autorizado a acessar a rede de qualquer forma.

Desde o início, WPS parecia ser uma brecha esperando para ser explorada, mas a facilidade de configuração foi suficiente para reduzir bastante as chamadas de suporte e devoluções de produtos, o que foi suficiente para convencer quase todos os principais fabricantes a incluírem a tecnologia em seus roteadores domésticos. Eventualmente, a bomba explodiu, dando origem à maior brecha de segurança em redes Wi-Fi desde o WEP.

O WPS foi sempre vulnerável a ataques de força bruta, já que um PIN de apenas 8 caracteres, contendo apenas números não oferece uma complexidade muito grande. Em teoria, o protocolo deveria oferecer um sistema se segurança para bloquear clientes depois de algumas tentativas incorretas, mas na prática poucos fabricantes implementaram bloqueios efetivos, deixando a grande maioria dos roteadores do mercado vulneráveis. O único obstáculo é o fato de que para cada tentativa o cliente precisa esperar a resposta do roteador, o que limita o número de tentativas por minuto a cerca de 20 a 40, fazendo com que a quebra de uma chave de 8 dígitos demorasse anos.

Isso mudou com uma brecha tornada pública em 27/12/2011. A forma como o roteador responde às tentativas mal-sucedidas de conexão, enviando um pacote EAP-NACK permite que o atacante descubra se os 4 primeiros dígitos do PIN estão corretos. Para piorar, o último dígito do PIN é um checksum, que pode ser facilmente calculado uma vez que os 7 primeiros dígitos são conhecidos. Com isso, o atacante precisa de um número de tentativas suficiente para descobrir os 4 primeiros dígitos, gerar uma tabela com as possibilidades possíveis para os 3 últimos dígitos e mais o checksum (uma vez que o checksum é a soma dos 7 primeiros dígitos) e realizar uma última rodada de tentativas até encontrar o PIN correto. Com isso, o número de possibilidades cai de 1 bilhão para apenas 11.000 tentativas, que podem ser esgotadas em poucas horas.

Diferente do SSID e da chave WPA, o PIN normalmente não pode ser alterado pelo usuário. Uma vez o atacante obtém acesso à rede, ele continuará conseguindo se conectar, por mais que o dono tente alterar a chave de acesso ou mesmo o SSID da rede. Na maioria dos aparelhos, o PIN pode ser descoberto em apenas 4 a 10 horas, colocando um potencial atacante a apenas uma madrugada de distância da sua rede.

Diferente do WEP, o WPA não permite que uma vez dentro da rede você possa escutar as conexões dos outros clientes, já que cada um utiliza um canal encriptado particular. Entretanto, isso não impede que o atacante possa invadir servidores, roteadores ou as próprias estações para obter assim acesso a dados e outras informações.

A primeira ferramenta para explorar a brecha é o Reaver, publicado pela Tactical Network Solutions. Ele possui uma versão open-source gratuita e também uma versão premium, com direito a suporte e uma interface web de controle. Não apenas ele é capaz de descobrir o PIN de acesso, como também a chave WPA/WPA2 (independentemente da complexidade) e o SSID da rede a partir do endereço MAC do roteador.  No caso de roteadores que permitem definir várias chaves WPA, o ataque permite descobrir todas as chaves de uma só vez.

A versão open-source está disponível no http://code.google.com/p/reaver-wps/. Para instalar a partir do código, você precisa apenas dos compiladores básicos e dos pacotes libpcap-dev (libpcap0.8-dev no Squeeze) e libsqlite3-dev. A instalação é feita usando o tradicional ./configure, make e make install.

Para usá-lo, é necessário colocar a interface em modo monitor, usando o ifconfig e iwconfig, como em:

$ su <senha>
# ifconfig wlan1 down
# iwconfig wlan1 mode monitor
# ifconfig wlan1 up

Apesar de ser uma ferramenta de linha de comando, o reaver é bastante simples de usar, precisando apenas do device da placa wireless e do endereço MAC do roteador alvo (que pode ser facilmente descoberto usando o kismet, airodump-ng ou outra ferramenta de diagnóstico), como em:

# reaver -i wlan1 -b 54:E6:FC:E4:92:82

Caso necessário, você pode especificar também o canal e o SSID da rede no comando, como em:

# reaver -i wlan1 -b 54:E6:FC:E4:92:82 -c 4 -e gdh

A partir daí o resto do ataque é feito automaticamente, com o Reaver tentando todas as possibilidades possíveis para o PIN, aguardando caso o roteador deixar de responder e assim por diante, até encontrar a chave. Em alguns casos, o roteador pode travar durante o teste, ou deixar de responder temporariamente aos clientes da rede local, o que também abre as portas para ataques de negação de serviço.

A lista dos fabricantes vulneráveis inclui a D-Link, Linksys, Netgear, TP-Link e ZyXEL, bem como a Belkin, Buffalo e Technicolor. Naturalmente, a brecha não atinge todos os produtos, mas a percentavel vulnerável representa dezenas de milhões de aparelhos.

Caso exista uma opção para desativar o WPS na configuração do roteador, ela pode ser uma forma simples de resolver o problema. A principal questão é que em muitos produtos a opção está disponível, mas ela não desativa realmente o WPS, fazendo com que a vulnerabilidade persista. Nesses casos, a solução seria atualizar o firmware ou, (caso não exista um patch disponível) substituir o aparelho por um não vulnerável. Outra solução é substituir o firmware padrão pelo DD-WRT, já que além de oferecer mais opções e recursos, ele não oferece suporte ao WPS, resolvendo o problema pela raiz.

Naturalmente, é possível também bloquear o acesso de clientes não autorizados usando o bloqueio com base no endereços MAC, mas esta é uma proteção que pode ser facilmente burlada, já que basta monitorar a rede por algum tempo, coletar uma lista dos endereços dos clientes que estão transmitindo dados e modificar o enderçeo da placa local para utilizar o mesmo MAC que um deles.

Esta é uma brecha que vai continuar a repercutir por muitos meses ou anos, já que roteadores wireless não são dispositivos que os usuários substituem com muita frequência e, mesmo que a maioria dos fabricantes venha a eventualmente atualizarem todos os modelos vulneráveis, a grande maioria dos usuários nunca chegará a atualizar seus roteadores, continuando a utilizar aparelhos vulneráveis por anos. Como resultado, viajantes e espertinhos em busca de acesso grátis vão voltar a ter facilidade para encontrar redes vulneráveis, assim como na época do WEP.

Um comentário:

  1. Olá,
    Bem interessante seu blog! Gostei.
    Um abraço,
    Taís
    amornosingular.blogspot.com

    ResponderExcluir