Les pilotes Windows passent à la vitesse supérieure: Microsoft généralise l’usage de Rust pour renforcer la sécurité et la fiabilité, en ciblant d’abord les machines récentes et les périphériques les plus sensibles. L’objectif est clair : réduire la majorité des failles liées à la mémoire, point noir historique des drivers écrits en C/C++, et stabiliser l’expérience Windows 11 sur la durée.

- Microsoft adopte Rust pour écrire des pilotes Windows, visant à améliorer la sécurité et la fiabilité des systèmes.
- Ce langage réduit les erreurs de mémoire, responsables de 70% des failles, offrant une meilleure protection contre les attaques.
- La transition vers Rust sera progressive, ciblant d'abord les nouveaux pilotes et les composants sensibles, avec des résultats prometteurs.
Chaque mois, des correctifs colmatent des brèches dans Windows. Beaucoup viennent d’un vieux mal : la mauvaise gestion de la mémoire. Microsoft parie sur Rust, un langage qui verrouille cette partie critique dès la phase de compilation. La gamme Surface sert de laboratoire : ses derniers PC embarquent déjà des pilotes écrits avec cette approche plus sûre.
Les pilotes, maillons faibles de Windows
Un pilote est un traducteur : il convertit les demandes de Windows en instructions compréhensibles par la carte graphique, le Wi-Fi ou la manette de jeu. S’il se trompe, l’ordinateur plante ou, pire, ouvre une porte aux pirates. Des attaques dites « BYOVD » (Bring Your Own Vulnerable Drivers) consistent à livrer un pilote volontairement vulnérable pour prendre le contrôle du système.
Microsoft constate que près de 70% des failles Windows proviennent d’erreurs de mémoire. Débordements de tampon ou accès à des zones déjà libérées : ces erreurs, bien connues des développeurs, sont quasi impossibles à éviter à 100% tant que l’on code en C ou C++.
Rust change la donne en imposant, dès la compilation, des règles strictes de propriété et d’emprunt de la mémoire. Le compilateur refuse tout code susceptible de provoquer un plantage ou une corruption de données. Les développeurs n’ont pas à vérifier ligne par ligne : l’outil le fait pour eux. Contrairement à Java ou .NET, Rust n’utilise pas de « ramasse-miettes ». Les performances restent donc comparables à celles du C++, un atout pour des pilotes qui fonctionnent au niveau le plus bas du système.
Comment Microsoft s’y prend
La transition sera progressive : on ne réécrit pas quarante ans de pilotes du jour au lendemain. Microsoft publie un kit open source qui propose des exemples prêts à l’emploi, les partenaires matériels peuvent s’y appuyer pour leurs futurs pilotes. Dans un premier temps, Rust cible les modules neufs ou jugés les plus sensibles. Les premiers retours sont encourageants : certaines bibliothèques déjà portées voient leur vitesse grimper de 5 à 15%, tout en supprimant des classes entières de bugs. Sur ses nouveaux Surface, Microsoft vante moins de plantages liés aux pilotes.

À court terme, personne ne verra la différence à l’œil nu. Mais moins de pilotes bancals, c’est moins d’écrans bleus et moins de correctifs d’urgence à installer. Pour les pirates, la surface d’attaque se réduit : faire passer un pilote vérolé devient plus difficile quand il doit suivre des règles de sécurité plus strictes. À long terme, l’initiative peut faire boule de neige. Si les fabricants suivent, l’écosystème Windows gagnera en robustesse, à l’image du travail de portage du noyau Linux sur Rust, même si l'aspect communautaire de l'entreprise rend son exécution plutôt houleuse.
Microsoft compte élargir la couverture de Rust à toujours plus de pilotes et même à d’autres briques critiques, du micrologiciel UEFI aux services cloud Azure. L’idée est simple : prévenir plutôt que guérir. Si la méthode convainc, les correctifs de sécurité mensuels pourraient, un jour, devenir un peu moins chargés.
Source : Neowin