, L'isolation de chaque coeur permet de ne pas propager les fautes aux autres. Permettant dans cette attaque de ne cibler qu'une application s'exécutant sur un seul coeur permettant à l'OS s'exécutant sur un autre coeur par exemple de continuer son travail parfaitement
, La régulation s'applique de manière indifférenciée à tous les niveaux de sécurité (niveaux d'abstractions, TrustZone, etc.). Permettant par la même à un attaquant ne disposant pas d'un accès à des programmes ou des données sécurisée d'avoir tout de même un effet sur celles-ci
, Le premier est celui qu'ils cherchent à attaquer. Le second est celui qu'ils contrôlent et qui sera chargé de modifier en temps réel le couple fréquence/voltage pour induire une faute. Dans leur cas, le scénario d'attaque est celui d'un utilisateur étant capable d'installer un driver sur sa machine et donc d'être au même niveau de privilège que le kernel. Ce driver permet de contrôler les couples fréquences/voltage permettant de générer des fautes. Le thread attaquant va donc faire appel à ce driver
est dans cet exemple un thread qui fonctionne une utilisant des mécanismes d'isolation comme la TZ ou Software Guard eXtensions (SGX). Par la suite leur attaque se découpe en plusieurs phases ,
Cette étape permet de s'assurer que le cache du coeur ciblé ne contient pas d'autres données ou d'autre code que l'application ciblée et le code nécessaire pour lancer l'attaque. Pour cela, ils ont exécuté plusieurs fois les deux codes sur le coeur. Ceci permettant d'assurer que toutes les cases de caches pouvant contenir des données autres soient évincées ,
, Cette phase permet de trouver un point intéressant d'injection pour l'attaquant. Ce sera le moment où le code devra être exécuté avec un couple fréquence/voltage différent
En utilisant l'application d'attaque qu'ils contrôlent, les attaquants sont capables d'introduire un délai en effectuant des «no-operations». Offrant ainsi la possibilité de cibler un traitement spécifique si la latence de la mise en place est trop importante ,
Le thread attaquant va faire appel au driver, afin de modifier le couple fréquence/voltage. Le thread victime s'exécutant sur le même coeur conservera la valeur de ce couple, il en résultera une faute si l'attaquant a réussi à trouver un couple ayant l ,
, Cette attaque leur a permis de créer deux schémas d'attaques : -Retrouver une clef de chiffrement AES sauvegardée dans la TZ. Ils stipulent cependant que cette vulnérabilité ne peut être créée que s'il est possible de chronométrer l'exécution d'un thread s'exécutant en TZ
, Variable d'accusé de réception du message de départ du coeur 1, contenant la valeur d'un registre d
, Variable d'accusé de réception du message de départ du coeur deux, contenant la valeur d'un registre d
, Variable d'accusé de réception du message de départ du coeur 3, contenant la valeur d'un registre d
, Pour chaque coeur de travail, la valeur de la clef de chiffrement utilisée
, Pour chaque coeur de travail, la valeur du texte clair
, Pour chaque coeur de travail, la valeur du chiffré résultant
, Un compteur du nombre d'exécutions et d'autres registres d'état pour suivre l'exécution
, les différents coeurs, ceci afin que les accès à la mémoire soient non-concurrents. Il est alors possible avec une seule injection d'affecter les coeurs à des moments différents, sans nécessité de poser des points d'arrêt. Ensuite ce même coeur de contrôle reste dans sa boucle d'attente de commande lorsque l'on injecte la faute
Fault injection for dependability validation : A methodology and some applications, Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, CCS '16, vol.2, pp.743-754, 1990. ,
Control-flow integrity principles, implementations, and applications, ACM Transactions on Information and System Security (TISSEC), vol.13, issue.1, p.4, 2009. ,
Template attacks in principal subspaces, Cryptographic Hardware and Embedded Systems-CHES 2006, pp.1-14 ,
A secure and reliable bootstrap architecture, Security and Privacy, 1997. Proceedings., 1997 IEEE Symposium on, pp.65-71, 1997. ,
Using run-time reconfiguration for fault injection in hardware prototypes, Defect and Fault Tolerance in VLSI Systems, 2002. DFT 2002. Proceedings. 17th IEEE International Symposium on, pp.245-253, 2002. ,
URL : https://hal.archives-ouvertes.fr/hal-00015042
Fundamental concepts of computer system dependability, Workshop on Robot Dependability : Technological Challenge of Dependable Robots in Human Environments, pp.1-16, 2001. ,
System and kernel security, 2010. ,
A deductive method for simulating faults in logic circuits, IEEE Transactions on Computers, vol.21, pp.464-471, 1972. ,
, Arm security technology : Building a secure system using trustzone technology, 2009.
, Arm cortex-a53 mpcore processor technical reference manual, ARM DDI 0500D ID021414, 2014.
, Arm architecture reference manual : Armv8, for armv8-a architecture profile, ARM DDI 0487B.a (ID033117, 2017.
, ARM. Arm trusted firmware, 2019.
Man-At-The-End attacks : Analysis, taxonomy, human aspects, motivation and future directions, Journal of Network and Computer Applications, vol.48, pp.44-57, 2015. ,
Fault injection attacks on cryptographic devices : Theory, practice, and countermeasures, Proceedings of the IEEE, vol.100, issue.11, pp.3056-3076, 2012. ,
URL : https://hal.archives-ouvertes.fr/hal-01110932
When fault injection collides with hardware complexity, 11th International Symposium on Foundations & Practice of Security (FPS 2018), 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-01950931
Correlation power analysis with a leakage model, International Workshop on Cryptographic Hardware and Embedded Systems, pp.16-29, 2004. ,
Address Obfuscation : An Efficient Approach to Combat a Broad Range of Memory Error Exploits, Usenix Security, vol.3, pp.105-120, 2003. ,
Apple pay : How it works, pp.2017-2019, 2016. ,
Jump-oriented programming : a new class of code-reuse attack, Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, pp.30-40, 2011. ,
How TrustZone Could Be Bypassed : Side-Channel Attacks on a Modern Systemon-Chip, 11th IFIP International Conference on Information Security Theory and Practice (WISTP), volume LNCS-10741 of Information Security Theory and Practice, pp.93-109, 2017. ,
Let's shock our IoT's heart : ARMv7-M under (fault) attacks, 13th International Conference on Availability, Reliability and Security (ARES 2018), pp.1-6, 2018. ,
Power struggles : Revisiting the risc vs. cisc debate on contemporary arm and x86 architectures, 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA), pp.1-12, 2013. ,
Lifting : A flexible open-source fault simulator, 17th Asian Test Symposium, pp.35-40, 2008. ,
URL : https://hal.archives-ouvertes.fr/lirmm-00343610
Improving first order differential power attacks through digital signal processing, Proceedings of the 3rd International Conference on Security of Information and Networks, SIN '10, pp.124-133, 2010. ,
Laser simulation of single event upsets, IEEE Transactions on Nuclear Science, vol.34, issue.6, pp.1227-1233, 1987. ,
État des lieux de la sécurité des communications cellulaires, 2011. ,
Xception : Software fault injection and monitoring in processor functional units, An improved scare cryptanalysis against a secret a3/a8 gsm algorithm. Information Systems Security, vol.10, pp.245-266, 1998. ,
Mobile password managers, pp.2017-2019, 2017. ,
Template attacks, Cryptographic Hardware and Embedded Systems-CHES 2002, pp.13-28, 2003. ,
Rop is still dangerous : Breaking modern defenses, USENIX Security, vol.14, 2014. ,
SOFIA : Software and control flow integrity architecture, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp.1172-1177, 2016. ,
MoCFI : A Framework to Mitigate Control-Flow Attacks on Smartphones, NDSS, vol.2, p.27, 2012. ,
, Jedec solid state technology association, DDR3 SDRAM Specification JESD79-3F, 2012.
Returnoriented programming without returns on arm, 2010. ,
Electromagnetic glitch on the aes round counter, Constructive Side-Channel Analysis and Secure Design, pp.17-31, 2013. ,
URL : https://hal.archives-ouvertes.fr/emse-00837514
Side-channel attacks on bliss lattice-based signatures : Exploiting branch tracing against strongswan and electromagnetic emanations in microcontrollers, Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, CCS '17, pp.1857-1874, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01648080
Taintdroid : an information-flow tracking system for realtime privacy monitoring on smartphones, ACM Transactions on Computer Systems (TOCS), vol.32, issue.2, p.5, 2014. ,
Timing attacks on pin input devices, Proceedings of the 17th ACM conference on Computer and communications security, pp.678-680 ,
Jtag combined attacks, Workshop on Secure Hardware and Security Evaluation, 2015. ,
Mutual information analysis, International Workshop on Cryptographic Hardware and Embedded Systems, pp.426-442, 2008. ,
Ecdsa key extraction from mobile devices via nonintrusive physical side channels, Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, CCS '16, pp.1626-1638, 2016. ,
Stealing keys from pcs using a radio : Cheap electromagnetic attacks on windowed exponentiation, International Workshop on Cryptographic Hardware and Embedded Systems, pp.207-228, 2015. ,
Cache template attacks : Automating attacks on inclusive last-level caches, USENIX Security Symposium, pp.897-912, 2015. ,
Sanjiv Narayan, and Jie Gong. Specification and design of embedded systems, 1994. ,
Android keystore stack buffer overflow, 2014. ,
Design and use of fault simulation for saturn computer design, IEEE Transactions on Electronic Computers, issue.4, pp.412-429, 1967. ,
Investigation on radiated emission characteristics of multilayer printed circuit boards, IEICE Trans. Commum., B, vol.80, issue.11, pp.1645-1651, 1997. ,
Doctor : An integrated software fault injection environment for distributed real-time systems, Computer Performance and Dependability Symposium, pp.204-213, 1995. ,
Buffer overflow in variable length coding of fixed rate sources, IEEE Transactions on Information Theory, vol.14, issue.3, pp.490-501, 1968. ,
First practical side-channel attack to defeat point randomization in secure implementations of pairingbased cryptography, SECRYPT, pp.104-115, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-02177711
Flipping bits in memory without accessing them : An experimental study of dram disturbance errors, In ACM SIGARCH Computer Architecture News, vol.147, pp.361-372, 2012. ,
A survey on simulation-based fault injection tools for complex systems, Design & Technology of Integrated Systems In Nanoscale Era (DTIS), pp.1-6, 2014. ,
URL : https://hal.archives-ouvertes.fr/hal-01075473
Ferrari : A flexible software-based fault and error injection system, IEEE Transactions on computers, vol.44, issue.2, pp.248-260, 1995. ,
Using heavy-ion radiation to validate fault-handling mechanisms, IEEE micro, vol.14, issue.1, pp.8-23, 1994. ,
Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems, Advances in Cryptology-CRYPTO'96, pp.104-113, 1996. ,
, A Tutorial on Physical Security and Side-Channel Attacks, pp.78-108, 2005.
A Template Attack Against VERIFY PIN Algorithms, SECRYPT 2016, pp.231-238, 2016. ,
Fault injection in vhdl descriptions and emulation, Proceedings-IEEE-International-Symposium-on-Defect-and-Fault-Tolerance-in-VLSI-Systems, pp.414-433, 2000. ,
URL : https://hal.archives-ouvertes.fr/hal-00015057
Inverting the final exponentiation of tate pairings on ordinary elliptic curves using faults, International Workshop on Cryptographic Hardware and Embedded Systems, pp.365-382, 2013. ,
Hardware-Assisted Program Execution Integrity : HAPEI, NordSec 2018 -23rd Nordic Conference on Secure IT Systems, 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-01978181
Xorshift rngs, Journal of Statistical Software, vol.8, issue.14, pp.1-6, 2003. ,
A simple power-analysis (spa) attack on implementations of the aes key expansion, International Conference on Information Security and Cryptology, pp.343-358, 2002. ,
Deductive fault simulation with functional blocks, Electromagnetic fault injection : towards a fault model on a 32-bit microcontroller, vol.27, pp.689-695, 1978. ,
ARMageddon : Cache Attacks on Mobile Devices, Proceedings of the 25th USENIX Security Symposium, p.83294375, 2016. ,
White paper : An overview of samsung knox platform. White paper, 2016. ,
White paper : Samsung knox a security solution, 2016. ,
Power analysis attacks : Revealing the secrets of smart cards, vol.31, 2008. ,
Sécurisation de programmes assembleur face aux attaques visant les processeurs embarqués. (Security of assembly programs against fault attacks on embedded processors), 2014. ,
Samsung pay : How it works, pp.2017-2019, 2016. ,
Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software, 2005. ,
Accessory : Password inference using accelerometers on smartphones, Proceedings of the Twelfth Workshop on Mobile Computing Systems & ; Applications, HotMobile '12, vol.9, pp.1-9, 2012. ,
Enhancing simple power-analysis attacks on elliptic curve cryptosystems, International Workshop on Cryptographic Hardware and Embedded Systems, pp.82-97, 2002. ,
Differential Power Analysis, CRYPTO, pp.388-397, 1999. ,
Return-to-libc attack ,
The ondemand governor, Proceedings of the Linux Symposium, vol.2, pp.215-230, 2006. ,
Evaluating fault-tolerant system designs using faumachine, Proceedings of the 2007 workshop on Engineering fault tolerant systems, p.9, 2007. ,
The RISC-V Reader : An Open Architecture Atlas. Strawberry Canyon, 2017. ,
Electromagnetic analysis (EMA) : Measures and counter-measures for smart cards, Smart Card Programming and Security, pp.200-210, 2001. ,
A novel simulation approach for fault injection resistance evaluation on smart cards, Software Testing, Verification and Validation Workshops (ICSTW), pp.1-8, 2015. ,
URL : https://hal.archives-ouvertes.fr/hal-02412312
Sécurité des implémentations logicielles face aux attaques par injection de faute sur systemes embarqués, 2015. ,
Attacks and defenses for jtag. Design & Test of Computers, IEEE, vol.27, pp.36-47, 2010. ,
Exploiting the dram rowhammer bug to gain kernel privileges, Black Hat, p.15, 2015. ,
Deterministic high-speed simulation of complex systems including fault-injection, IEEE/IFIP International Conference on Dependable Systems & Networks, pp.211-216, 2009. ,
Sok : Eternal war in memory, Security and Privacy (SP), 2013 IEEE Symposium on, pp.48-62, 2013. ,
Dynamic dependency monitoring to secure information flow, 20th IEEE Computer Security Foundations Symposium (CSF'07), pp.203-217, 2007. ,
Verify : Evaluation of reliability using vhdl-models with embedded fault descriptions, Fault-Tolerant Computing, 1997. FTCS-27. Digest of Papers., Twenty-Seventh Annual International Symposium on, pp.32-36, 1997. ,
Differential fault analysis of the advanced encryption standard using a single fault ,
URL : https://hal.archives-ouvertes.fr/hal-01573310
Yannick Teglia, Michel Agoyan, and Philippe Maurine. A frequency leakage model and its application to cpa and dpa, Information Security Theory and Practice. Security and Privacy of Mobile Devices in Wireless Communication, p.278, 2011. ,
CLKSCREW : Exposing the perils of security-oblivious energy management, 26th USENIX Security Symposium (USENIX Security 17), pp.1057-1074, 2017. ,
Controlling pc on arm using fault injection, Fault Diagnosis and Tolerance in Cryptography (FDTC), 2016 Workshop on, pp.25-35, 2016. ,
Fault-test analysis techniques based on logic simulation, Proceedings of the 9th Design Automation Workshop, pp.111-115, 1972. ,
Drammer : Deterministic Rowhammer Attacks on Mobile Platforms, pp.1675-1689, 2016. ,
Exploiting jtag and its mitigation in iot : A survey, Future Internet, vol.10, issue.12, p.121, 2018. ,
Design of the RISC-V instruction set architecture, 2016. ,
Baseband attacks : Remote exploitation of memory corruptions in cellular protocol stacks ,
Flush+ reload : A high resolution, low noise, l3 cache side-channel attack, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE), vol.1, pp.1-6, 2014. ,