Como não conduzir uma enquete on-line

Por dentro do Precision Hack é uma ótima leitura. Trata-se de como a revista Time Pesquisa sobre as pessoas mais influentes do mundo foi fraudada. Mas o hack em si é um pouco menos impressionante quando o senhor começa a se aprofundar nos detalhes.

Aqui está a interface de votação da pesquisa da Time em questão.

entrada da enquete Time 100

Ao votar, o usuário envia um HTTP GET na forma de:

http://www.timepolls.com/contentpolls/Vote.do
?pollName=time100_2009&id=1883924&rating=1

Onde id é um número associado à pessoa que está sendo votada e a classificação é a influência que o senhor acha que essa pessoa tem, de 1 a 100. Bastante simples, mas a execução do Time foi … menos do que ideal.

Nos estágios iniciais da pesquisa, Time.com não tinha nenhuma autenticação ou validação — a porta estava aberta para qualquer cliente que quisesse encher as urnas.

Logo depois, descobriu-se que a pesquisa da Time.com nem sequer verificou seus parâmetros de alcance para garantir que as classificações estivessem dentro do intervalo de 1 a 100

O resultado da pesquisa Time 100 World’s Most Influential People 2009 não é que não é importante no grande esquema das coisas, mas é difícil entender por que um site de alto perfil realizaria uma pesquisa mundial anônima sem nem mesmo a mais básica das proteções. Isso não é alta segurança; isso é web 101. Qualquer programador com um entendimento rudimentar de como a Web funciona teria pensado nessas explorações imediatamente.

Sem nenhuma proteção, os aspirantes a “hackers” começaram a manipular a pesquisa de todas as formas óbvias que o senhor possa imaginar. A Time acabou respondendo – com toda a habilidade e conhecimento de… uma equipe que montou a pesquisa on-line mais insegura do mundo.

Pouco tempo depois, a Time.com alterou o protocolo para tentar autenticar os votos, exigindo que uma chave fosse anexada ao URL de envio da enquete. A chave consistia em um hash MD5 do URL + uma palavra secreta (também conhecida como “o sal”). [hackers eventually] descobriu que o salt [..] estava mal escondido no aplicativo flash de votação da Time.com. Com o sal extraído, os autovoters voltaram a ficar on-line, agitando a votação.

O chamado segredo mal escondido no cliente: verificado!

Outro desafio enfrentado pelos autovoters foi que, se o senhor votasse na mesma pessoa mais de uma vez a cada 13 segundos, seu IP seria impedido de votar. No entanto, percebeu-se que o senhor poderia votar em outros candidatos durante esses 13 segundos. Os autovoters se adaptaram rapidamente para tirar proveito dessa brecha, intercalando votos positivos para o moot com votos negativos para a concorrência, garantindo que nenhum candidato recebesse um voto com mais frequência do que uma vez a cada 13 segundos, maximizando a alavancagem da votação.

Limitação de IP desleixada e incompleta: verifique!

A essa altura, esta é a imagem mental que eu tinha dos desenvolvedores da Web que comandavam o time.com:

um bando de palhaços

Lembre-se de meu conselho de design for evil?

Quando o bem é burro, o mal sempre triunfa.

Bem, aqui está a prova para o senhor. Não sei se há alguém mais burro do que esses palhaços.

O artigo prossegue documentando como os “hackers” exploraram esses buracos do tamanho de um caminhão no sistema de votação on-line do time.com não apenas para colocar o moot no topo, mas também para enviar uma pequena mensagem:

Observando as primeiras letras de cada um dos 21 principais nomes da pesquisa, encontramos a mensagem “marblecake, also the game” (bolo de mármore, também o jogo). A pesquisa anuncia (talvez sutilmente) ao mundo que os mais influentes não são os Obamas, os Britneys ou os Rick Warrens do mundo, os mais influentes são uma inteligência extremamente avançada: os hackers.

É um sentimento bonito, suponho. Mas a é realmente um hack de precisão quando seus adversários são incompetentes? Se o senhor quiser ler sobre um real um hack que exigiu “inteligência extremamente avançada” diante de um adversário quase imparável – tente o hack do domingo negro. Agora isso é um hack.

Atualização: A segundo artigo que descreve mais hilaridade da pesquisa da Time. Agora com 100% mais CAPTCHA!