Microsoft illustra i miglioramenti per i driver di Windows 11 di nuova generazione

Microsoft illustra i miglioramenti per i driver di Windows 11 di nuova generazione

Integrazione di Rust da parte di Microsoft nello sviluppo di driver Windows

Da metà del 2023, Microsoft si è concentrata sull’integrazione di Rust nel sistema operativo Windows. Questa iniziativa è iniziata con la riuscita integrazione di Rust nel kernel di Windows e si è ora evoluta per incoraggiare gli sviluppatori di driver ad adottare questo innovativo linguaggio di programmazione.

Lancio del windows-drivers-rsprogetto Open-Source

A luglio, Microsoft ha presentato il progetto open source windows-drivers-rs, un’iniziativa del team Surface volta a semplificare lo sviluppo di driver per Windows utilizzando Rust. Questo framework è progettato per aumentare l’efficienza dello sviluppo di driver in Rust, offrendo un’alternativa più moderna ai linguaggi convenzionali come il C.

Introduzione della cargo-wdkcassa

Di recente, Microsoft ha annunciato miglioramenti a questa iniziativa, in particolare con il lancio di cargo-wdkCrate. Questa nuova estensione Cargo semplifica il processo di creazione dei driver generando progetti driver vuoti dotati di passaggi di compilazione, dipendenze e collegamenti preconfigurati. Può anche utilizzare strumenti di Windows Driver Kit (WDK) come InfVerif, rispecchiando l’esperienza di creazione di driver con C in Visual Studio.

Vantaggi dell’utilizzo di Rust

Rust si distingue dai linguaggi di programmazione tradizionali come C per le sue funzionalità di sicurezza della memoria di livello superiore. Questa caratteristica riduce significativamente il rischio di vulnerabilità di sicurezza legate alla memoria. Inoltre, Rust vanta un’eccezionale compatibilità con il codice dei driver C e C++, semplificando la transizione per gli sviluppatori.

Obiettivi e sviluppi futuri

La visione a lungo termine di Microsoft è quella di fornire agli sviluppatori Rust all’interno dell’ecosistema Cargo strumenti di compilazione e opzioni di configurazione equivalenti a quelli disponibili in Visual Studio. Nel medio termine, l’azienda punta a implementare l’installazione automatica del Windows Driver Kit, il supporto per NT_TARGET_VERSION e la piena compatibilità con ARM64, tra gli altri miglioramenti.

Stato attuale di Rust nello sviluppo dei driver

Attualmente, il windows-drivers-rsframework supporta specifici tipi di driver in Rust; tuttavia, richiede ancora una notevole quantità di codice non sicuro. Microsoft sta collaborando attivamente con gli specialisti di Rust per creare astrazioni più sicure sia per i driver in modalità kernel (KMD) che per i driver in modalità utente (UMD).Diversi team stanno inoltre lavorando allo sviluppo di strutture e API sicure, pensate sia per le funzionalità principali del kernel che per lo sviluppo di driver di terze parti, e alcune di queste innovazioni sono già integrate nel kernel di Windows.

Comprensione dell’astrazione nello sviluppo dei driver

Per chi non avesse familiarità con il termine, in questo contesto l’astrazione si riferisce al processo di transizione sicuro tra la modalità utente e la modalità kernel. La modalità kernel opera al livello di privilegio più elevato, mentre la modalità utente opera a un livello di privilegio inferiore, evidenziando l’importanza di transizioni sicure ed efficienti.

Prossimi passi e migliori pratiche

Guardando al futuro, Microsoft prevede di fornire ulteriori approfondimenti e best practice sullo sviluppo dei driver, incluso l’utilizzo di CodeQL per l’analisi statica. In particolare, l’azienda ha aggiornato le sue linee guida per l’analisi statica dei driver di terze parti a luglio, in linea con il rilascio di Windows 11 versione 25H2.

Per saperne di più su questi sviluppi, puoi leggere il post completo del blog qui sul sito ufficiale della Tech Community di Microsoft.

Fonte e immagini

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *