Une approche exhaustive de la cybersécurité
La plupart d’entre nous vaquent allègrement à leurs occupations numériques sans se soucier des menaces constantes qui pèsent sur nos dispositifs et nos applications. Cela s’explique par le fait que la sécurité de ces appareils est le plus souvent assurée par tout un éventail de composants critiques, notamment les bibliothèques cryptographiques, le protocole de sécurité de la couche de transport (TLS pour Transport Layer Security), les mécanismes de sécurité des navigateurs et les protocoles d’authentification unique. Cette approche est toutefois loin d’être parfaite, comme le montrent clairement les cyberattaques perpétrées régulièrement. «Bien que l’usage de ces composants soit très répandu, nous n’avons pas une idée précise du niveau de sécurité qu’ils offrent réellement», explique Karthik Bhargavan, chercheur à l’Institut national de recherche en sciences et technologies du numérique (Inria), en France. «En fait, le moindre petit bogue présent dans le codage d’un composant peut conduire – et conduit – à des attaques embarrassantes et retentissantes.» Au lieu d’essayer de résoudre chaque problème individuellement, Karthik Bhargavan envisage un champ d’action bien plus étendu grâce au soutien du projet CIRCUS, financé par l’UE. «Au lieu de perdre notre temps à traquer chaque nouvelle menace, nous proposons de développer un cadre formel de vérification de la sécurité capable d’identifier et d’éliminer d’un seul coup des catégories entières de vulnérabilités», ajoute-t-il.
Plus aucune excuse
Pour commencer, les chercheurs du projet CIRCUS ont participé à la conception, l’analyse et la normalisation de TLS 1.3 la dernière version du protocole TLS sur lequel repose la sécurité de la navigation web. «Nos contributions ont été mentionnées dans la norme publiée et nos recherches ont été récompensées par le prix du meilleur article», souligne Karthik Bhargavan. La deuxième phase de ce projet soutenu par le Conseil européen de la recherche s’est concentrée sur la création de HACL*, la première bibliothèque d’algorithmes cryptographiques à haute performance formellement vérifiée. «Avec HACL*, plus rien ne justifie l’utilisation d’un code cryptographique non vérifié dans les applications courantes critiques en matière de sécurité», fait-il remarquer. Selon Karthik Bhargavan, un certain nombre d’entreprises ont immédiatement demandé de l’aide pour déployer le code HACL* dans leurs produits, notamment Mozilla Firefox, Linux Kernel, WireGuard, Microsoft MsQuic, Tezos et ElectionGuard. «Prendre un logiciel issu d’un projet de recherche et améliorer sa qualité pour qu’il soit prêt à être utilisé en production a nécessité un gros travail d’apprentissage et d’ingénierie de notre part», indique-t-il. «Même si ce travail ne faisait pas partie de nos ambitions initiales pour le projet, il nous a permis d’accélérer le transfert de nos recherches vers de véritables applications industrielles.»
Repousser les limites de la cybersécurité
Le projet CIRCUS a réussi à repousser les limites de la cybersécurité en termes de vérification formelle et de cryptographie appliquée. «Avec le soutien du financement de l’UE, nous avons démontré qu’il était possible de vérifier formellement des logiciels cryptographiques de haute performance prêts pour la phase de production», conclut Karthik Bhargavan. Bien que le projet soit désormais terminé, le code HACL* est disponible gratuitement via GitHub. Par ailleurs, Karthik Bhargavan et son équipe continuent de progresser sur de nombreux thèmes identifiés au cours du projet, notamment en ce qui concerne la vérification de logiciels de cryptographie écrits dans des langages orientés vérification courants, tels que Rust. Les chercheurs entament également les premières étapes du transfert des recherches et des résultats du projet CIRCUS vers une entreprise privée, en vue de créer une communauté industrielle axée sur les logiciels cryptographiques vérifiés.
Mots‑clés
CIRCUS, cybersécurité, cadre de vérification de la sécurité, cybermenace, Transport Layer Security, cyberattaques, codage, HACL*, algorithmes cryptographiques, code cryptographique, cryptographie