Il linguaggio Rust sbarca nel kernel di Windows 11, quali sono i vantaggi

Il linguaggio Rust sbarca nel kernel di Windows 11, quali sono i vantaggi

Microsoft ha deciso di integrare il linguaggio Rust nel kernel di Windows 11, con l’obiettivo di migliorare la sicurezza e l’affidabilità del suo sistema operativo. Rust è un linguaggio di programmazione compilato, creato da Mozilla Research in collaborazione con la comunità open source, che offre diverse garanzie contro gli errori di memoria e le vulnerabilità.

In questo post, analizzeremo i motivi che hanno spinto Microsoft a scegliere Rust e come questa scelta possa rappresentare un cambiamento epocale nel mondo del software. David Weston, Vice President, Enterprise and OS Security di Microsoft, ha illustrato i dettagli di questa strategia durante la conferenza BlueHat IL 2023, dove ha parlato dell’evoluzione della sicurezza in Windows e delle sfide future.

Cos’è Rust e perché Microsoft lo ha scelto per il kernel di Windows 11

I tecnici di Microsoft hanno scelto di puntare sul linguaggio di programmazione partorito da Mozilla anche per il kernel di Windows 11 principalmente per la sicurezza della memoria e per la protezione aggiuntiva che Rust riesce ad offrire.

Si tratta, appunto, di un linguaggio ad alto livello che nasce con il preciso intento di eliminare le vulnerabilità di sicurezza comunemente presenti (come ad esempio, le violazioni di memoria oppure gli accessi non autorizzati all’interno del sistema), e di ridurre la possibilità di errori di programmazione che portano a race condition e null pointer. Rispettivamente, queste due condizioni si verificano quando:

  1. Race condition: quando due o più thread di un programma tentano di accedere contemporaneamente alla stessa risorsa condivisa (come ad esempio una variabile o un file) e, se queste operazioni non vengono coordinate correttamente possono verificarsi errori imprevedibili;
  2. Null pointer: in questo caso, invece, un programma cerca di accedere a un puntatore che non presenta un valore valido o non possiede un indirizzo di memoria associato generando un errore di runtime (questo perché il programma cerca di accedere a una zona di memoria che non dovrebbe esistere). Questa circostanza, talvolta, comporterebbe comportamenti come crash del programma o la compromissione della sicurezza del sistema.

Un ulteriore vantaggio di Rust sono le prestazioni elevate grazie alla sua architettura di compilazione AOT (Ahead-of-Time)  e alla gestione efficiente della memoria. Inoltre, fornisce supporto per la programmazione corrente e parallela, permettendo ai programmatori di sfruttare al meglio le moderne architetture dei processori multi-core.

Infine, chi programma in Rust può contare su una sintassi molto intuitiva, oltre a una vasta gamma di librerie e strumenti. Proprio a questo proposito, infatti, Microsoft  ha mostrato interesse per Rust già da diversi anni, con il preciso intento di rilevare e eliminare i bug.

La scelta di Microsoft dovrebbe quindi riuscire a ridurre in modo abbastanza significativo il numero di vulnerabilità che in ogni patch day mensile vengono corrette e risolte all’interno del kernel di Windows. Come aggiunto da Weston, nel giro di qualche settimana il kernel di Windows 11 trarrà vantaggio dal codice Rust.

Ti consiglio di leggere anche…

Windows 11: come impostare il tasto Stamp per acquisire uno screenshot

Windows 11: il trucco per aumentare la velocità di Internet con la frequenza a 5 GHz

Come impedire a Windows 11 di sapere se sei dietro la tastiera