Le besoin de signature du pilote de Windows 11 est l'une des meilleures fonctionnalités de sécurité anti-consommation

/fr/images/windows-11-recovery-environment.jpg

Windows 11, le système d’exploitation de bureau grand public le plus utilisé au monde, a sans aucun doute ses problèmes. Pourtant, malgré ces problèmes, c’est la version la plus raffinée du système d’exploitation de l’entreprise, indépendamment des ajouts peu recommandables qui ont vu de nombreux utilisateurs s’engager sur Windows 10 aussi longtemps que possible ou même faire le saut à Linux à la place. Il y a un aspect spécifique de Windows qui m’a toujours dérangé, et c’est la politique de longue date de Microsoft pour exiger que les conducteurs soient signés numériquement avant que le système d’exploitation ne les charge.

En termes simples, un pilote est un code de bas niveau (souvent en cours d’exécution dans le noyau du système d’exploitation) qui permet d’interagir le matériel ou les logiciels avec Windows. Un pilote signé comprend une signature cryptographique d’une autorité de confiance (telle que le propre certificat de Microsoft ou, dans le passé, une autorité de certificat autorisée par Microsoft), que Windows vérifie l’authenticité et l’intégrité avant de lui permettre d’exécuter. Cette application de la signature du conducteur a évolué au fil des décennies, devenant un gardien obligatoire dans le processus, et il a une double nature.

D’une part, on ne peut pas refuser qu’il améliore considérablement la sécurité en empêchant les logiciels malveillants de s’exécuter à un niveau aussi profond (sans certificat approprié de toute façon, qui peut être volé), mais d’autre part, il limite le contrôle des utilisateurs et demande la conformité aux règles de Microsoft. Il est hostile à la liberté des utilisateurs, mais a également des avantages clairs. C’est l’une des meilleures fonctionnalités de sécurité de Windows, mais son existence est intrinsèquement anti-consommation.

Quelles sont les signatures de conducteur?

Ils ont une longue histoire

/fr/images/drivers-tab-latencymon.png

La signature du pilote fait partie de la fonctionnalité de sécurité de l’intégrité du code de Microsoft, introduite pour la première fois à l’ère Windows Vista et rendu obligatoire avec Windows 10, version 1607. Le concept est simple: tout code qui s’exécute dans le noyau Windows (connu sous le nom de “Ring 0”) doit transporter une signature numérique valide à partir d’une autorité de confiance. Selon la documentation officielle de Microsoft, l’intégrité du code “améliore la sécurité du système d’exploitation en validant l’intégrité d’un pilote ou d’un fichier système chaque fois qu’il est chargé en mémoire”, et sur les versions 64 bits de Windows, “les pilotes en mode noyau doivent être signés numériquement.” En pratique, cela signifie que Windows refusera de charger tout pilote qui n’est pas signé par un certificat reconnu.

Comme sur d’autres systèmes d’exploitation, le noyau (ntoskernel.exe, ou le noyau Windows NT) est le noyau du système d’exploitation avec les privilèges les plus élevés, il est donc essentiel de bloquer le code non autorisé dans cette région. Les signatures numériques garantissent qu’un chauffeur a été publié par un développeur identifié et n’a pas été falsifié depuis. Les conducteurs non signés ou malicieusement modifiés ne s’installent tout simplement pas sous la politique par défaut, et du point de vue de la sécurité, c’est une bonne chose qui protège les consommateurs et les entreprises.

En pratique, cela signifie que les fournisseurs de matériel et les développeurs légitimes passent par un processus de signature pour leur pilote, et dans les fenêtres modernes, cela implique souvent d’obtenir un certificat de validation prolongé et de soumettre le pilote à Microsoft pour approbation. Si le code essaie d’exécuter dans le noyau sans cette approbation, vous verrez une erreur dans les lignes de “Windows ne peut pas vérifier la signature numérique pour les pilotes requis pour cet appareil.” Cela empêche toute une classe d’attaques où les logiciels malveillants peuvent installer un rootkit ou un pilote malveillant pour obtenir le contrôle total du système. Sur les fenêtres modernes 64 bits, le chargement d’un pilote de périphérique est essentiellement le seul moyen pris en charge d’exécuter du code arbitraire dans le noyau, et cela est complètement désactivé pour les exécutables non signés.

Et un administrateur? Eh bien, même les comptes avec ce niveau de privilège ne sont pas exemptés. Peu importe qui vous êtes, vous ne pouvez pas charger un pilote non signé sur des fenêtres 64 bits. La seule façon de le désactiver est d’utiliser l’option de démarrage de “Désactiver l’application de la signature du pilote”, qui réinitialisera votre prochain démarrage, ou utilisera BCDedit pour désactiver entièrement les chèques. C’est un filet de sécurité placé par Microsoft que même le propriétaire de l’ordinateur ne devrait jamais traverser.

Microsoft a resserré les exigences au fil des ans

Tout a commencé avec un simple vérificateur de conducteur

/fr/images/windows-2000-driver-verifier.png

Le chemin de Microsoft vers les signatures de pilotes obligatoires a commencé au milieu des années 2000 au milieu d’une préoccupation croissante concernant les logiciels espions, les rootkits et la stabilité du système d’exploitation. À partir de Windows 2000, Driver Verifier était un programme de ligne de commande qui pouvait être utilisé pour tester les pilotes pour des fonctions illégales et détecter les bogues, avant d’être mis à jour avec une interface graphique coïncidant avec le lancement de Windows XP. À l’époque, la signature du pilote était présente mais pas strictement requise, bien qu’une option de stratégie de groupe puisse être définie pour interdire entièrement l’installation, avertir l’utilisateur mais autoriser l’installation, ou tout simplement installer silencieusement.

Cela a changé avec les éditions X64 de Windows. En commençant par Windows Vista (et même Windows XP X64 Edition sous une forme limitée, bien que vous puissiez vous signer un certificat), les systèmes Windows 64 bits ont exigé des pilotes en mode noyau à signer, dans le cadre d’une initiative de sécurité plus large qui comprenait également une protection contre les patchs de noyau, de manière informelle de PatchGuard. L’introduction de la signature obligatoire dans Vista X64 a été controversée à l’époque, mais l’objectif déclaré de Microsoft était d’éliminer des catégories de logiciels malveillants entières et, selon certains rapports à l’époque, de protéger DRM.

Ce n’est un secret pour personne que l’application de la signature des conducteurs s’aligne sur de nombreux intérêts de l’industrie, et cela signifiait également qu’à l’époque que Microsoft pourrait essentiellement forcer les entreprises à payer une licence pour distribuer leurs chauffeurs. Sinon, ces pilotes ne s’installeraient tout simplement pas sur la plupart des machines. Depuis lors, les exigences sont devenues plus strictes et, comme déjà mentionné, Windows 10 version 1607 a appliqué l’exigence selon laquelle tous les pilotes doivent être signés par Microsoft.

Windows 11, qui nécessite un démarrage sécurisé UEFI et un TPM par défaut sur les nouveaux systèmes, se double de l’assurance du processus de démarrage et des pilotes sont fiables. En substance, Modern Windows a une autorité centrale (Microsoft) qui dit quel code de bas niveau est autorisé à s’exécuter. Le résultat est une cible beaucoup plus difficile à pénétrer pour les attaquants, tout en plaçant facilement Microsoft (et une poignée de fournisseurs de certificat) en tant que gardiens de la plate-forme Windows.

Microsoft veut protéger le noyau à tout prix

même si cela signifie que les développeurs réguliers ne peuvent pas l’utiliser non plus

/fr/images/shows-windows-user-folder-on-windows-11.png

Pour être clair, il y a un cas solide à faire valoir que l’application de la signature du pilote a considérablement amélioré la sécurité sur Windows. En bloquant les conducteurs non signés, toutes sortes d’attaques numériques, telles que Rootkits et les logiciels malveillants au niveau du noyau, qui pourraient autrement se cacher des logiciels antivirus sont gravement entravés. Dans le passé, bon nombre des logiciels malveillants les plus avancés essaieraient de fonctionner en tant que pilote afin d’accéder à la mémoire ou de modifier le système à un niveau profond. Aujourd’hui, si un logiciel malveillant n’a pas de certificat numérique volé ou divulgué, il ne peut tout simplement pas charger un pilote sur un système Windows 64 bits entièrement paralysé, qui est une assez grande obstacle à croiser par rapport aux jours Windows XP. Si un pilote non signé est trouvé au démarrage, le système ne démarre tout simplement pas.

Les systèmes anti-triche modernes pour les jeux en ligne sont également devenus les principaux bénéficiaires des exigences de signature de Windows’s Indiver. Dans de nombreux titres compétitifs, de nombreux développeurs de triche les plus avancés essaieront d’exécuter leurs programmes de triche en mode noyau pour éviter la détection par des outils anti-triche en mode utilisateur. C’est pourquoi la triche facile-anti, Faceit, Riot Vanguard et de nombreuses autres solutions anti-triche installent toutes leurs propres conducteurs de noyau dans le cadre de la suite anti-chiche. Ces anti-cheets fonctionnent avec un niveau de privilège au-dessus même d’un utilisateur administrateur (rappelez-vous comment même un administrateur ne peut pas installer un pilote non signé?) Pour surveiller le système pour des tricheurs, bloquer l’accès à la mémoire au jeu et s’assurer que le code du jeu n’est pas falsifié. La signature de pilote est une partie essentielle de ce fossé protecteur que les développeurs construisent autour de leurs jeux. Parce que Windows rejettera tout pilote qui n’est pas correctement signé, les développeurs de triche ne peuvent pas simplement construire un pilote de noyau personnalisé et le charger sur un coup de tête pour contourner l’anti-triche, car le système d’exploitation ne le permet même pas.

En réponse, les fournisseurs de triche et les développeurs de logiciels malveillants ont recherché des lacunes qui prouvent l’efficacité de l’application des conducteurs. Une technique commune est connue sous le nom de BYOVD ou apporte votre propre conducteur vulnérable. où les attaquants trouvent un pilote déjà signé qui connaît des trous de sécurité. Le pilote légitime est chargé, accepté par Windows, puis ses vulnérabilités sont exploitées afin d’exécuter du code dans le noyau. Un tel exemple abuse du pilote de mappeur Lenovo, déploiement d’un pilote de triche non signé et désactivant le contrôle TPM effectué par Vanguard de Riot.

Tout cela se rapporte également aux attaques et tricheurs d’accès à la mémoire directe (DMA). DMA permet aux périphériques matériels d’accéder directement à la mémoire système, de contourner le CPU et de permettre potentiellement à un ordinateur secondaire de lire ou d’écrire à la mémoire du jeu. Cependant, Windows a une protection DMA du noyau qui utilise IOMMU pour bloquer les périphériques PCIe non autorisés de l’accès à la mémoire. Seuls les appareils avec DMA Remaps-compatible les pilotes sont capables de le faire, et encore une fois, cette fonctionnalité de pilote est protégée dans le cadre de l’application de la signature de Microsoft. La combinaison de cela avec un démarrage sécurisé, ce qui empêche les chargeurs de logiciels malveillants ou de triche de démarrage de s’insérer avant le début de Windows, et l’attestation de démarrage basée sur TPM, et ce que vous avez est un environnement considérablement sécurisé, étant donné qu’il s’agit d’un PC contrôlé par l’utilisateur.

Cette technique n’est pas non plus unique aux tricheurs de jeu. Il existe de nombreux exemples de ransomwares qui ont abusé des pilotes pour désactiver les fonctionnalités de sécurité du système et charger du code malveillant dans le noyau, déplace essentiellement la surface d’attaque du système d’exploitation au code de bas niveau que Microsoft a approuvé et signé. Les développeurs de logiciels malveillants doivent se reproduire sur un pilote existant déjà installé sur l’ordinateur de l’utilisateur, ce qui signifie trouver une vulnérabilité dans un pilote extrêmement courant ou inciter l’utilisateur à installer un logiciel avec la vulnérabilité.

