top of page

HEIST + BREACH: SSL comprometido de vez.

Um novo ataque promete comprometer de fato as transmissões seguras HTTPS (baseadas em SSL), e o mais importante, sem que o atacante precise atuar como "homem-no-meio" da transmissão (Man-in-the-Middle Attack).

Chamada de HEIST (HTTP Encrypted Information can be Stolen Through TCP - Informação codificada no HTTP pode ser roubada através do TCP ), o ataque permite que o atacante precise apenas acessar um script Javascript ou AJAX do website, aparentemente inofensivo, que pode estar escondido em uma propaganda ou hospedado diretamente no servidor do site.

A técnica se baseia na forma com que o TCP/IP e o SSL manuseiam os blocos de dados transmitidos, medindo o tamanho dos blocos que são devolvidos pelo servidor. Uma técnica muito interessante e que embute sofisticado conhecimento dos protocolos de compressão, criptografia e transmissão usados no site - mas verdadeiramente um ataque até bem simples e que explicarei a seguir.

Todos os dados "protegidos" por SSL/TLS sofrem compressão. Esta compressão é baseada no algoritmo DEFLATE, que trabalha suprimindo espaços e repetições. Por exemplo, se determinada página contém a palavra "BRASIL", uma nova ocorrência dela será suprimida e trocada por um "ponteiro" à palavra já armazenada. Logo, se tivermos uma página recheada apenas com a palavra "BRASIL", a compressão irá armazenar esta palavra (5 bytes) e usará apenas 2 bytes de ponteiros em todo o restante da sequência, obtendo forçosamente um tamanho menor que o original.

Quanto maiores forem tais ocorrências de repetiões e espaços, menor (comprimido portanto) será o bloco transmitido.

Pensando nisso, o ataque HEIST trabalha com uma "técnica de oráculo", objetivando adivinhar qual a chave ciptográfica (ou dado armazenado, não importa) está sendo transmitida. Veja a figura abaixo e prossigo depois com a explicação.

Importante frisar que o HEIST não é um algoritmo, mas uma técnica que usa OUTRAS técnicas, num conjunto eficiente e eficaz.

O ataque se baseia em capturar as informações transmitidas e, utilizando o próprio servidor do site, tentar adivinhar o que exatamente foi transmitido. E como saber isso? Basta ver qual resultado obteve maior compressão - sinal que o dado está em memória e o algoritmo de DEFLATE substituiu seus caracteres por "ponteiros".

Logo, esta adivinhação se baseia na mensuração do tamanho do bloco transmitido, ou ainda, no tempo que levou para esta transmissão. Como a página já foi DEFLATED (e mesmo que não, o acesso repetido a ela vai exigir que o servidor execute esta compressão), o ataque HEIST sugere dados, esperando que a informação correta seja A MAIS COMPRIMIDA que a média das outras; afinal, ela estará sendo trocada por ponteiros (compressão máxima).

Apenas para simplificar o ataque, vamos supor que o atacante está tentando obter um e-mail. Ele começa um ataque fornecendo algo como "@gmail.com", "@yahoo.com", "@linkedin.com" ao servidor, medindo os tempos de resposta e esperando aquele que demonstre mais compressão (menor tempo). Uma vez encontrado, saberia que o e-mail pesquisado contém este sufixo.

Não é uma tarefa trivial. O ataque HEIST submete milhares de palavras conhecidas e pode também ser utilizada para descobrir outras informações. Por exemplo, se o website sob ataque enviar TOKENS especiais para evitar um ataque do tipo "Cross-Site Request Forgery Attack", as credenciais quase sempre conterão a mesma sequencia de caracteres (algo parecido com request_token=2e72a9234cc7628) e a técnica de Oracle Attack pode ser utilizada para descobrir a palavra secreta que originou este código. Neste caso, o atacante começa por "request_token=1", "request_token=2", etc. - e neste caso, já a segunda tentativa demonstrará uma diferença de tempo/compressão que lhe dará a certeza de ter encontrado a primeira letra.

Portanto, usando esta metodologia junto com outras formas de ataque (como BREACH, CRIME, Lucky13, entre outras) pode fazer com que estas metodologias mais antigas - e já ineficazes - possam ser novamente utilizadas em um novo contexto e funcionamento, garantindo sucesso tipicamente no espaço de 30 segundos, à até poucas horas, dependendo do que se está tentando obter.

Na demonstração feita no BLACK_HAT de ontem em Las Vegas, os pesquisadores demonstraram ferramentas de ataque e de prevenção/detecção de vulnerabilidades; mas sempre ligadas a aplicativos específicos, haja visto que a técnica é impossível de ser completamente resolvida pois envolve características do HTPPS, SSL, TLS e compressão de dados.

* utilizamos material do ARS-Technica

http://arstechnica.com/security/2013/08/gone-in-30-seconds-new-attack-plucks-secrets-from-https-protected-pages/

http://arstechnica.com/security/2016/08/new-attack-steals-ssns-e-mail-addresses-and-more-from-https-pages/

Destaques
Posts Recentes
Arquivo
Busca por Tags
Siga-nos
  • LinkedIn Social Icon
bottom of page