Defesa de Mestrado de Otávio Oliveira Napoli

Título do Trabalho
Análise de Canais Laterais de Tempo em Tradutores Dinâmicos de Binários
Candidato(a)
Otávio Oliveira Napoli
Nível
Mestrado
Data
Add to Calender 2019-04-12 00:00:00 2019-04-12 00:00:00 Defesa de Mestrado de Otávio Oliveira Napoli Análise de Canais Laterais de Tempo em Tradutores Dinâmicos de Binários Sala 85 do IC 2 INSTITUTO DE COMPUTAÇÃO mauroesc@ic.unicamp.br America/Sao_Paulo public
Horário
14:00
Local
Sala 85 do IC 2
Orientador(a)
Edson Borin
Banca Examinadora

* Titulares

Unidade/Instituição

Edson Borin

IC/UNICAMP

Anderson Faustino da Silva

UEM

Julio Cesar López Hernández

IC/UNICAMP

 

* Suplentes

Unidade/Instituição

Sandro Rigo

IC/UNICAMP

Alexandro José Baldassin

UNESP/IGCE

Resumo

Ataques de canais laterais são um importante problema para os algoritmos criptográficos. Se o tempo de execução de uma implementação depende de uma informação secreta, um adversário pode recuperar a mesma através da medição de seu tempo. Diferentes abordagens surgiram recentemente para explorar o vazamento de informações em implementações criptográficas e para protegê-las contra esses ataques. Para tanto, a criptografia em tempo constante é uma pratica amplamente adotada visando descorrelacionar a dependencia entre um dado secreto e suas amostras de tempo.

Apesar das contra-medidas serem eficazes para garantir execução dos algoritmos em um sistema evitando canais laterais de tempo, emuladores podem modificar e reintroduzir pontos de vazamento durante sua execução. Trabalhos recentes discutem os impactos dos compiladores Just-In-Time (JIT) de linguagens de alto nível no vazamento de informações a partir do tempo de execução. Entretanto, pouco foi dito sobre a emulação entre ISAs e seu impacto em vazamentos de tempo.

Neste trabalho, nós investigamos o impacto de emuladores (tradutores dinâmicos de binários) entre ISAs na propriedade de tempo constante de implementações criptográficas. Utilizando métodos estatísticos e rotinas criptográficas validas, nós afirmamos a viabilidade de vazamentos de tempo em códigos gerados por tradutores dinâmicos de binários, usando diferentes técnicas de formação de regiões. Nós mostramos que a emulação pode ter um impacto significante, inserindo construções de tempo não constante durante sua tradução, levando a vazamentos de tempo significantes. Esses vazamentos podem ser observados em tradutores dinâmicos como o QEMU e o HQEMU durante a emulação de rotinas de bibliotecas criptográficas conhecidas, como a mbedTLS e podem se rapidamente verificados. Por fim, para garantir a propriedade de tempo constante nós propusemos um modelo de mitigação para tradutores dinâmicos de binários baseado em transformações de compiladores, mitigando os canais laterais inseridos.