L’application de la signature du conducteur n’est qu’un rouage dans une architecture de sécurité globale, et seul, il ne suffit pas de tout arrêter. Pourtant, associé à ces autres technologies que Microsoft utilise également, il est indéniable que cela augmente considérablement la barre. Un certificat volé sera exécuté sur le temps emprunté avant qu’il ne soit découvert et révoqué, et les solutions matérielles sont également souvent éphémères.

Pourquoi le conducteur est-il anti-consommateur?

Cela revient à ce que vous pouvez et ne pouvez pas exécuter sur votre propre matériel

/fr/images/table-with-many-pc-and-electronic-components.jpg Source: Benjamin Zeman

Si la signature du pilote est si bonne pour la sécurité, qu’est-ce qui en fait un anti-consommateur? La critique vient du fait que ce mécanisme de sécurité restreint intrinsèquement la liberté des utilisateurs et le contrôle sur leur propre système. Il y a un compromis implicite entre la sécurité et l’ouverture, et Microsoft s’appuie fortement sur le premier plutôt que sur le second. La société a choisi un modèle où le système d’exploitation ne fait confiance que par le code de bas niveau vérifié par Microsoft, essentiellement centraliser l’autorité d’une manière qui s’aligne également sur les intérêts de l’industrie et leur fait également de l’argent sur la certification.

Pour en revenir à la désactivation de la vérification de la signature du pilote, en développant votre propre pilote personnalisé pour un usage personnel, que ce soit pour votre propre matériel ou pour un matériel que vous possédez, est une nuisance. Vous devrez soit démarrer avec l’option de démarrage “Désactiver le pilote de signature du pilote”, désactiver entièrement les vérifications d’intégrité, soit activer le mode de signature de test Windows, qui n’est pas particulièrement pratique à utiliser. Vous ne possédez pas votre ordinateur de la même manière que la «propriété» impliquerait généralement; Au niveau du noyau, Microsoft conserve le contrôle.

De plus, seules les grandes entreprises ou les développeurs bien ressourcés peuvent facilement répondre aux exigences de signature du conducteur. Pour obtenir un pilote correctement signé pour une version Windows moderne, un développeur doit obtenir un certificat de signature de code EV, nécessitant une vérification d’identité rigoureuse et un jeton matériel, tout en payant plusieurs centaines de dollars par an pour cela également. Notepad ++ est un exemple célèbre de cette débâcle de signature de code, qui voit un programme au niveau de l’utilisateur affecté par le refus de payer à Microsoft des frais annuels pour la certification. Le même concept s’applique également aux conducteurs.

/fr/images/driver-signature-enforcement.png

Cependant, l’exigence peut également empêcher les consommateurs réguliers d’utiliser l’ancien matériel qui n’a jamais reçu de mise à jour du pilote signé. Disons que vous avez un ancien périphérique PC que vous souhaitez brancher sur un ordinateur Windows 11; Si son pilote est de l’ère Windows XP et n’a jamais eu de signature numérique, il sera bloqué. Vous pouvez désactiver l’application de la loi sur la signature (avec tous les problèmes qui apportent) ou abandonner le matériel. Bien que vous auriez pu modifier le conducteur dans le passé, les solutions de bricolage sont largement inconnues de nos jours, étant donné le coût associé et la complexité de celle-ci.

En fait, même lorsque les membres de la communauté prennent les choses en main, les choses peuvent se retourner rapidement. Il existe deux pilotes connus que les développeurs peuvent utiliser pour contrôler les fans du système dans leurs propres applications: Inpout32 et Winring0. Le premier est en conflit avec Vanguard de Riot, tant ont opté pour ce dernier, et c’était l’épine dorsale d’outils comme les fans de contrôle. Cependant, il a été découvert en 2020 que Winring0 avait une vulnérabilité massive qui l’a vu être signalé et bloqué par Windows Defender quelques années plus tard, ce qui a permis de s’appuyer sur la mort dans l’eau.

