
Gli scienziati del centro di ricerca francese Inria, insieme a Microsoft, hanno sviluppato un modo per convertire automaticamente il codice C in codice Rust sicuro, con l’obiettivo di soddisfare la crescente domanda di sicurezza della memoria.
Creato negli anni ’70, il linguaggio di programmazione C è diventato la base per molti sistemi, applicazioni e librerie mission-critical, incluso il kernel Linux. Tuttavia il C, come la sua continuazione logica C++, non garantisce la sicurezza della memoria. La sua gestione manuale della memoria, pur fornendo flessibilità ed efficienza, è soggetta a errori come out-of-bounds e use-after-free.
Questi bug costituiscono una parte significativa delle vulnerabilità del software. Ad esempio, nel 2019 costituivano il 76% delle vulnerabilità di Android, ma grazie all’utilizzo di Rust e del secure code questa cifra è scesa al 24% nel 2024.
Avvio delle iscrizioni al corso Cyber Offensive Fundamentals Vuoi smettere di guardare tutorial e iniziare a capire davvero come funziona la sicurezza informatica? La base della sicurezza informatica, al di là di norme e tecnologie, ha sempre un unico obiettivo: fermare gli attacchi dei criminali informatici. Pertanto "Pensa come un attaccante, agisci come un difensore". Ti porteremo nel mondo dell'ethical hacking e del penetration test come nessuno ha mai fatto prima. Per informazioni potete accedere alla pagina del corso oppure contattarci tramite WhatsApp al numero 379 163 8765 oppure scrivendoci alla casella di posta [email protected].
Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì. |
Rust ti permette di scrivere codice sia sicuro che non sicuro, lasciando la scelta allo sviluppatore. Al contrario, C e C++ richiedono uno sforzo significativo, come analisi e test statici, ma non la forniscono in modo nativo.
Negli ultimi anni c’è stato un forte sostegno al passaggio a linguaggi con sicurezza della memoria incorporata, come Rust, Go, Python e Java. Nonostante ciò, alcuni programmatori continuano a cercare modi per utilizzare C e C++ in modo sicuro, evitando il passaggio a Rust. Google, pur promuovendo attivamente Rust, riconosce anche che C e C++ rimarranno in uso per molti anni a venire.
Tra i tentativi di migliorare la sicurezza del C spiccano progetti come TrapC e Fil-C. Il primo sviluppa un approccio a un sottoinsieme del linguaggio e il secondo, pur fornendo sicurezza, riduce le prestazioni e non supporta la piena compatibilità con l’interfaccia binaria dell’applicazione.
Lo studio, Compiling C into Safe Rust , dei ricercatori Aymeric Fromertz (Inria) e Jonathan Protzenko (Microsoft), offre un approccio alternativo. Si sono concentrati sulla traduzione del codice formalmente testato per l’uso industriale in Rust sicuro. Per fare ciò, è stato creato un sottoinsieme del linguaggio C chiamato Mini-C, che evita costrutti difficili da tradurre come l’aritmetica dei puntatori e la mutabilità implicita.
Utilizzando Mini-C tramite il compilatore KaRaMeL, gli sviluppatori ottengono la conversione automatica del codice in Rust sicuro. Ad esempio, la libreria di crittografia HACL, composta da 80.000 righe di codice, è stata tradotta con modifiche minime. E la libreria serializzatore EverParse, contenente 1.400 righe di codice, è stata convertita senza alcuna modifica. Le prestazioni del codice Rust risultante sono rimaste al livello del C originale, nonostante l’aggiunta di ulteriori controlli e altri miglioramenti.
I frutti del lavoro dei ricercatori vengono già utilizzati nelle applicazioni di sicurezza del mondo reale. Ad esempio, la versione Rust di HACL è stata recentemente integrata nelle librerie Mozilla NSS e OpenSSH.
Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

Cyber ItaliaPer troppo tempo abbiamo interpretato la sicurezza informatica esclusivamente come una fredda barriera di firewall e algoritmi. Abbiamo dimenticato che dietro ogni schermo, ogni attacco e ogni innovazione, batte un cuore umano. In un panorama…
Cyber ItaliaNel monitoraggio quotidiano dei forum underground capita spesso di imbattersi in leak che, almeno a una prima lettura, sembrano “ordinari”: liste di credenziali, accessi a servizi legacy, dump poco strutturati. Il thread “NEW LEAK FTP LOGIN” comparso…
CulturaLinus Torvalds, il creatore di Linux, ha espresso una posizione ferma e senza mezze misure riguardo al dibattito sull’integrazione e l’uso di strumenti di intelligenza artificiale nella scrittura e revisione del codice del kernel di…
CybercrimeNel mondo di oggi la tecnologia non è più un mero strumento di efficienza o comodità, ma una leva geopolitica di primaria importanza. L’accesso a infrastrutture digitali, piattaforme cloud e sistemi di comunicazione non è…
CybercrimeImmaginate una situazione in cui Internet sembra funzionare, ma i siti web non si aprono oltre la prima schermata, le app di messaggistica sono intermittenti e le aziende sono in continuo cambiamento. Secondo gli autori…