2025-11-15T18:46:12.059559

A Toolchain for Assisting Migration of Software Executables Towards Post-Quantum Cryptography

Rattanavipanon, Suaboot, Werapun
Quantum computing poses a significant global threat to today's security mechanisms. As a result, security experts and public sectors have issued guidelines to help organizations migrate their software to post-quantum cryptography (PQC). Despite these efforts, there is a lack of (semi-)automatic tools to support this transition especially when software is used and deployed as binary executables. To address this gap, in this work, we first propose a set of requirements necessary for a tool to detect quantum-vulnerable software executables. Following these requirements, we introduce QED: a toolchain for Quantum-vulnerable Executable Detection. QED uses a three-phase approach to identify quantum-vulnerable dependencies in a given set of executables, from file-level to API-level, and finally, precise identification of a static trace that triggers a quantum-vulnerable API. We evaluate QED on both a synthetic dataset with four cryptography libraries and a real-world dataset with over 200 software executables. The results demonstrate that: (1) QED discerns quantum-vulnerable from quantum-safe executables with 100% accuracy in the synthetic dataset; (2) QED is practical and scalable, completing analyses on average in less than 4 seconds per real-world executable; and (3) QED reduces the manual workload required by analysts to identify quantum-vulnerable executables in the real-world dataset by more than 90%. We hope that QED can become a crucial tool to facilitate the transition to PQC, particularly for small and medium-sized businesses with limited resources.
academic

Une Chaîne d'Outils pour Assister la Migration des Exécutables Logiciels vers la Cryptographie Post-Quantique

Informations Fondamentales

  • ID de l'article : 2409.07852
  • Titre : A Toolchain for Assisting Migration of Software Executables Towards Post-Quantum Cryptography
  • Auteurs : Norrathep Rattanavipanon, Jakapan Suaboot, Warodom Werapun (Université Prince of Songkla)
  • Classification : cs.CR (Cryptographie et Sécurité)
  • Statut de publication : Soumis à la revue IEEE ACCESS
  • Lien de l'article : https://arxiv.org/abs/2409.07852

Résumé

L'informatique quantique représente une menace mondiale majeure pour les mécanismes de sécurité actuels. Bien que les experts en sécurité et le secteur public aient publié des directives pour aider les organisations à migrer leurs logiciels vers la cryptographie post-quantique (CPQ), il manque des outils (semi-)automatisés pour soutenir cette transition, particulièrement lorsque les logiciels sont déployés sous forme d'exécutables binaires. Pour résoudre ce problème, cet article propose d'abord les exigences nécessaires pour les outils de détection des exécutables logiciels vulnérables aux attaques quantiques. Sur la base de ces exigences, nous introduisons QED : une chaîne d'outils de détection des exécutables vulnérables aux attaques quantiques. QED adopte une approche en trois phases pour identifier les dépendances vulnérables aux attaques quantiques dans un ensemble d'exécutables donné, du niveau fichier au niveau API, jusqu'à l'identification précise des traces statiques déclenchant les API vulnérables aux attaques quantiques. Les résultats d'évaluation montrent que : (1) QED distingue les exécutables vulnérables et sûrs aux attaques quantiques avec une précision de 100% sur l'ensemble de données synthétiques ; (2) QED est pratique et évolutif, complétant l'analyse des exécutables du monde réel en moins de 4 secondes en moyenne ; (3) QED réduit de plus de 90% le travail manuel requis pour que les analystes identifient les exécutables vulnérables aux attaques quantiques.

Contexte et Motivation de la Recherche

Définition du Problème

Avec le développement rapide de la technologie informatique quantique, passant de 2 qubits en 1998 à plus de 1000 qubits actuellement, les experts prédisent que les ordinateurs quantiques fonctionnels à grande échelle seront commercialisés dans les deux prochaines décennies. Les ordinateurs quantiques peuvent casser les systèmes cryptographiques à clé publique largement utilisés, tels que RSA (nécessitant 4098 qubits logiques) et la cryptographie par courbe elliptique (nécessitant 2330 qubits logiques).

Importance

La sensibilisation mondiale à la menace des attaques quantiques s'accroît, et des institutions comme le NIST recommandent aux organisations de constituer des équipes prêtes pour la transition quantique et de préparer la migration de leurs systèmes logiciels vers la cryptographie post-quantique. Cela comprend :

  1. La création d'inventaires cryptographiques pour évaluer l'utilisation de la cryptographie au sein de l'organisation
  2. L'évaluation des risques basée sur ces inventaires