Ce problème est aggravé par le problème de coût lorsqu’il s’agit de développer et de maintenir un pilote valide que Microsoft acceptera. Voici un passage d’un article sur le verge qui explique le problème:

Le fondateur de SignalRGB, Timothy Sun, dit que le risque de sécurité est plus compliqué. “Étant donné que WinRring0 installe à l’échelle du système, nous avons réalisé que nous dépendons de la version installée pour la première fois sur le système d’un utilisateur.

C’est pourquoi sa société a investi dans sa propre interface RVB à la place, a finalement abandonné Winring0 en 2023 en faveur d’un pilote propriétaire des SMBUS. Mais les développeurs à qui j’ai parlé, y compris Sun, conviennent que c’est une proposition coûteuse.

“Je ne vais pas en sucre - le processus de développement était difficile et nécessitait des ressources d’ingénierie importantes”, explique Sun. «Les petits projets open source n’ont pas la capacité financière de suivre cette route, ni l’expérience de développement du noyau Microsoft dédié pour le faire», explique Honse Adam d’OpenRGB.

Le développeur de Wingring0, Openlibysys, semble inactif ces jours-ci, et il est peu probable que le même pilote, s’il était mis à jour, soit approuvé par Microsoft pour signer sous les directives plus strictes de la société. Microsoft savait également combien d’applications s’appuyaient sur lui (Razer Synapse, SteelSeries Engine, et plus encore, tous les utilisaient également), ce qui lui donne quelques années de vie avant de le hacher en 2025.

Et Linux?

Une éthique très différente

/fr/images/updating-linux-kernel-featured.jpeg

Contrairement à Windows, Linux est un système ouvert: il n’y a pas d’autorité unique qui dicte ce qui peut fonctionner dans le noyau. Les distributions Linux ont la possibilité d’appliquer la signature du module (en particulier si le démarrage sécurisé est activé, certaines distributions exigent que les modules de noyau soient signés par une clé), mais en fin de compte, l’utilisateur peut recompiler le noyau ou désactiver ces chèques. C’est l’une des nombreuses raisons pour lesquelles les logiciels anti-triche ne peuvent pas être déployés sur Linux de la même manière qu’il peut être sur Windows.

Sur Linux, un tricheur avec un accès au niveau de la racine est tout-puissant. Ils pourraient recompiler le noyau pour éliminer les crochets anti-triche, ou charger leur propre module de noyau sans autorité de signature centrale pour les arrêter, et étant donné que de nombreux tricheurs ont simplement exécuté les tricheurs en tant que racine dans le répertoire / racine comme une méthode suffisante pour éviter la détection, vous pouvez voir pourquoi les développeurs de jeux ne sont pas trop désireux de porter leur logiciel anti-Cheat à Linux. Même si un jeu a insisté sur l’accès racine (qui serait sans doute pire que l’équivalent anti-triche sur Windows), vous pourriez l’exécuter dans un environnement “Fakeroot” afin que le jeu pense qu’il a un accès racine quand il ne le fait pas.

Tout cela veut dire que la nature ouverte de Linux signifie que toute mesure défensive peut être contrecarrée par une infraction tout aussi privilégiée, et cette réalité se reflète dans l’état actuel des jeux Linux. Alors que de nombreux titres populaires sont jouables sur Linux (souvent encore mieux que sur Windows), de nombreux jeux compétitifs refusent carrément de fonctionner sur Linux en conséquence. Ces mêmes concepts s’appliquent également aux logiciels malveillants, bien que le paysage sur Linux en ce qui concerne les logiciels malveillants soit très différent.

/fr/images/valorant-cheater-detected.png

L’application de la signature de la signature de Microsoft est attrayante pour les entreprises. En verrouillant le noyau, Windows permet un niveau de sécurité et de contrôle (pour lutter contre les tricheurs, les logiciels malveillants et plus) qui ne peuvent tout simplement pas être réalisés sur un système plus ouvert sans ces restrictions. Pour de nombreux joueurs et entreprises, ce compromis en vaut souvent la peine, même s’il frustre un segment d’utilisateurs. Les utilisateurs de Linux bénéficient d’un contrôle inégalé, mais cette liberté signifie que tout mécanisme anti-triche côté client est généralement futile. Pour même obtenir les avantages sociaux de sécurité que Windows a dans ce domaine sur une machine Linux, vous recréeriez les mêmes contraintes qui vous ont donné envie de quitter Windows en premier lieu.

