Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués

Cette thèse s'intéresse à la sécurité des programmes embarqués face aux attaques par injection de fautes. La prolifération des composants embarqués et la simplicité de mise en œuvre des attaques rendent impérieuse l'élaboration de contre-mesures.Un modèle de fautes par l'expérimentati...

Full description

Bibliographic Details
Main Author: Moro, Nicolas
Other Authors: Paris 6
Language:fr
Published: 2014
Subjects:
Online Access:http://www.theses.fr/2014PA066616/document
id ndltd-theses.fr-2014PA066616
record_format oai_dc
spelling ndltd-theses.fr-2014PA0666162019-12-22T04:45:12Z Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués Security of assembly programs against fault attacks on embedded processors Attaques par injection de fautes Injection électromagnétique Modèle de fautes Contre-Mesures vérifiées Assembleur Saut d'instruction Fault injection attacks Countermeasures 005.8 Cette thèse s'intéresse à la sécurité des programmes embarqués face aux attaques par injection de fautes. La prolifération des composants embarqués et la simplicité de mise en œuvre des attaques rendent impérieuse l'élaboration de contre-mesures.Un modèle de fautes par l'expérimentation basé sur des attaques par impulsion électromagnétique a été élaboré. Les résultats expérimentaux ont montré que les fautes réalisées étaient dues à la corruption des transferts sur les bus entre la mémoire Flash et le pipeline du processeur. Ces fautes permettent de réaliser des remplacements ou des saut d'instructions ainsi que des modifications de données chargées depuis la mémoire Flash. Le remplacement d'une instruction par une autre bien spécifique est très difficile à contrôler ; par contre, le saut d'une instruction ciblée a été observé fréquemment, est plus facilement réalisable, et permet de nombreuses attaques simples. Une contre-mesure empêchant ces attaques par saut d'instruction, en remplaçant chaque instruction par une séquence d'instructions, a été construite et vérifiée formellement à l'aide d'outils de model-checking. Cette contre-mesure ne protège cependant pas les chargements de données depuis la mémoire Flash. Elle peut néanmoins être combinée avec une autre contre-mesure au niveau assembleur qui réalise une détection de fautes. Plusieurs expérimentations de ces contre-mesures ont été réalisées, sur des instructions isolées et sur des codes complexes issus d'une implémentation de FreeRTOS. La contre-mesure proposée se révèle être un très bon complément pour cette contre-mesure de détection et permet d'en corriger certains défauts. This thesis focuses on the security of embedded programs against fault injection attacks. Due to the spreadings of embedded systems in our common life, development of countermeasures is important.First, a fault model based on practical experiments with a pulsed electromagnetic fault injection technique has been built. The experimental results show that the injected faults were due to the corruption of the bus transfers between the Flash memory and the processor’s pipeline. Such faults enable to perform instruction replacements, instruction skips or to corrupt some data transfers from the Flash memory.Although replacing an instruction with another very specific one is very difficult to control, skipping an instruction seems much easier to perform in practice and has been observed very frequently. Furthermore many simple attacks can carried out with an instruction skip. A countermeasure that prevents such instruction skip attacks has been designed and formally verified with model-checking tool. The countermeasure replaces each instruction by a sequence of instructions. However, this countermeasure does not protect the data loads from the Flash memory. To do this, it can be combined with another assembly-level countermeasure that performs a fault detection. A first experimental test of these two countermeasures has been achieved, both on isolated instructions and complex codes from a FreeRTOS implementation. The proposed countermeasure appears to be a good complement for this detection countermeasure and allows to correct some of its flaws. Electronic Thesis or Dissertation Text fr http://www.theses.fr/2014PA066616/document Moro, Nicolas 2014-11-13 Paris 6 Encrenaz, Emmanuelle Robisson, Bruno
collection NDLTD
language fr
sources NDLTD
topic Attaques par injection de fautes
Injection électromagnétique
Modèle de fautes
Contre-Mesures vérifiées
Assembleur
Saut d'instruction
Fault injection attacks
Countermeasures
005.8
spellingShingle Attaques par injection de fautes
Injection électromagnétique
Modèle de fautes
Contre-Mesures vérifiées
Assembleur
Saut d'instruction
Fault injection attacks
Countermeasures
005.8
Moro, Nicolas
Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués
description Cette thèse s'intéresse à la sécurité des programmes embarqués face aux attaques par injection de fautes. La prolifération des composants embarqués et la simplicité de mise en œuvre des attaques rendent impérieuse l'élaboration de contre-mesures.Un modèle de fautes par l'expérimentation basé sur des attaques par impulsion électromagnétique a été élaboré. Les résultats expérimentaux ont montré que les fautes réalisées étaient dues à la corruption des transferts sur les bus entre la mémoire Flash et le pipeline du processeur. Ces fautes permettent de réaliser des remplacements ou des saut d'instructions ainsi que des modifications de données chargées depuis la mémoire Flash. Le remplacement d'une instruction par une autre bien spécifique est très difficile à contrôler ; par contre, le saut d'une instruction ciblée a été observé fréquemment, est plus facilement réalisable, et permet de nombreuses attaques simples. Une contre-mesure empêchant ces attaques par saut d'instruction, en remplaçant chaque instruction par une séquence d'instructions, a été construite et vérifiée formellement à l'aide d'outils de model-checking. Cette contre-mesure ne protège cependant pas les chargements de données depuis la mémoire Flash. Elle peut néanmoins être combinée avec une autre contre-mesure au niveau assembleur qui réalise une détection de fautes. Plusieurs expérimentations de ces contre-mesures ont été réalisées, sur des instructions isolées et sur des codes complexes issus d'une implémentation de FreeRTOS. La contre-mesure proposée se révèle être un très bon complément pour cette contre-mesure de détection et permet d'en corriger certains défauts. === This thesis focuses on the security of embedded programs against fault injection attacks. Due to the spreadings of embedded systems in our common life, development of countermeasures is important.First, a fault model based on practical experiments with a pulsed electromagnetic fault injection technique has been built. The experimental results show that the injected faults were due to the corruption of the bus transfers between the Flash memory and the processor’s pipeline. Such faults enable to perform instruction replacements, instruction skips or to corrupt some data transfers from the Flash memory.Although replacing an instruction with another very specific one is very difficult to control, skipping an instruction seems much easier to perform in practice and has been observed very frequently. Furthermore many simple attacks can carried out with an instruction skip. A countermeasure that prevents such instruction skip attacks has been designed and formally verified with model-checking tool. The countermeasure replaces each instruction by a sequence of instructions. However, this countermeasure does not protect the data loads from the Flash memory. To do this, it can be combined with another assembly-level countermeasure that performs a fault detection. A first experimental test of these two countermeasures has been achieved, both on isolated instructions and complex codes from a FreeRTOS implementation. The proposed countermeasure appears to be a good complement for this detection countermeasure and allows to correct some of its flaws.
author2 Paris 6
author_facet Paris 6
Moro, Nicolas
author Moro, Nicolas
author_sort Moro, Nicolas
title Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués
title_short Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués
title_full Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués
title_fullStr Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués
title_full_unstemmed Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués
title_sort sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués
publishDate 2014
url http://www.theses.fr/2014PA066616/document
work_keys_str_mv AT moronicolas securisationdeprogrammesassembleurfaceauxattaquesvisantlesprocesseursembarques
AT moronicolas securityofassemblyprogramsagainstfaultattacksonembeddedprocessors
_version_ 1719305553777262592