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

Una Toolchain per Assistere la Migrazione di Eseguibili Software verso la Crittografia Post-Quantistica

Informazioni Fondamentali

  • ID Articolo: 2409.07852
  • Titolo: Una Toolchain per Assistere la Migrazione di Eseguibili Software verso la Crittografia Post-Quantistica
  • Autori: Norrathep Rattanavipanon, Jakapan Suaboot, Warodom Werapun (Prince of Songkla University)
  • Classificazione: cs.CR (Crittografia e Sicurezza)
  • Stato di Pubblicazione: Sottomesso alla rivista IEEE ACCESS
  • Link Articolo: https://arxiv.org/abs/2409.07852

Riassunto

L'informatica quantistica rappresenta una minaccia globale significativa per gli attuali meccanismi di sicurezza. Sebbene gli esperti di sicurezza e il settore pubblico abbiano pubblicato linee guida per assistere le organizzazioni nella migrazione del software verso la crittografia post-quantistica (PQC), mancano strumenti (semi)automatizzati che supportino questa conversione, in particolare quando il software è distribuito sotto forma di eseguibili binari. Per affrontare questo problema, il presente articolo propone innanzitutto i requisiti necessari per gli strumenti di rilevamento degli eseguibili software vulnerabili ai quantum. Sulla base di questi requisiti, viene introdotto QED: la toolchain di rilevamento degli eseguibili vulnerabili ai quantum. QED adotta un approccio a tre fasi per identificare le dipendenze vulnerabili ai quantum in un determinato insieme di eseguibili, dal livello di file al livello di API, fino all'identificazione precisa delle tracce statiche che attivano le API vulnerabili ai quantum. I risultati della valutazione mostrano che: (1) QED distingue gli eseguibili vulnerabili ai quantum da quelli sicuri con una precisione del 100% su dataset sintetici; (2) QED è pratico e scalabile, completando l'analisi di eseguibili del mondo reale in meno di 4 secondi in media; (3) QED riduce il lavoro manuale richiesto agli analisti per identificare gli eseguibili vulnerabili ai quantum di oltre il 90%.

Contesto di Ricerca e Motivazione

Definizione del Problema

Con il rapido sviluppo della tecnologia dell'informatica quantistica, evolvendosi da 2 qubit nel 1998 a oltre 1000 qubit oggi, gli esperti prevedono che i computer quantistici funzionali su larga scala saranno commercializzati entro i prossimi vent'anni. I computer quantistici sono in grado di decifrare i sistemi di crittografia a chiave pubblica attualmente diffusi, come RSA (che richiede 4098 qubit logici) e la crittografia a curva ellittica (che richiede 2330 qubit logici).

Importanza

La consapevolezza globale della minaccia di attacchi quantistici è in aumento, e istituzioni come il NIST raccomandano alle organizzazioni di istituire team pronti per il quantum, preparandosi a migrare i sistemi software verso la crittografia post-quantistica. Questo include:

  1. Creazione di inventari crittografici per valutare l'uso della crittografia all'interno dell'organizzazione
  2. Conduzione di valutazioni dei rischi sulla base di questi inventari

Limitazioni degli Approcci Esistenti

  1. Mancanza di Strumenti Specializzati: Attualmente non esistono strumenti (semi)automatizzati appositamente progettati per assistere i compiti di migrazione verso PQC
  2. Onere dell'Analisi Manuale: Gli analisti devono fare affidamento su vari strumenti dispersi e analisi manuale per identificare i sistemi software vulnerabili ai quantum
  3. Sfide nell'Analisi Binaria: Gli analisti spesso non hanno accesso al codice sorgente e devono condurre la migrazione verso PQC basandosi sui file binari del programma
  4. Problemi di Costo: Richiede conoscenze avanzate di analisi binaria, aumentando i costi di budget, tempo e risorse umane

Motivazione della Ricerca

Affrontando queste sfide, in particolare il problema della mancanza di risorse per la migrazione verso PQC nelle piccole e medie imprese, il presente articolo mira a sviluppare uno strumento automatizzato per alleviare il carico di lavoro degli analisti.

