Sylvain Guilley |
Date de l'exposé : 6 février 2015, 10h30-11h30, amphitéâtre
Rétroconception : attaques et protections
La confidentialité du code logiciel est un grand enjeu de la sécurité des systèmes embarqués. Effectivement, retrouver un binaire permet, bien sûr, de le dérober, mais aussi de l'analyser pour y trouver des failles... Dans cet exposé, nous montrerons quelques techniques permettant de remonter à un code logiciel, comme l'analyse des canaux cachés ou les injections de fautes (SCARE / FIRE).Puis, nous expliquerons qu'il existe diverses technologies de protection, au niveau physique (camouflage de portes logiques, boucliers anti-sondage, fonctions physiques non clonables), de l'implémentation (masquage, équilibrage), mais aussi au niveau de la compilation (obfuscation, etc.)
Nous nous attacherons aussi à quantifier le niveau de sécurité des protections, notamment en décrivant différentes attaques évoluées (évaluation symbolique en vue de dés-obfusquer un binaire). Enfin, nous terminerons par quelques démonstrations de calcul d'un chiffrement AES "personnalisé" dont les spécificités sont protégées.
La présentation s'appuie sur les résultats issus du projet FUI "MARSHAL+" : http://www.systematic-paris-region.org/fr/projets/marshal