Microsoft détaille les améliorations apportées aux pilotes Windows 11 de nouvelle génération

Microsoft détaille les améliorations apportées aux pilotes Windows 11 de nouvelle génération

Intégration de Rust dans le développement des pilotes Windows par Microsoft

Depuis mi-2023, Microsoft se concentre sur l’intégration de Rust au système d’exploitation Windows. Cette initiative, qui a débuté avec l’intégration réussie de Rust au noyau Windows, a évolué pour encourager les développeurs de pilotes à adopter ce langage de programmation innovant.

Lancement du windows-drivers-rsprojet Open-Source

En juillet, Microsoft a présenté le projet open source windows-drivers-rsde l’équipe Surface visant à simplifier le développement de pilotes Windows avec Rust. Ce framework est conçu pour optimiser le développement de pilotes en Rust, offrant ainsi une alternative plus moderne aux langages conventionnels comme C.

Présentation de la cargo-wdkcaisse

Récemment, Microsoft a annoncé des améliorations à cette initiative, notamment avec le déploiement de la cargo-wdkCrate. Cette nouvelle extension Cargo simplifie le processus de création de pilotes en générant des projets de pilotes vides, accompagnés d’étapes de build, de dépendances et de liens préconfigurés. Elle peut également utiliser les outils Windows Driver Kit (WDK) comme InfVerif, reproduisant ainsi l’expérience de création de pilotes en C dans Visual Studio.

Avantages de l’utilisation de Rust

Rust se distingue des langages de programmation traditionnels comme C par ses fonctionnalités de sécurité mémoire supérieures. Cet attribut réduit considérablement le risque de vulnérabilités liées à la mémoire. De plus, Rust bénéficie d’une compatibilité exceptionnelle avec le code des pilotes C et C++, simplifiant ainsi la transition pour les développeurs.

Objectifs et développements futurs

La vision à long terme de Microsoft est de fournir aux développeurs Rust de l’écosystème Cargo des outils de build et des options de configuration comparables à ceux de Visual Studio.À moyen terme, l’entreprise vise à mettre en œuvre l’installation automatique du kit de pilotes Windows, la prise en charge de NT_TARGET_VERSION et une compatibilité totale avec ARM64, entre autres améliorations.

État actuel de Rust dans le développement des pilotes

Actuellement, le windows-drivers-rsframework prend en charge des types de pilotes spécifiques dans Rust ; cependant, il nécessite encore une quantité considérable de code non sécurisé. Microsoft collabore activement avec des spécialistes de Rust afin de créer des abstractions plus sûres pour les pilotes en mode noyau (KMD) et en mode utilisateur (UMD).Plusieurs équipes travaillent également au développement de structures et d’API sécurisées, adaptées aux fonctionnalités principales du noyau et au développement de pilotes tiers. Certaines de ces innovations sont déjà intégrées au noyau Windows.

Comprendre l’abstraction dans le développement des pilotes

Pour ceux qui ne connaissent pas ce terme, l’abstraction désigne ici le processus de transition sécurisé entre le mode utilisateur et le mode noyau. Le mode noyau fonctionne au niveau de privilèges le plus élevé, tandis que le mode utilisateur fonctionne à un niveau de privilèges inférieur, soulignant l’importance de transitions sûres et efficaces.

Prochaines étapes et meilleures pratiques

À l’avenir, Microsoft prévoit de fournir des informations complémentaires et des bonnes pratiques concernant le développement de pilotes, notamment l’utilisation de CodeQL pour l’analyse statique. L’entreprise a notamment mis à jour ses recommandations concernant l’analyse statique des pilotes tiers en juillet, en prévision de la sortie de Windows 11 version 25H2.

Pour en savoir plus sur ces développements, vous pouvez accéder à l’intégralité du billet de blog ici sur le site Web officiel de la communauté technologique de Microsoft.

Source et images

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *