Repositório Digital

A- A A+

Practical analysis of embedded microcontrollers against clock glitching attacks

.

Practical analysis of embedded microcontrollers against clock glitching attacks

Mostrar registro completo

Estatísticas

Título Practical analysis of embedded microcontrollers against clock glitching attacks
Autor Silva, Ricardo Gomes da
Orientador Seifert, Jean-Pierre
Weber, Raul Fernando
Co-orientador Nedospasov, Dmitry
Data 2014
Nível Graduação
Instituição Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado.
Assunto Seguranca : Computadores
Tolerancia : Falhas
Abstract Clock glitching attacks are one of the different types of hardware fault injections studied nowadays. By glitching the clock, it is possible to change the target’s hardware behavior, either by corrupting or simply skipping CPU instructions. Since the software is not prepared to handle a device that has been tampered with, an attacker can exploit such vulnerability and take over the control flow of the program. Multiple attacks can then be performed, such as forcing the device to exiting loops or dump its own memory. This work applies such technique against AVR microcontrollers by implementing a modular glitcher environment. Such environment allows not only for fine-tuning of attacks, but also a brute-force algorithm for finding the glitching range to be implemented. By executing multiple repeatable experiments, both on handcrafted and compiled code, it demonstrates that such architecture is vulnerable against these attacks by introducing faults that were not expected and cannot be handled by the software. The implications of this regarding the security of the program are discussed in this work. Additionally, a critical analysis of the disadvantages and issues of the approach used and how it can be further improved is provided.
Zusammenfassung Clock-Glitching-Angriffe sind eine der verschiedenen Arten von Hardware-Fehler- Angriffen, die heutzutage untersucht werden. Das Glitchen der Clock ermöglicht es, das Verhalten der angegriffenen Hardware zu verändern. CPU-Instruktionen können auf diese Weise entweder verändert oder auch komplett übersprungen werden. Da die Software nicht darauf ausgelegt ist, auf Manipulationen an dem Gerät zu reagieren, kann ein Angreifer diese Situation ausnutzen und die Kontrolle über den Programmablauf übernehmen. Viele verschiedene Angriffe können damit durchgeführt werden: Zum Beispiel können Schleifen vorzeitig abgebrochen werden oder das Gerät dazu gebracht werden, den gesamten Speicherinhalt auszugeben. In der vorliegenden Arbeit werden diese Techniken gegen einen AVR Mikrocontroller angewendet. Hierzu wurde eine modulare Umgebung entwickelt, die das Glitchen der Clock ermöglicht. Diese Umgebung ermöglicht nicht nur eine präzise Einstellung der Angriffsparameter, sondern auch das Ermitteln des genauen Zeitpunkts, an dem der Glitch eingefügt werden soll, durch eine Brute-Force-Suche. Indem sowohl auf angepasstem als auch auf kompiliertem Code verschiedene reproduzierbare Experimente wiederholt werden, zeigt diese Arbeit, dass die untersuchten Architekturen angreifbar durch solche Angriffe sind, in denen unerwartete Fehler eingebracht werden, mit denen die Software nicht umzugehen weiß. Die Auswirkungen, die diese Angriffe auf die Sicherheit der Programme haben, werden in dieser Arbeit diskutiert. Außerdem werden die Eigenschaften und Nachteile dieses konkreten Ansatzes kritisch hinterfragt und der Frage nachgegeangen, wie er verbessert werden kann.
Resumo Ataques de clock glitching são um dos diferentes tipos de injeção de falhas de hardware estudados nos dias de hoje. Ao causar um glitch no clock, é possível trocar o comportamento do hardware, seja corrompendo ou simplesmente pulando instruções da unidade de processamento central (CPU). Como o software não está preparado para lidar com um dispositivo que foi adulterado, um atacante pode explorar tal vulnerabilidade e obter controle do fluxo do progama. Múltiplos ataques podem então ser executados, tais como forçar o dispositivo a sair de loops ou mesmo extrair o conteúdo da sua memória. Este trabalho aplica tal técnica em microcontroladores AVR através da implementação de um ambiente de glitching modular. Tal ambiente não apenas permite o ajuste fino dos ataques, mas também a implementação de um algoritmo de força bruta para localização da faixa ideal de ataque. Através da execução de múltiplos experimentos repetitíveis, tanto em código feito a mão, assim como compilado, é demonstrado que tal arquitetura é vulnerável contra estes ataques através da introdução de falhas que não eram esperadas e não podem ser lidadas através de software. As implicações disto em relação à segurança são discutidas neste trabalho. Além disso, é fornecida uma análise crítica das desvantagens e problemas da abordagem utilizada e como ela pode ser melhorada.
Tipo Trabalho de conclusão de graduação
URI http://hdl.handle.net/10183/110334
Arquivos Descrição Formato
000952609.pdf (922.0Kb) Texto completo Adobe PDF Visualizar/abrir

Este item está licenciado na Creative Commons License

Este item aparece na(s) seguinte(s) coleção(ões)


Mostrar registro completo

Percorrer



  • O autor é titular dos direitos autorais dos documentos disponíveis neste repositório e é vedada, nos termos da lei, a comercialização de qualquer espécie sem sua autorização prévia.
    Projeto gráfico elaborado pelo Caixola - Clube de Criação Fabico/UFRGS Powered by DSpace software, Version 1.8.1.