Compilation for the Composition of Software Protections for Embedded Systems
Abstract
De nos jours, les algorithmes de chiffrement ont atteint un niveau de maturité sans précédent, et leur sureté s'avère mathématiquement prouvée. Cependant, une fois implémentés sur un composant embarqué, ces algorithmes font face à des attaques d’une autre nature appelées attaques physiques. Ces attaques sont classées en deux grands groupes : Celles qui sont basées sur l’observation du circuit en cours de fonctionnement, on parle d’attaque par canaux auxiliaires et celles qui consistent à analyser l’effet d’une perturbation intentionnelle du fonctionnement du circuit, on parle d’attaque par injection de faute.
Dans l’état de l’art actuel, on trouve des contre-mesures logicielles pour la plupart des attaques connues. Mais d'une part, ces contremesures sont à la fois appliquées manuellement, mais aussi au cas par cas. Et d'autre part, une étude récente a montré qu’une contremesure logicielle contre les attaques en fautes par exemple peut accroitre les chances de réussite d’une attaque de type mesure de consommation sur la même implémentation.
D'où la motivation de nos travaux qui consistent à étudier la possibilité de pouvoir articuler et composer de manière automatique plusieurs contremesures logicielles au sein d’une chaine de compilation statique.
Dans le cadre de cette présentation, nous présenterons l'état de l'art des contremesures logicielles contre les attaques physiques. Nous présenterons le compilateur LLVM et les possibilités de transformation de code offertes par cet outil ainsi que les applications possibles à la sécurité logicielle.
Et en fin nous présenterons nos premiers résultats sur l'application automatisée de protections contre les attaques en fautes.
Origin : Files produced by the author(s)