La sicurezza è un parametro imprescindibile, e Google di certo lo sa bene. Ecco perché, in ultima analisi, gli ingegneri della sicurezza hanno annunciato il lancio di un progetto chiamato Wycheproof lo scorso Lunedì. Si tratta di una serie di test di sicurezza volte alla ricerca di debolezze note all’interno dei software di crittografia che generano comportamenti inattesi.
Prende il nome della montagna più piccola del mondo, il Monte Wycheproof, perché, come spiegano i responsabili del progetto: “Più piccola è la montagna, più è facile salire”. Il Progetto Wycheproof è stato rilasciato sul canale open-project di GitHub e può essere scaricato ed utilizzato per testare algoritmi crittografici popolari come AES EAX e AES-GCM, e le librerie software correlate.
Nel complesso, il progetto Wycheproof comprende più di 80 casistiche di test che hanno già portato alla luce più di 40 bug di sicurezza. Tuttavia, una parte di questi bug e test non sono al momento inclusi su GitHub, visto che molti fornitori stanno ancora affrontando problemi segnalati da Google. Il progetto include anche strumenti per controllare i fornitori di Java Cryptography Architecture, come ad esempio i fornitori di default di OpenJDK e Bouncy Castle.
Il progetto nasce dalla necessità di affrontare gli errori che si manifestano “troppo spesso” all’interno di soluzioni di crittografia open source. Con particolare riguardo, si citano i sistemi di cifratura dei dati in trasmissione attraverso reti locali, internet, l’etere in modalità wireless e quando i dati sono in uno stato di inattività. Come l’annuncio stesso sottolinea, un solo errore nella crittografia può avere conseguenze catastrofiche, e pertanto si deve provvedere attraverso soluzioni atte a risolvere e prevenire problemi di crittografia. Fornire una serie di test dovrebbe aiutare a risolvere il problema nel suo complesso.
La nostra prima serie di test è stata scritta in Java, poiché Java ha un’interfaccia di crittografia comune. Questo ci ha permesso di testare più fornitori con una singola suite di test. Anche se questa interfaccia è una soluzione di basso livello, e non deve essere utilizzata direttamente, ci riserviamo il diritto di applicare sistemi di difesa più incisivi, in vista di implementazioni più robuste.
Il software di crittografia Google si basa su una biblioteca, ovvero una raccolta di risorse catalogate ed unificate allo scopo di fornire le necessarie informazioni utili. Tra questi abbiamo, ad esempio, la documentazione, i dati di configurazione, i valori, e altro ancora. I test consentono ai fornitori di software di crittografia di controllare queste librerie per individuare problemi, ma i risultati non garantiscono comunque un dato sull’affidabilità sicuro al 100%. I risultati positivi riscontrati, hanno il semplice scopo di verificare che le librerie non siano vulnerabili agli attacchi esaminati dal target del Progetto Wycheproof.
Progetto Wycheproof controllerà gli algoritmi di crittografia più popolari, e le librerie software di supporto a questi algoritmi. Le prove comprendono il controllo per gli attacchi di tutti gli schemi Bleichenbacher, schemi di firma digitale, e molti altri.
Infine, l’obiettivo del Progetto Wycheproof è quello di permettere agli sviluppatori ed ai fornitori di controllare facilmente la sicurezza delle loro librerie. Per il momento, Google riconosce che il Progetto Wycheproof non è completo, ed è da considerasi un work in progress. Coloro che vogliono contribuire al progetto possono accedere alla pagina che riporta ai requisiti Google .
Per utilizzare i nuovi test open-source, gli utenti dovranno prima installare l’utility Bazel di Google per la creazione di software. Allo stesso modo, dovremo installare anche Java Cryptography Extension. L’elenco GitHub fornisce istruzioni complete per iniziare.