/ 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: