← Ultimi articoli
💻 computer science

Evaluating the Effectiveness of LLMs in Aiding Compliance Testing of PKCS#1-v1.5

Questo articolo valuta l'efficacia della combinazione tra mutazione a livello di grammatica e sintesi del codice basata su LLM per il testing di conformità delle implementazioni PKCS#1 v1.5, riscontrando che, sebbene l'approccio riproduca con successo vulnerabilità note e scopra nuove discrepanze, la sua utilità è severamente limitata da alti tassi di allucinazione degli LLM che creano un divario significativo tra affidabilità operativa e fedeltà semantica.

Autori originali: Polina Kozyreva, Endadul Hoque

Pubblicato 2026-06-19
📖 5 min di lettura🧠 Approfondimento

Autori originali: Polina Kozyreva, Endadul Hoque

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di essere un rigoroso ispettore edilizio. Il tuo compito è controllare se ogni casa costruita in una città segue esattamente lo stesso progetto. Il progetto (la "specifica") dice: "La porta d'ingresso deve essere larga 3 piedi, il tetto deve essere rosso e il camino deve essere alto esattamente 10 piedi".

Nel mondo della sicurezza informatica, queste "case" sono programmi software che gestiscono messaggi criptati (come le firme digitali). Il "progetto" è un insieme complesso di regole chiamato PKCS#1 v1.5. Se un programma costruisce una casa che non corrisponde perfettamente al progetto, potrebbe avere una porta sul retro nascosta che gli hacker possono usare per entrare.

Il Problema: Controllare è Difficile

Controllare queste case è incredibilmente difficile.

  • Indovinare a caso non funziona: Se lanci semplicemente dei mattoni casuali contro una casa, non costruirai quasi mai accidentalmente una porta larga esattamente 3 piedi. Hai bisogno di un piano molto specifico.
  • Gli strumenti degli esperti sono lenti: Esistono strumenti creati da esperti umani che possono controllare ogni possibile variazione del progetto, ma costruire questi strumenti richiede anni di studio approfondito e lavoro manuale. È come assumere un team di maestri architetti per ispezionare ogni singola casa.

La Nuova Idea: L' "Architetto AI"

I ricercatori in questo articolo si sono posti una domanda semplice: Possiamo usare un Large Language Model (un'IA) per agire come un "traduttore" che trasforma un progetto rotto in un test?

Ecco il loro processo:

  1. Il Progetto Originale: Hanno preso le regole ufficiali per la casa.
  2. Il Mutatore (la macchina del "E se...?"): Hanno usato un programma per computer per rompere intenzionalmente il progetto in 13 modi diversi. Ad esempio, potrebbero dire: "E se la porta fosse larga 4 piedi?" oppure "E se il tetto fosse blu?" o "E se rimuovessimo completamente il camino?".
  3. L'IA Traduttrice: Hanno consegnato questi progetti rotti all'IA e le hanno detto: "Scrivi un programma per computer che costruisca una casa esattamente secondo questo progetto rotto".
  4. Il Test: Hanno eseguito il programma dell'IA per costruire la casa e poi hanno cercato di sottoporre quella casa a 48 diversi programmi software (i "costruttori") per vedere se i costruttori accettavano la casa rotta. Se un costruttore accettava una casa rotta, quel costruttore aveva un difetto di sicurezza.

I Risultati: Una Storia di Due Numeri

I risultati sono stati un misto di ottime notizie e un grande avvertimento.

Le Buone Notizie (Affidabilità Operativa):
L'IA è stata incredibile nel seguire le istruzioni per iniziare il lavoro.

  • Il 99,8% delle volte, l'IA ha scritto con successo un programma che è stato in grado di girare senza crashare. Era come un architetto che riesce sempre a consegnarti dei progetti che non hanno refusi o pagine mancanti.

Le Cattive Notizie (Fedeltà Semantica):
Tuttavia, l'IA è stata terribile nel seguire effettivamente il progetto rotto.

  • Solo il 17,5% delle volte l'IA ha costruito la casa seguendo il modo in cui il progetto rotto richiedeva.
  • Nell'82,5% dei casi, l'IA ha "allucinato". Ha guardato il progetto rotto, ha pensato: "Oh, questo sembra sbagliato", e ha segretamente corretto il progetto riportandolo al progetto originale perfetto prima di costruire la casa.

L'Analogia:
Immagina di chiedere all'IA: "Costruisci una casa con una porta blu".

  • Successo: L'IA costruisce una casa con una porta blu.
  • Allucinazione: L'IA costruisce una casa con una porta rossa perché "sa" che le porte sono solitamente rosse, anche se avevi chiesto specificamente una porta blu. Ha ignorato la tua istruzione specifica.

Cosa hanno scoperto?

  1. Hanno trovato i bug importanti: L'approccio ha ricreato con successo 10 dei 13 noti difetti di sicurezza (inclusi i più pericolosi che permettono agli hacker di falsificare le firme). Questo dimostra che l'idea funziona.
  2. Hanno trovato un nuovo bug: Hanno scoperto un nuovo problema di sicurezza in una libreria chiamata LibTomCrypt che nessuno aveva mai segnalato prima. Ciò è accaduto perché l'IA ha costruito con successo una casa mancante di una parte specifica (lo zero iniziale/leading zero byte), e la libreria l'ha accettata.
  3. Il collo di bottiglia è l'IA, non il piano: I ricercatori hanno scoperto che il "Mutatore" (la macchina che rompe i progetti) stava facendo un ottimo lavoro. Il problema era interamente l'incapacità dell'IA di attenersi ai progetti rotti.

I Tipi di "Allucinazione"

I ricercatori hanno categorizzato come l'IA è fallita, come un medico che diagnostica un paziente:

  • Il "Correttore" (Il più comune): L'IA ha visto una regola errata (come "il padding deve essere meno di 16 byte") e ha pensato: "Questo è impossibile", quindi l'ha corretta silenziosamente riportandola alla regola normale.
  • Il "Genio della Matematica che ha dimenticato la matematica": L'IA ha cercato di seguire le regole ma ha sbagliato la matematica semplice (come calcolare quanto padding aggiungere), risultando in una casa della dimensione errata.
  • L' "Ignora": L'IA ha completamente ignorato la parte rotta del progetto e ha costruito una casa standard.

Il Punto Fondamentale

Questo articolo dimostra che usare l'IA per aiutare a testare la sicurezza informatica è promettente ma attualmente inaffidabile.

L'IA è brava a scrivere codice che gira (non va in crash), ma è molto scarsa nello scrivere codice che significa ciò che hai detto. Ha l'abitudine di "correggere" i tuoi errori intenzionali perché pensa di sapere meglio di te.

I ricercatori concludono che, se vuoi usare l'IA per questo tipo di test, non puoi semplicemente fidarti del codice che scrive. Devi avere un secondo livello di controllo per assicurarti che l'IA abbia effettivamente seguito le tue specifiche istruzioni rotte e non le abbia solo "corrette" riportandole alla normalità. Finché non accadrà, l'IA è come un tirocinante molto volenteroso che però spesso ignora i tuoi ordini specifici di fare le cose nel modo "giusto".

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →