L’objectif de la thèse est de travailler sur la sécurité logicielle des composants utilisant la TrustZone dans les smartphones. Dans un second temps, le doctorant pourra aussi travailler à des nouvelles applications (ex. paiement, authentification à double facteur, privacy) qui sont hébergés dans un environnement d’exécution de confiance dans les smartphones.
En effet, les smartphones sont de plus en plus utilisés dans des applications sensibles. En conséquence, le besoin de renforcer la sécurité de nos smartphones devient un enjeu important dans notre société. Les fournisseurs des systèmes mobiles, Android et iOS par exemple, ont déjà anticiper ce besoin accru en intégrant un environnement d’exécution de confiance dans les smartphones. Un environnement d’exécution de confiance, ou TEE (de l’anglais Trusted Execution Environment), garantie la protection de ses applications même contre des attaquants très puissants. Cette sécurité se repose sur la TrustZone. Ces environnements de confiance connaissent un large déploiement. Par exemple, Android propose d’exécuter des opérations cryptographiques sensibles à l’intérieur d’un composant du TEE dans la TrustZone et qui s’appelle le KeyStore.
Malgré son industrialisation à large échelle, la sécurité de ce composant a rarement été l’objet d’une étude scientifique approfondie. En effet, il existe quelques travaux qui montrent que la TrustZone ne tient pas toujours ses promesses en termes de sécurité. Or, aujourd’hui, une faille de sécurité dans des telles solutions pourrait avoir des conséquences pratiques importantes, notamment sur la sécurité des fichiers chiffrés et les empreintes sauvegardées dans nos mobiles. Cette thèse a pour objectif d’identifier la large interface logicielle de la TrustZone et d’exploiter les failles de sécurité identifiées sur des vrais smartphones.
Méthodologie
Le doctorant commencera par faire une recherche attentive et suivie de la sécurité des implémentations industrielles qui sécurisent nos smartphones d’aujourd’hui. En plus, une fois une faille est identifiée, le doctorant proposera une implémentation complète montrant la faisabilité des attaques identifiées. Nous souhaitons collaborer avec les industriels afin de corriger les vulnérabilités découvertes et aussi avec les organisations françaises comme l’ANSSI. Trois axes sont envisagés pour le début de la thèse :
Vulnérabilités dans les implémentations cryptographiques : nous souhaitons analyser les fonctionnalités cryptographiques implémentées dans le TEE. Un composant qui nous intéresse en particulier est le KeyStore car de nombreux applications en Android utilisent ses services. Plusieurs attaques existent dans l’état de l’art, à la fois logicielles et side-channels. Notre objectif est de présenter une approche plus générique en analysant plusieurs implémentations de KeyStore.
Fuzzing dans le TEE : la complexité de TEE augmente à chaque fois qu’il intègre des nouvelles fonctionnalités. Jusqu’à présent, la technique principale d’analyse de TEE a été d’analyser à la main ses différents composants logiciels. Néanmoins, dans le domaine de la sécurité logicielle, des techniques plus avancées, comme l’exécution symbolique et l’analyse teintée, ont montré des meilleurs résultats quand il s’agit des systèmes complexes. Dans cette direction, couvrir le TEE en entier nécessitera un investissement important en termes de ressources. En conséquence, nous souhaitons adapter pour la première fois ces techniques avancées pour le TEE.
Développement de proof-of-concept pour les attaques : Enfin, nous avons l’intention de proposer une implémentation complète qui exploite les failles identifiées. Cela a pour objectif d’avoir plus d’impact pratique et industriel pour nos résultats de recherche.
[Aki19] Andrey Akimov. Launching feedback-driven fuzzing on trustzone tee. https: //gsec.hitb.org/materials/sg2019/D2%20-%20Launching%20Feedback-Driven% 20Fuzzing%20on%20TrustZone%20TEE%20-%20Andrey%20Akimov.pdf, 2019.
[Anda] Android. Authentication. https://source.android.com/security/authentication.
[Andb] Android. Hardware-backed keystore. https://source.android.com/security/keystore.
[CZK+18] Haehyun Cho, Penghui Zhang, Donguk Kim, Jinbum Park, Choong-Hoon Lee, Ziming Zhao, Adam Doup_e, and Gail-Joon Ahn. Prime+count: Novel cross-world covert channels on arm trustzone.
[Gal17] Gal Beniamini, Project Zero. Trust issues: Exploiting trustzone tees. https://googleprojectzero.blogspot.com/2017/07/trust-issues-exploiting-…, 2017.
[HVP+20] Lee Harrison, Hayawardh Vijayakumar, Rohan Padhye, Koushik Sen, and Michael Grace. Partemu: Enabling dynamic analysis of real-world trustzone software using emulation. In Proceedings of the 29th USENIX Security Symposium (USENIX Security 2020) (To Appear), August 2020.
[lag16] laginimaineb. Extracting qualcomm's keymaster keys - breaking android full disk encryption. http://bits-please.blogspot.com/2016/06/extracting-qualcomms-keymaster-keys.html
[Rya19] Keegan Ryan. Hardware-backed heist: Extracting ecdsa keys from qualcomm's trustzone. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, CCS '19