Quant à la raison, les utilisateurs de Linux sont toujours sécurisés, malgré le fait de ne pas avoir d’autorité centrale de certificat? La réponse se trouve sur une myriade de raisons. Entre le système avancé des autorisations des utilisateurs de Linux, une communauté open source corrompant rapidement les vulnérabilités telles qu’elles apparaissent (même lorsque certaines grandes glissent, comme XZ-Utils), sa part de marché réduite, ce qui le rend moins intéressant, et les packages de logiciels étant en grande partie installés par un utilisateur de Windows.

La liberté n’est pas toujours compatible avec la sécurité

Linux et Windows diffèrent considérablement

/fr/images/windows-11-laptops-winget.jpg

La politique de signature du pilote de Microsoft est indéniablement efficace pour la sécurité: en exigeant que tous les pilotes de noyau soient signés et vérifiés, Microsoft a construit l’une des défenses des SG consommateurs les plus robustes contre des logiciels malveillants et des outils de tricherie de bas niveau. Windows, en tant que plate-forme, est particulièrement capable de maintenir un système d’exploitation de confiance auquel les utilisateurs et les logiciels peuvent faire confiance. C’est pourquoi c’est l’une des “meilleures” fonctionnalités de sécurité, car elle fonctionne très bien et a fait une grande différence dans les systèmes de protection.

Pourtant, cette sécurité a un coût pour les consommateurs. Il enlève le contrôle et le remet à une autorité centrale, et ne pas pouvoir contrôler pleinement ce que votre système d’exploitation fait n’est pas bien avec beaucoup de ceux qui apprécient l’informatique ouverte. Dans un sens, Windows 11 traite un peu l’utilisateur comme un participant non fiable en ce qui concerne le code du noyau, en supposant que quiconque (y compris vous) pourrait faire quelque chose de nocif sinon empêché.

Du point de vue de la sécurité, cette fonctionnalité particulière est un excellent exemple de réduction des risques. Il ferme considérablement l’une des avenues d’attaque les plus dangereuses, mais du point de vue des droits des consommateurs, il peut avoir l’impression que nous louons simplement la fonctionnalité pour utiliser notre propre matériel, car nous sommes à la demande de ce que Microsoft fait et ne permet pas. Et si ce concept est étendu pour «protéger» le système d’exploitation? Que se passe-t-il si la débloating ou les outils et les scripts apportent des modifications dont Microsoft n’est pas satisfait, car ils modifient le système?

Pour l’utilisateur moyen, l’application des signatures du pilote est une excellente décision. Indéniablement. Pourtant, il ne se sent pas bien que les développeurs open-source soient évincées de la plate-forme grâce aux coûts associés au développement de leur propre logiciel et à le partager avec les autres, et à ne pas se sentir bien pour avoir l’impression que je ne possède pas vraiment mon matériel, tant que Windows est la principale façon dont je m’interface.

  • ️⃣ Lien source:

s’engager à Windows 10 pour le plus longtemps possible, faites le saut à Linux à la place, soumettre le pilote à Microsoft, bien que vous puissiez vous signer un certificat A Certificat A Certificat A Certificat A Certificat, [catégories entières de malware et, selon certains rapports à l’époque, protéger DRM]( https://mikemcquaid.com/Digital-Rights-management-and-operating-sysumshums.sysums, usefifi/Digital-rights-management-et-offirating.System, ufifi/Digital-Rights-Mights-Management-et-Operating/), ultime Secure Boot] (), Riot Vanguard, abuse du conducteur de mappeur de Lenovo, DMA remapping-compatible pilotes, notepad ++ est un exemple célèbre, le verge, louant la fonctionnalité pour utiliser notre propre matériel,,