Pour gérer vos consentements :
Categories: Sécurité

Sécurité : Microsoft expérimente CHERI pour résoudre ses problèmes de mémoire

La sûreté temporelle reste problématique, tout comme la mémoire non initialisée et la protection des adresses de retour. Ce sont là les principaux points d’amélioration que Microsoft fait ressortir après avoir mis CHERI à l’épreuve.

L’université de Cambridge pilote ce projet qui vise à lutter contre les failles de sécurité liées à la mémoire. Il intéresse d’autant plus Microsoft que la majorité des vulnérabilités que corrige l’éditeur entrent dans cette catégorie.

Face à ces failles, Microsoft s’est notamment appuyé sur Rust, le langage « origine Mozilla ». Il a expérimenté la réécriture de certains composants Windows. Ainsi que la création d’un langage dérivé, dans le cadre de l’initiative Project Verona menée avec l’Imperial College de Londres.

Avec CHERI, on touche au matériel. L’acronyme signifie en l’occurrence « Capability Hardware Enhanced RISC Instructions ». Le principe : développer un « modèle de protection » qui étende les architectures de jeux d’instructions.

À leur démarrage en 2010, les travaux portaient sur MIPS64. Avec le support de la DARPA, ils se sont étendus depuis lors à RISC-V et à ARM64. Avec, pour ce dernier, un SoC expérimental annoncé pour fin 2021 sur base Neoverse N1. L’architecture x64 est arrivée plus récemment sur la feuille de route.

Les capacités de CHERI

Au cœur de CHERI, il y a des « capacités ». Définies en langage Sail, elles constituent une extension des pointeurs, à travers l’ajout de métadonnées de protection.

Les « capacités » offrent aussi une alternative à l’isolation de processus basée sur la mémoire virtuelle. Plus légère en l’occurrence, car exploitable au sein des espaces d’adressage.

En première ligne du projet, les langages C et C++, particulièrement exposés aux failles « de mémoire ».
Au catalogue des prototypes logiciels, on trouve des extensions d’outils de développement (Clang/LLVM, GDB), de systèmes d’exploitation (FreeBSD, FreeRTOS) et d’applications (WebKit, OpenSSH, PostgreSQL).

Pour sa mise à l’épreuve, Microsoft a considéré les « failles de mémoire » que son Centre de réponse aux problèmes de sécurité a enregistrées en 2019. Sur les 456 qu’il a finalement retenues, CHERI en aurait bloqué 45 %. En y couplant l’initialisation de la pile et du tas, on dépasse les 50 %.

Test effectué avec CheriBSD (dérivé de FreeBSD) sur QEMU. Toutes les failles prises en compte ont fait l’objet d’un classement en indice de criticité « sévère ».

Illustration principale :« NEC VR5000 die » by Birdman CC BY 2.0

Recent Posts

Étude Trends of IT 2024 : comprendre les mutations de l’environnement IT

Silicon et KPMG lancent Trends of IT 2024, une étude co-construite avec les managers IT…

9 heures ago

Guillaume Poupard, DGA de Docaposte : « Le plus de l’offre, c’est notre position comme acteur de confiance »

Avec son Pack cybersécurité lancé au Forum InCyber 2024, Docaposte tend une perche aux PME.…

10 heures ago

Quels impacts de l’IA générative sur le monde de la cybersécurité ? : regards croisés entre Onepoint, Wavestone et Fortinet

Quels sont les impacts immédiats de l'IA générative sur la cybersécurité ? Comment le contexte…

13 heures ago

Des serveurs IA cyberattaqués : le vecteur s’appelle Ray

Un éditeur attire l'attention sur des attaques exploitant l'absence d'autorisation dans une API du framework…

16 heures ago

Amazon débloque la deuxième tranche de son investissement dans Anthropic

Après un premier financement en septembre 2023, Amazon a débloquer le reste de l'enveloppe qu'il…

19 heures ago

Les logiciels libres entrés au SILL au premier trimestre 2024

D'Alpine Linux à XPipe, voic les dernières entrées au SILL (Socle interministériel de logiciels libres).

1 jour ago