Microsoft a lancé une offensive discrète afin de renforcer la sécurité de son système d'exploitation Windows. Pour les pilotes matériels, il s'agit d'abandonner progressivement les langages historiques au profit de Rust.
L'équipe derrière les appareils Surface a sauté le pas, et plusieurs PC Copilot+ sont désormais livrés avec des drivers écrits en Rust.
Pourquoi le choix de Rust
Le développement de pilotes a longtemps reposé sur C et C++, des langages performants qui exposent toutefois les systèmes à des failles de sécurité bien connues. Les dépassements de tampon, les références de pointeur nul ou les conditions de concurrence sont des plaies qui peuvent mener à des vulnérabilités critiques.
Avec notamment sa mémoire sécurisée, Rust peut éliminer des catégories entières de bugs liés à la gestion de la mémoire avant même que le code ne soit exécuté, directement à la compilation.
Par ailleurs, hormis le fait d'être plus sûrs, les pilotes sont aussi plus simples à maintenir.
Un projet open source pour embarquer l'écosystème
Pour mener cette transition, Microsoft s'appuie sur le projet open source windows-drivers-rs, hébergé sur GitHub. L'équipe Surface y est un contributeur majeur.
Cette plateforme est ouverte à tous les développeurs, leur fournissant des bibliothèques, de la documentation et des exemples pour se lancer. De quoi inviter toute la communauté à participer pour façonner l'avenir du développement des pilotes sur Windows.
L'avenir de Windows s'écrit en Rust
Microsoft compte bien accélérer la cadence. Les prochaines étapes devront étendre la prise en charge à davantage de types de pilotes, faire évoluer les outils pour que les développeurs qui créent des pilotes Windows avec Rust disposent des mêmes capacités et du même confort que ceux ayant recours au Windows Driver Kit (WDK).
« Ensemble, ces efforts visent à rendre les pilotes Surface encore plus fiables et sécurisés. À long terme, ce travail n'améliorera pas seulement nos propres appareils, il contribuera à renforcer l'écosystème Windows pour tous les partenaires matériels », écrit Melvin Wang de Microsoft.