Contributi Principali

  1. Formulazione dei Requisiti: Formulazione sistematica per la prima volta dei requisiti di specifica per gli strumenti che assistono la migrazione verso PQC degli eseguibili software
  2. Toolchain QED: Progettazione e implementazione della toolchain QED che soddisfa i requisiti proposti, con codice open source reso pubblico
  3. Verifica Empirica: Verifica dell'accuratezza e dell'efficienza di QED su dataset sintetici e del mondo reale, raggiungendo il 100% di vero positivo e riducendo il lavoro manuale di oltre il 90%
  4. Valore Pratico: Fornitura di uno strumento critico di assistenza alla migrazione verso PQC per le piccole e medie imprese con risorse limitate

Spiegazione Dettagliata del Metodo

Definizione del Compito

Dato un insieme di eseguibili software, l'obiettivo di QED è identificare gli eseguibili vulnerabili ai quantum (QV). Un eseguibile software è definito come QV se e solo se esiste almeno un possibile percorso di esecuzione dal suo punto di ingresso (funzione main) a un'API di libreria crittografica che implementa algoritmi QV (come RSA, Diffie-Hellman, firma digitale a curva ellittica).

Requisiti dello Strumento (R1-R5)

  • R1 Collegamento Dinamico: Deve essere in grado di identificare gli eseguibili che utilizzano API QV attraverso il collegamento dinamico
  • R2 Analisi a Livello Binario: Non dipende dalla disponibilità del codice sorgente
  • R3 Caratteristiche Statiche: Utilizza solo caratteristiche statiche, senza richiedere tracce di esecuzione a runtime
  • R4 Scalabilità: Supporta l'analisi di un gran numero di eseguibili software, completata in tempo ragionevole
  • R5 Validità: Non produce falsi negativi, tollerando un piccolo numero di falsi positivi

Architettura del Modello

QED adotta un'architettura di analisi progressiva a tre fasi:

Fase Uno: Analisi delle Dipendenze a Livello di File (P1)

Obiettivo: Identificare gli eseguibili che hanno relazioni di dipendenza con librerie crittografiche QV

Metodo:

  1. Costruire il grafo delle dipendenze software G₁ = (V₁, E₁), dove V₁ è l'insieme dei file e E₁ rappresenta le relazioni di dipendenza diretta
  2. Scoprire tutte le relazioni di dipendenza attraverso la ricerca in profondità
  3. Localizzare le librerie crittografiche QV in V₁
  4. Potare i nodi senza relazioni di dipendenza con le librerie crittografiche

Output: Percorsi di dipendenza a livello di file EV₁

Fase Due: Analisi delle Dipendenze a Livello di API (P2)

Obiettivo: Ridurre i falsi positivi da P1, analizzando le relazioni di dipendenza a livello di API

Metodo:

  1. Costruire il grafo delle dipendenze API G₂ = (V₂, E₂), dove E₂ contiene triple (n₁, n₂, apis)
  2. Verificare se i nodi predecessori contengono chiamate di funzione a API QV
  3. Rimuovere i bordi che non contengono chiamate a API QV
  4. Incorporare informazioni di dipendenza a livello di API in ogni bordo

Output: Percorsi di dipendenza con informazioni API QV EV₂

Fase Tre: Analisi della Traccia Statica (P3)

Obiettivo: Identificare con precisione gli eseguibili che soddisfano la definizione di QV

Metodo:

  1. Costruire il grafo di chiamate statico per l'analisi di raggiungibilità
  2. Verificare i percorsi di esecuzione dal punto di ingresso dell'eseguibile alle API QV
  3. Supportare modalità normale e conservativa
    • Modalità normale: traccia di esecuzione mancante indica direttamente non-QV
    • Modalità conservativa: traccia mancante considerata come potenziale falso negativo

Output: Traccia di esecuzione statica EV₃

Punti di Innovazione Tecnica

  1. Strategia di Analisi Progressiva: Analisi a tre fasi da granularità grossolana a fine, bilanciando velocità e accuratezza
  2. Utilizzo di Informazioni sui Nomi delle API: Rilevamento dell'uso della crittografia basato su informazioni sui nomi delle API, evitando falsi negativi causati dall'ottimizzazione del compilatore
  3. Supporto del Collegamento Dinamico: Gestione specializzata di scenari in cui la crittografia viene utilizzata attraverso il collegamento dinamico
  4. Modalità di Analisi Flessibili: Fornisce modalità normale e conservativa, consentendo agli analisti di scegliere in base alle esigenze

Configurazione Sperimentale