Limitations des Approches Existantes

  1. Manque d'outils spécialisés : Il n'existe actuellement pas d'outils (semi-)automatisés spécialement conçus pour assister les tâches de migration vers la CPQ
  2. Charge d'analyse manuelle : Les analystes doivent s'appuyer sur divers outils dispersés et l'analyse manuelle pour identifier les systèmes logiciels vulnérables aux attaques quantiques
  3. Défis de l'analyse binaire : Les analystes n'ont généralement pas accès au code source et doivent effectuer la migration vers la CPQ basée sur les binaires du programme
  4. Problèmes de coûts : Nécessite des connaissances avancées en analyse binaire, augmentant les coûts budgétaires, temporels et humains

Motivation de la Recherche

Face à ces défis, particulièrement le manque de ressources des petites et moyennes entreprises pour effectuer la migration vers la CPQ, cet article vise à développer un outil automatisé pour réduire la charge de travail des analystes.

Contributions Principales

  1. Formulation des exigences : Première formulation systématique des spécifications d'exigences pour les outils d'assistance à la migration vers la CPQ des exécutables logiciels
  2. Chaîne d'outils QED : Conception et implémentation de la chaîne d'outils QED satisfaisant les exigences proposées, avec code source ouvert publiquement disponible
  3. Vérification empirique : Validation de la précision et de l'efficacité de QED sur des ensembles de données synthétiques et du monde réel, réalisant un taux de vrais positifs de 100% et réduisant le travail manuel de plus de 90%
  4. Valeur pratique : Fourniture d'un outil d'assistance critique à la migration vers la CPQ pour les petites et moyennes entreprises aux ressources limitées

Explication Détaillée de la Méthode

Définition de la Tâche

Étant donné un ensemble d'exécutables logiciels, l'objectif de QED est d'identifier les exécutables vulnérables aux attaques quantiques (VQ). Un exécutable logiciel est défini comme VQ si et seulement s'il existe au moins un chemin d'exécution possible entre son point d'entrée (fonction principale) et une API de bibliothèque cryptographique implémentant un algorithme VQ (tel que RSA, Diffie-Hellman, signature numérique par courbe elliptique).

Exigences de l'Outil (R1-R5)

  • R1 Liaison dynamique : Doit pouvoir identifier les exécutables utilisant les API VQ par liaison dynamique
  • R2 Analyse au niveau binaire : Indépendant de la disponibilité du code source
  • R3 Caractéristiques statiques : Utilise uniquement des caractéristiques statiques, ne nécessite pas de traces d'exécution à l'exécution
  • R4 Évolutivité : Supporte l'analyse d'un grand nombre d'exécutables logiciels, complétée dans un délai raisonnable
  • R5 Validité : Ne produit pas de faux négatifs, peut tolérer un petit nombre de faux positifs

Architecture du Modèle

QED adopte une architecture d'analyse progressive en trois phases :

Phase Un : Analyse des Dépendances au Niveau Fichier (P1)

Objectif : Identifier les exécutables ayant des dépendances envers les bibliothèques cryptographiques VQ

Méthode :

  1. Construire un graphe de dépendances logicielles G₁ = (V₁, E₁), où V₁ est l'ensemble des fichiers et E₁ représente les relations de dépendance directe
  2. Découvrir toutes les relations de dépendance par recherche en profondeur
  3. Localiser les bibliothèques cryptographiques VQ dans V₁
  4. Élaguer les nœuds sans dépendance envers les bibliothèques cryptographiques

Sortie : Chemins de dépendance au niveau fichier EV₁

Phase Deux : Analyse des Dépendances au Niveau API (P2)

Objectif : Réduire les faux positifs de P1, analyser les relations de dépendance au niveau API

Méthode :

  1. Construire un graphe de dépendances API G₂ = (V₂, E₂), où E₂ contient des triplets (n₁, n₂, apis)
  2. Vérifier si les nœuds prédécesseurs contiennent des appels de fonction vers les API VQ
  3. Supprimer les arêtes ne contenant pas d'appels d'API VQ
  4. Intégrer les informations de dépendance au niveau API pour chaque arête

Sortie : Chemins de dépendance contenant les informations d'API VQ EV₂

Phase Trois : Analyse de Trace Statique (P3)

Objectif : Identifier précisément les exécutables conformes à la définition VQ

Méthode :

  1. Construire un graphe d'appels statique pour l'analyse d'accessibilité
  2. Vérifier les chemins d'exécution du point d'entrée de l'exécutable vers les API VQ
  3. Supporter les modes normal et conservateur
    • Mode normal : L'absence de trace d'exécution indique directement une non-VQ
    • Mode conservateur : Traiter les traces manquantes comme des faux négatifs potentiels

