Microsoft accelera l'adozione di Rust per lo sviluppo di driver Windows 11 di nuova generazione

Microsoft accelera l'adozione di Rust per lo sviluppo di driver Windows 11 di nuova generazione

L'azienda di Redmond ha rilasciato dettagli approfonditi sui progressi del progetto windows-drivers-rs e ha introdotto nuovi strumenti per semplificare la transizione dal linguaggio C al linguaggio di programmazione memory-safe

di pubblicata il , alle 14:31 nel canale Sistemi Operativi
MicrosoftWindows 11
 

Microsoft sta intensificando il proprio impegno nell'integrazione di Rust come linguaggio di programmazione per lo sviluppo di driver Windows, e ha rilasciato maggiori dettagli sui progressi compiuti dal progetto windows-drivers-rs lanciato lo scorso luglio. L'iniziativa potrebbe condurre a progressi importanti nell'architettura del sistema operativo, con l'obiettivo di ridurre drasticamente le vulnerabilità di sicurezza legate alla gestione della memoria.

La scelta di Microsoft prende forma attraverso windows-drivers-rs, che è una piattaforma open source progettata per facilitare la transizione degli sviluppatori dal tradizionale linguaggio C verso Rust. Il progetto include l'introduzione di cargo-wdk, un nuovo ambiente che semplifica notevolmente il processo di sviluppo. L'estensione Cargo genera automaticamente progetti driver vuoti con tutti i parametri preconfigurati: collegamenti, passaggi di compilazione e dipendenze vengono impostati automaticamente. Il sistema può richiamare direttamente strumenti WDK come InfVerif, replicando l'esperienza di sviluppo familiare agli sviluppatori abituati a compilare driver in C attraverso Visual Studio.

windows-drivers-rs: una piattaforma open source per il futuro dell'OS di Microsoft

La scelta di Rust deriva da diversi benefici tangibili, ad esempio il fatto che il linguaggio offre sicurezza della memoria nativa, caratteristica che lo differenzia dai linguaggi di programmazione tradizionali come C. Questa caratteristica consente di escludere a priori le vulnerabilità relative alla gestione della memoria, una delle principali cause di falle di sicurezza nei sistemi operativi moderni. Altrettanto importante è l'eccellente interoperabilità con il codice esistente scritto in C/C++, caratteristica che facilita enormemente la transizione graduale senza richiedere una riscrittura completa dei driver esistenti.

Microsoft ha delineato una roadmap chiara per il futuro del progetto: l'obiettivo a lungo termine prevede di fornire agli sviluppatori Rust, operanti in ambiente Cargo, gli stessi strumenti di compilazione e opzioni di configurazione attualmente disponibili in Visual Studio. I piani a medio termine sono più specifici e includono l'installazione automatica di WDK, il supporto per NT_TARGET_VERSION, il supporto completo per l'architettura ARM64 e ulteriori funzionalità che saranno annunciate nei prossimi mesi.

Nonostante i progressi, Microsoft riconosce che windows-drivers-rs attualmente abilita solo determinati tipi di driver in Rust e richiede ancora un uso significativo di codice non sicuro. Per superare tali limitazioni, il team di Windows Driver Framework (WDF) sta collaborando attivamente con esperti di Rust per progettare astrazioni più sicure. Il lavoro si concentra su due tipologie principali: driver in modalità kernel (KMD) e driver in modalità utente (UMD): la prima include il livello con diritti più profondi del sistema, mentre la seconda opera con privilegi limitati. L'astrazione sicura per il passaggio tra questi due livelli costituisce uno degli aspetti più critici del progetto.

Microsoft ha anticipato che nei prossimi mesi condividerà ulteriori informazioni sulle migliori pratiche per lo sviluppo di driver, con particolare attenzione all'utilizzo di CodeQL per l'analisi statica. Microsoft ha bisogno di bilanciare la necessità di maggiore sicurezza con la compatibilità dell'esistente patrimonio software, con il successo di questa transizione che potrebbe avere effetti benefici per tutti gli utenti in termini di stabilità e sicurezza nelle future versioni di Windows 11.

0 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^