Dataset

Dataset Sintetico

  • Librerie Crittografiche: OpenSSL v1.1.1, OpenSSL v3.3.1, MbedTLS v2.28.8, wolfSSL v5.7.2
  • Primitive Crittografiche: SHA-512, AES-256, Diffie-Hellman, RSA, ECDSA (gli ultimi tre sono QV)
  • Set di Dipendenze Dirette: 20 eseguibili (12 QV, 8 non-QV)
  • Set di Dipendenze Indirette: 20 eseguibili (12 QV, 8 non-QV)
  • Totale: 40 eseguibili (24 QV, 16 non-QV)

Dataset del Mondo Reale

  • Coreutils: 109 software non-crittografici (non-QV)
  • UnixBench: 18 strumenti di benchmark delle prestazioni (non-QV)
  • Network: 13 programmi di strumenti di rete (7 QV, 6 non-QV)
  • tpm2-tools: 86 strumenti di implementazione delle funzionalità TPM
  • Totale: 226 eseguibili, dimensione media 248KB

Metriche di Valutazione

  • Tasso di Veri Positivi (TPR): Proporzione di eseguibili QV correttamente identificati
  • Tasso di Veri Negativi (TNR): Proporzione di eseguibili non-QV correttamente identificati
  • Tempo di Esecuzione: Tempo richiesto per l'analisi in ogni fase
  • Utilizzo della Memoria: Utilizzo massimo di RAM
  • Riduzione del Lavoro Manuale: Numero di file che richiedono ulteriore revisione manuale

Dettagli di Implementazione

  • Linguaggio di Programmazione: Python3 (circa 800 righe di codice)
  • Librerie Dipendenti: pyelftools (elaborazione file ELF), NetworkX (operazioni su grafi), angr (costruzione di grafi di chiamate statici)
  • Ambiente Sperimentale: Ubuntu 20.04, Intel i5-8520U @ 1.6GHz, 24GB RAM

Risultati Sperimentali

Risultati Principali

Accuratezza su Dataset Sintetico

FaseDipendenze DiretteDipendenze IndiretteTotale
P1TPR: 100%, TNR: 0%TPR: 100%, TNR: 0%TPR: 100%, TNR: 0%
P1+P2TPR: 100%, TNR: 100%TPR: 100%, TNR: 0%TPR: 100%, TNR: 50%
P1+P2+P3TPR: 100%, TNR: 100%TPR: 100%, TNR: 100%TPR: 100%, TNR: 100%

Prestazioni su Dataset del Mondo Reale

  • Tempo di Elaborazione Medio: Circa 4 secondi per eseguibile
  • Tempo di Elaborazione Totale: Circa 15 minuti per 226 eseguibili
  • Utilizzo della Memoria: P1 e P2 circa 180MB, P3 circa 3-5GB
  • Riduzione del Lavoro Manuale: Ridotto da 226 a 20 (riduzione del 91,15%)

Esperimenti di Ablazione

  • Fase P1: Screening preliminare veloce, ma alto tasso di falsi positivi
  • Fase P2: Riduce significativamente i falsi positivi, in particolare per scenari di dipendenza diretta
  • Fase P3: Migliora ulteriormente la precisione, ma con maggiore overhead computazionale

Analisi di Casi

  • Caso di Falso Negativo: Il programma curl fallisce nell'analisi del grafo di chiamate statico a causa dell'uso di chiamate indirette (puntatori a funzione)
  • Eliminazione di Falsi Positivi: I programmi sftp e scp, sebbene collegati a OpenSSL, utilizzano solo API non-QV

Scoperte Sperimentali

  1. Efficacia dell'Analisi Progressiva: Il design a tre fasi bilancia con successo velocità e accuratezza
  2. Limitazioni dell'Analisi Statica: Le chiamate indirette rimangono una sfida per l'analisi statica
  3. Verifica della Praticità: Lo strumento funziona bene in ambienti reali, riducendo significativamente il lavoro manuale

Lavori Correlati

Strumenti di Scoperta Crittografica

Gli strumenti esistenti si dividono in due categorie: statica e dinamica:

  • Metodi Statici: Basati su caratteristiche statiche come vettori di inizializzazione, tabelle di ricerca, sequenze di istruzioni assembly
  • Metodi Dinamici: Basati su informazioni a runtime come strutture di ciclo, relazioni input-output