Sortie : Traces d'exécution statiques EV₃

Points d'Innovation Technique

  1. Stratégie d'analyse progressive : Analyse en trois phases du grain grossier au grain fin, équilibrant vitesse et précision
  2. Utilisation des informations de noms d'API : Détection de l'utilisation cryptographique basée sur les informations de noms d'API, évitant les faux négatifs causés par les optimisations du compilateur
  3. Support de la liaison dynamique : Traitement spécialisé des scénarios d'utilisation des bibliothèques cryptographiques par liaison dynamique
  4. Modes d'analyse flexibles : Fourniture de deux modes, normal et conservateur, permettant aux analystes de choisir selon leurs besoins

Configuration Expérimentale

Ensembles de Données

Ensemble de Données Synthétiques

  • Bibliothèques cryptographiques : OpenSSL v1.1.1, OpenSSL v3.3.1, MbedTLS v2.28.8, wolfSSL v5.7.2
  • Primitives cryptographiques : SHA-512, AES-256, Diffie-Hellman, RSA, ECDSA (les trois derniers étant VQ)
  • Ensemble de dépendances directes : 20 exécutables (12 VQ, 8 non-VQ)
  • Ensemble de dépendances indirectes : 20 exécutables (12 VQ, 8 non-VQ)
  • Total : 40 exécutables (24 VQ, 16 non-VQ)

Ensemble de Données du Monde Réel

  • Coreutils : 109 logiciels non-cryptographiques (non-VQ)
  • UnixBench : 18 outils de test de performance (non-VQ)
  • Réseau : 13 outils de programmation réseau (7 VQ, 6 non-VQ)
  • tpm2-tools : 86 outils d'implémentation de fonctionnalités TPM
  • Total : 226 exécutables, taille moyenne 248 KB

Métriques d'Évaluation

  • Taux de vrais positifs (TVP) : Proportion d'exécutables VQ correctement identifiés
  • Taux de vrais négatifs (TVN) : Proportion d'exécutables non-VQ correctement identifiés
  • Temps d'exécution : Temps requis pour l'analyse de chaque phase
  • Utilisation mémoire : Utilisation maximale de RAM
  • Réduction du travail manuel : Nombre de fichiers nécessitant un examen manuel supplémentaire

