Como funciona o novo "ataque de tempo" e quanto à proteção?

Uma equipe de engenheiros mostrou um método para contornar as limitações de jitter de um ataque clássico. Diremos a você como é essa abordagem e o que se opõe a ela.





/ CC BY / chuttersnap



Qual é a essência do método clássico



Antes de passar para a nova versão dos "ataques com o tempo", vamos fazer uma pequena digressão e falar sobre como eles funcionam em geral. Partem do pressuposto de que durante a análise do tempo de cálculo para determinadas consultas, pode-se ter uma ideia do desenho do criptosistema, do tipo de processador e dos algoritmos utilizados. Com base nesses dados, um invasor pode recuperar gradualmente as informações da chave secreta.



Vários anos atrás, especialistas da Universidade de Stanford provaram a possibilidade de crackear o OpenSSL usando um ataque de tempo . No entanto, é muito difícil implementá-lo.já que o jitter da rede afeta seriamente o tempo. Mas uma equipe de engenheiros da Universidade Católica de Leuven, na Bélgica, e da Universidade de Nova York em Abu Dhabi, mostrou que essa limitação pode ser contornada.



Na conferência USENIX , eles demonstraram um novo método de " ataque de temporização " - um ataque de temporização atemporal , que não depende de parâmetros de rede.



Como funciona a nova abordagem



Os engenheiros sugeriram o envio de solicitações ao servidor não uma após a outra, mas simultaneamente (em um pacote). Você pode fazer isso diretamente ou usando script entre sites ( página 5 ).



Postagens recentes de nosso blog no Habré:





Portanto, o erro é introduzido apenas pelos parâmetros das respostas do servidor, o que reduz o efeito do jitter da rede no resultado. Assim, um hacker pode estimar o tempo de execução de algoritmos criptográficos com uma precisão de 100 nanossegundos - isso é cem vezes menos do que um ataque clássico. Os engenheiros testaram o exploit que escreveram com os protocolos HTTP / 2 e WPA3 . Em ambos os casos, o ataque de tempo atemporal foi bem-sucedido.



Como se proteger



A maneira mais óbvia é implementar um sistema em que todas as operações demorem o mesmo tempo. Mas é praticamente impossível fazer isso na prática, pois sempre haverá desvios imprevistos. Outra opção é adicionar atrasos aleatórios a todos os cálculos. Essa abordagem tornaria as medições imprecisas e complicaria seriamente a tarefa do hacker.





/ CC BY / Erik Mclean



Outra opção de proteção contra o Timeless Timing Attack é usar o protocolo HTTP / 1.1, que não oferece suporte à multiplexação. Nesse caso, um invasor não poderá enviar várias solicitações necessárias para realizar um ataque em um pacote.



Os engenheiros da Bélgica e de Abu Dhabi não apresentam outros métodos que não imponham sérias restrições ao funcionamento das redes. No entanto, eles planejam continuar as pesquisas nessa direção.



O que ler em nosso blog corporativo:






All Articles