Da metà 2023, Microsoft ha avviato una trasformazione silenziosa, ma ambiziosa: integrare Rust nel sistema operativo Windows.
Microsoft punta su Rust per rendere i driver di Windows 11 più stabili e sicuri
Rust è un linguaggio progettato per evitare gli errori più comuni nella gestione della memoria, quelli che spesso diventano falle di sicurezza. E ora, non solo il kernel di Windows può avviarsi con Rust, ma l’azienda sta spingendo gli sviluppatori a scrivere driver direttamente in questo linguaggio.
Nasce windows-drivers-rs: la piattaforma open source per i driver
A luglio, il team Surface ha presentato windows-drivers-rs, un progetto open source pensato per semplificare lo sviluppo di driver in Rust. Il cuore dell’iniziativa è cargo-wdk, un’estensione di Cargo (il gestore di pacchetti Rust) che genera progetti driver già configurati, con fasi di compilazione e strumenti WDK integrati.
In pratica, scrivere un driver in linguaggio Rust diventa simile a farlo in C con Visual Studio, ma con una marcia in più sul fronte della sicurezza.
Sicurezza e interoperabilità: perché Rust è la scelta giusta
Rust non solo previene vulnerabilità come buffer overflow e accessi non autorizzati alla memoria, ma si integra perfettamente con il codice C/C++ già esistente. Questo rende la transizione più fluida per gli sviluppatori e permette di mantenere la compatibilità con l’ecosistema Windows.
Microsoft sta collaborando con esperti Rust per creare astrazioni più sicure per i driver in modalità kernel (KMD) e utente (UMD). Alcune API e strutture sono già disponibili nel kernel di Windows, e altri team stanno lavorando per estendere queste soluzioni anche ai driver di terze parti.
Analisi statica e best practice: il ruolo di CodeQL
Nei prossimi mesi, Microsoft condividerà nuove linee guida per lo sviluppo sicuro dei driver. Tra le pratiche consigliate, spicca l’uso di CodeQL per l’analisi statica del codice, già introdotto nelle linee guida aggiornate per Windows 11 25H2.