Détails d'Implémentation

  • Langage de programmation : Python3 (environ 800 lignes de code)
  • Bibliothèques dépendantes : pyelftools (traitement des fichiers ELF), NetworkX (opérations sur graphes), angr (construction de graphes d'appels statiques)
  • Environnement expérimental : Ubuntu 20.04, Intel i5-8520U @ 1.6GHz, 24GB RAM

Résultats Expérimentaux

Résultats Principaux

Précision sur l'Ensemble de Données Synthétiques

PhaseDépendances DirectesDépendances IndirectesGlobal
P1TVP: 100%, TVN: 0%TVP: 100%, TVN: 0%TVP: 100%, TVN: 0%
P1+P2TVP: 100%, TVN: 100%TVP: 100%, TVN: 0%TVP: 100%, TVN: 50%
P1+P2+P3TVP: 100%, TVN: 100%TVP: 100%, TVN: 100%TVP: 100%, TVN: 100%

Performance sur l'Ensemble de Données du Monde Réel

  • Temps de traitement moyen : Environ 4 secondes par exécutable
  • Temps de traitement total : Environ 15 minutes pour 226 exécutables
  • Utilisation mémoire : Environ 180 MB pour P1 et P2, 3-5 GB pour P3
  • Réduction du travail manuel : Réduction de 226 à 20 (réduction de 91,15%)

Expériences d'Ablation

  • Phase P1 : Filtrage préliminaire rapide, mais taux de faux positifs élevé
  • Phase P2 : Réduction significative des faux positifs, particulièrement pour les scénarios de dépendances directes
  • Phase P3 : Amélioration supplémentaire de la précision, mais surcharge de calcul plus importante

Analyse de Cas

  • Cas de faux négatifs : Le programme curl échoue à l'analyse du graphe d'appels statique en raison de l'utilisation d'appels indirects (pointeurs de fonction)
  • Élimination des faux positifs : Les programmes sftp et scp, bien que liés à OpenSSL, n'utilisent que des API non-VQ

Découvertes Expérimentales

  1. Efficacité de l'analyse progressive : La conception en trois phases équilibre avec succès vitesse et précision
  2. Limitations de l'analyse statique : Les appels indirects restent un défi pour l'analyse statique
  3. Vérification de la praticité : L'outil fonctionne bien dans les environnements réels, réduisant significativement le travail manuel

Travaux Connexes

Outils de Découverte Cryptographique

Les outils existants se divisent en deux catégories : statique et dynamique :

  • Méthodes statiques : Basées sur des caractéristiques statiques telles que les vecteurs d'initialisation, les tables de recherche, les séquences d'instructions d'assemblage
  • Méthodes dynamiques : Basées sur les informations d'exécution telles que les structures de boucle, les relations entrée-sortie

Recherche sur la Migration vers la CPQ

  • Processus de migration : Quatre étapes : diagnostic → planification → exécution → maintenance
  • Agilité cryptographique : Capacité du système à s'adapter à différents algorithmes cryptographiques
  • Scénarios d'application : Binaires compilés, actifs de systèmes externes, couche de communication réseau

Avantages de cet Article

  • Spécifiquement ciblé sur la détection de vulnérabilité aux attaques quantiques
  • Support des scénarios de liaison dynamique
  • Ne nécessite pas l'exécution à l'exécution ou l'analyse symbolique lourde
  • Fournit un outil pratique de bout en bout

Conclusion et Discussion

Conclusions Principales

  1. QED satisfait avec succès les cinq exigences de conception (R1-R5)
  2. Réalise une précision de 100% sur l'ensemble de données synthétiques
  3. Réduit significativement le travail manuel sur l'ensemble de données du monde réel
  4. L'outil possède une bonne évolutivité et praticité

Limitations

  1. Détection d'appels indirects : L'analyse statique ne peut pas détecter l'utilisation d'API VQ via des pointeurs de fonction
  2. Restrictions de liaison : Suppose que les exécutables utilisent les bibliothèques cryptographiques par liaison dynamique
  3. Problème de code mort : Peut marquer les appels d'API VQ jamais exécutés comme positifs

Directions Futures

  1. Analyse dynamique légère : Combiner l'analyse dynamique pour identifier les appels indirects
  2. Support de la liaison statique : Étendre la détection aux fonctionnalités cryptographiques directement implémentées ou liées statiquement
  3. Correction automatisée : Étendre de l'identification à la correction (semi-)automatisée de l'utilisation vulnérable aux attaques quantiques

Évaluation Approfondie

Points Forts

  1. Importance du problème : Résout les points douloureux pratiques de la migration vers la CPQ
  2. Approche systématique : Processus complet de l'analyse des exigences à l'implémentation de l'outil
  3. Innovation technique : Conception raisonnable de la stratégie d'analyse progressive en trois phases
  4. Valeur pratique : L'outil open source possède une valeur importante pour les petites et moyennes entreprises
  5. Expérimentation complète : Vérification complète sur les ensembles de données synthétiques et du monde réel

Insuffisances

  1. Limitations de plateforme : Actuellement limité au format ELF Linux, évolutivité limitée
  2. Limitations linguistiques : Principalement ciblé sur les programmes C/C++
  3. Limitations de l'analyse statique : Analyse insuffisante des appels indirects et du code mort
  4. Portée d'évaluation : Certains programmes dans l'ensemble de données du monde réel manquent de vérité terrain

Impact

  1. Contribution académique : Comble le vide dans la recherche sur les outils de migration vers la CPQ
  2. Valeur pratique : Fournit des outils pratiques pour l'assistance à la migration vers la CPQ des organisations
  3. Reproductibilité : Le code source ouvert et les ensembles de données soutiennent la reproduction des résultats
  4. Potentiel de promotion : La méthode peut être étendue à d'autres plateformes et langages

Scénarios d'Application

  • Évaluation des risques de migration vers la CPQ des entreprises
  • Audit de sécurité de la chaîne d'approvisionnement logicielle
  • Analyse des dépendances cryptographiques
  • Vérification de la conformité en matière de sécurité

Références

L'article cite 42 références connexes, couvrant le développement de l'informatique quantique, les directives de migration vers la CPQ, les outils de détection cryptographique, l'analyse binaire et d'autres domaines importants, fournissant une base théorique solide pour la recherche.


Évaluation Globale : Cet article propose une solution systématique à l'important problème de la migration vers la cryptographie post-quantique. La chaîne d'outils QED est bien conçue, l'expérimentation est complète, et elle possède une valeur académique et pratique importante. Bien qu'il existe certaines limitations techniques, elle apporte une contribution importante au domaine de la migration vers la CPQ, en particulier en fournissant une solution viable pour les petites et moyennes entreprises aux ressources limitées.