Ricerca sulla Migrazione verso PQC

  • Processo di Migrazione: Quattro fasi: diagnosi → pianificazione → esecuzione → manutenzione
  • Agilità Crittografica: Capacità del sistema di adattarsi a diversi algoritmi crittografici
  • Scenari di Applicazione: Binari compilati, asset di sistemi esterni, livello di comunicazione di rete

Vantaggi di Questo Articolo

  • Focalizzato specificamente sul rilevamento della vulnerabilità quantistica
  • Supporta scenari di collegamento dinamico
  • Non richiede esecuzione a runtime o analisi simbolica pesante
  • Fornisce uno strumento end-to-end pratico

Conclusioni e Discussione

Conclusioni Principali

  1. QED soddisfa con successo tutti e cinque i requisiti di progettazione (R1-R5)
  2. Raggiunge il 100% di accuratezza su dataset sintetici
  3. Riduce significativamente il lavoro manuale su dataset del mondo reale
  4. Lo strumento dimostra buona scalabilità e praticità

Limitazioni

  1. Rilevamento di Chiamate Indirette: L'analisi statica non può rilevare l'uso di API QV attraverso puntatori a funzione
  2. Restrizioni sul Modo di Collegamento: Presuppone che gli eseguibili utilizzino librerie crittografiche attraverso il collegamento dinamico
  3. Problema del Codice Morto: Potrebbe contrassegnare come positivi i richiami di API QV che non vengono mai eseguiti

Direzioni Future

  1. Analisi Dinamica Leggera: Combinare l'analisi dinamica per rilevare le chiamate indirette
  2. Supporto del Collegamento Statico: Estendere il rilevamento alle funzionalità crittografiche direttamente implementate o collegate staticamente
  3. Patching Automatizzato: Estendere dall'identificazione al patching (semi)automatico dell'uso vulnerabile ai quantum

Valutazione Approfondita

Punti di Forza

  1. Importanza del Problema: Affronta i punti critici effettivi nella migrazione verso PQC
  2. Approccio Sistematico: Processo completo dall'analisi dei requisiti all'implementazione dello strumento
  3. Innovazione Tecnica: La strategia di analisi progressiva a tre fasi è ben progettata
  4. Valore Pratico: Lo strumento open source ha un valore significativo per le piccole e medie imprese
  5. Sperimentazione Completa: La verifica con dataset sintetici e del mondo reale è esaustiva

Carenze

  1. Limitazioni di Piattaforma: Attualmente supporta solo il formato ELF di Linux, con scalabilità limitata
  2. Limitazioni Linguistiche: Principalmente orientato a programmi C/C++
  3. Limitazioni dell'Analisi Statica: Analisi insufficiente per le chiamate indirette e il codice morto
  4. Ambito di Valutazione: Alcuni programmi nel dataset del mondo reale mancano di ground truth

Impatto

  1. Contributo Accademico: Colma il vuoto nella ricerca su strumenti per la migrazione verso PQC
  2. Valore Pratico: Fornisce uno strumento pratico per la valutazione del rischio di migrazione verso PQC nelle organizzazioni
  3. Riproducibilità: Il codice open source e i dataset supportano la riproduzione dei risultati
  4. Potenziale di Diffusione: Il metodo è estensibile ad altre piattaforme e linguaggi

Scenari di Applicazione

  • Valutazione del rischio di migrazione verso PQC aziendale
  • Audit di sicurezza della catena di fornitura del software
  • Analisi delle dipendenze crittografiche
  • Controlli di conformità alla sicurezza

Bibliografia

L'articolo cita 42 opere correlate, coprendo lo sviluppo dell'informatica quantistica, le linee guida per la migrazione verso PQC, gli strumenti di rilevamento crittografico, l'analisi binaria e altri campi importanti, fornendo una base teorica solida per la ricerca.


Valutazione Complessiva: Il presente articolo affronta il problema importante della migrazione verso la crittografia post-quantistica, proponendo una soluzione sistematica. La toolchain QED è ben progettata, la verifica sperimentale è completa e possiede un significativo valore accademico e pratico. Sebbene esistano alcune limitazioni tecniche, l'articolo apporta contributi importanti al campo della migrazione verso PQC, fornendo in particolare una soluzione pratica per le piccole e medie imprese con risorse limitate.