Hidden Ciphers and Where to Find Them: Static Discovery and Assessment of Cryptographic Assets in Software
Questo articolo presenta un approccio di analisi statica basato sulla classificazione per la scoperta e la valutazione degli asset crittografici attraverso i sistemi software, dimostrando la sua efficacia nell'identificare vulnerabilità e candidati alla migrazione post-quantistica per migliorare la governance della sicurezza e la trasparenza.
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
La Fortezza Invisibile e la Mappa per Trovarla
Immaginate che ogni software che utilizzate oggi — il vostro videogioco preferito, la vostra app bancaria, persino il frigorifero intelligente — sia costruito all'interno di una massiccia, invisibile fortezza. Le mura di questa fortezza sono fatte di crittografia, un tipo speciale di magia matematica che tiene i vostri dati al sicuro, in modo che solo le persone giuste possano aprirli. È il motivo per cui le vostre password rimangono segrete e i vostri messaggi non possono essere letti da estranei. Per molto tempo, le aziende si sono limitate a sperare che queste mura fossero abbastanza robuste, ma non avevano davvero una mappa per vedere dove fossero i mattoni, dove fossero le porte, o se alcuni di essi fossero fatti di cartone invece che di acciaio.
Ora, una nuova minaccia sta bussando alla porta: i computer quantistici. Queste sono macchine super potenti che, in futuro, potrebbero essere in grado di sfondare gli attuali lucchetti crittografici come se fossero fatti di carta. Per sopravvivere a questo, le organizzazioni devono sapere esattamente che tipo di serrature possiedono in questo momento, in modo da poterle sostituire con quelle "a prova di quantum" prima che arrivino i cattivi. Ma ecco il problema: questi lucchetti digitali sono sparsi ovunque. Sono nascosti dentro righe di codice, sepolti in file di configurazione, rintanati in chiavi segrete e mescolati nelle librerie software che i programmi utilizzano. Senza un modo per trovarli tutti, non è possibile ripararli. È qui che entra in gioco un nuovo articolo, offrendo una torcia per gli angoli bui del software.
L'Articolo: Una Caccia al Tesoro per Lucchetti Digitali
L'articolo, intitolato "Hidden Ciphers and Where to Find Them" (Cifrari Nascosti e Dove Trovarli), introduce un nuovo e ingegnoso metodo per dare la caccia a questi asset crittografici nascosti. Gli autori, Christian Näther ed Eduard Hirsch, si sono resi conto che cercare di trovare questi lucchetti era come cercare di pulire una stanza disordinata senza una lista di ciò che vi appartiene. Alcune persone cercavano tipi specifici di chiavi, mentre altre stavano solo tirando a indovinare. Gli autori hanno deciso di costruire una caccia al tesoro sistematica.
Per prima cosa, hanno creato un sistema di classificazione, che è come un set di tre diverse lenti d'ingrandimento per osservare il software. Si sono resi conto che il "materiale" crittografico arriva in tre gusti distinti:
- Crypto-Material (Materiale Crittografico): Questi sono i veri segreti, come le chiavi private e le password stesse. Pensate a questi come alle vere monete d'oro nel forziere.
- Crypto-Artifacts (Artefatti Crittografici): Questi sono i contenitori strutturati, come certificati o carte d'identità digitali che contengono informazioni su chi è autorizzato a entrare. Questi sono i contenitori eleganti in cui arrivano le monete.
- Crypto-Invocations (Invocazioni Crittografiche): Questi sono i momenti in cui il software utilizza effettivamente la magia. È come vedere qualcuno che gira una chiave in una serratura o digita una password. Questa è l'azione di usare il tesoro.
Per rendere questa caccia efficiente, gli autori hanno costruito due strumenti principali. Il primo è un Repository di Regole chiamato "Crypistry". Immaginatelo come un enorme ricettario in continuo aggiornamento. Invece di inserire istruzioni codificate in un robot, il ricettario elenca esattamente cosa cercare (come "trova qualsiasi file che termina con .pem" o "cerca il comando OpenSSL::Cipher"). Ciò significa che se appare un nuovo tipo di lucchetto, basta aggiungere una nuova ricetta al libro; non è necessario ricostruire l'intero robot.
Il secondo strumento è lo Scanner, chiamato "Crypsy". Questo è il robot che legge il ricettario e scansiona il software. Non tira a indovinare; segue le regole per trovare il materiale, gli artefatti e le invocazioni. Una volta trovati, non si limita a elencarli; li valuta. Controlla se un lucchetto è debole (come una cerniera arrugginita) o se è una vulnerabilità nota (come una porta che è già stata scassinata dai ladri in precedenza). Successivamente, produce un CBOM (Cryptographic Bill of Materials), che è essenzialmente un inventario dettagliato di ogni lucchetto e chiave trovata, pronto per essere utilizzato dai team di sicurezza.
Cosa Hanno Trovato e Quanto Sono Sicuri
Gli autori hanno testato il loro robot in due modi per vedere se funzionasse davvero.
In primo luogo, hanno costruito un benchmark sintetico chiamato "Cryben". Questo era un sistema software fittizio che avevano creato dove sapevano esattamente dove ogni singolo lucchetto e chiave fosse nascosto. Era come una caccia al tesoro di prova dove conoscevano la chiave di risposta. Quando hanno eseguito Crypsy contro questo test, ha trovato il 75% degli oggetti nascosti correttamente (un punteggio F1 di 0,75). Era molto bravo a trovare i veri segreti (le monete d'oro), ma a volte mancava i modi più complessi in cui il software utilizzava i lucchetti. Tuttavia, per quanto riguarda l'etichettatura dei problemi trovati, è stato incredibilmente accurato, identificando correttamente il 91% delle debolezze e delle vulnerabilità attese.
Successivamente, hanno portato lo scanner nel mondo reale. Hanno scansionato una vera infrastruttura IT composta da dieci servizi implementati (tra cui GitLab, un runner CI/CD e un database). Hanno scansionato 57.610 file in meno di sei minuti. In questo caos del mondo reale, lo scanner ha scoperto 370 asset crittografici. Ha trovato sei vulnerabilità specifiche legate a falle di sicurezza note (CVE) e ha identificato 52 elementi che dovrebbero essere sostituiti per sopravvivere alla futura minaccia dei computer quantistici.
Gli autori sono piuttosto fiduciosi in questi risultati, ma sono cauti nel sottolinearne i limiti. Ammettono che il loro scanner è attualmente migliore nel trovare cose nei linguaggi di programmazione Ruby e Go, e che dipende dal fatto che il "ricettario" (Crypistry) sia aggiornato. Se un lucchetto è nascosto in un modo che il ricettario non conosce ancora, lo scanner potrebbe mancarlo. Hanno anche scoperto che, sebbene lo scanner sia ottimo nel trovare potenziali problemi, alcuni di questi risultati richiedono il controllo di un essere umano per capire se siano effettivamente pericolosi, perché lo scanner non sempre riesce a capire come un pezzo di codice venga utilizzato nel contesto più ampio.
Il Quadro Generale
Questo articolo non sostiene di aver risolto l'intero problema della sicurezza del software. Inveve, offre un modo pratico e strutturato per vedere finalmente cosa si nasconde nellamente buio. Classificando i diversi tipi di asset crittografici e separando le "regole" dallo "scanner", gli autori hanno creato un sistema che può crescere e adattarsi. I loro risultati suggeriscono che, con questo approccio, le organizzazioni possono finalmente ottenere una visione chiara del loro panorama crittografico, che è il primo passo essenziale prima di poter iniziare a sostituire i vecchi lucchetti con quelli nuovi, a prova di quantum. È una mappa per la caccia al tesoro e, per la prima volta, la mappa sembra portare davvero da qualche parte.
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.