Linus Torvalds est de plus en plus frustré par le matériel bogué et les attaques théoriques du processeur
dont les mesures d'atténuation peuvent avoir un impact sur la sécurité et l'efficacité du noyau Linux
Linus Torvalds, le créateur de Linux, s'est montré très critique à l'égard des fabricants de matériel lors d'une récente discussion sur la liste de diffusion du noyau Linux. Il a exprimé sa frustration quant à l'utilisation de la macro barrier_nospec() dans la copy_from_user(). En effet, la principale préoccupation de Linus Torvalds concerne la lenteur de barrier_nospec() et la surcharge que ces barrières sont perçues comme étant. Toutefois, ses remarques mettent également en évidence une impatience croissante à l'égard du matériel bogué et des attaques théoriques du processeur, qui ont un impact sur la sécurité et l'efficacité du noyau Linux.
Linus Torvalds agacé fustige les fabricants qui livrent du matériel bogué
Linus Torvalds, créateur de Linux, a participé récemment à un fil de discussion portant sur la possibilité d'éviter d'utiliser barrier_nospec() dans la fonction copy_from_user(). Lors des échanges, Linus Torvalds a déclaré que l'utilisation de cette macro a un impact négatif sur les performances du noyau. La conversation a évolué vers des discussions sur le comportement du processeur et la meilleure façon de le gérer, les différents comportements/exigences avec les nouveaux CPU Intel supportant le Linear Address Masking (LAM), et les maux de tête généraux autour des atténuations de la sécurité du CPU.
Linus Torvalds a indiqué que certains codes suggérés ne fonctionnent probablement pas pour les CPU Intel avec LAM comme Arrow Lake et Lunar Lake. Cependant, en l'absence de certitude sur le comportement de certains processeurs, il a été suggéré de modifier préventivement certains codes du noyau. C'est là que Linus Torvalds a écrit une réponse tard dans la nuit. Il n'a pas hésité à fustiger les fabricants de matériel dans un style classique qu'on lui connaît :
Linus Torvalds appelle en effet les fabricants de matériels à s'impliquer davantage dans la sécurité du noyau Linux. Après les commentaires de Linus Torvalds, l'ingénieur d'Intel Kirill Shutemov a fait un commentaire sur ce fil de discussion : « LAM apporte ses propres problèmes de spéculation qui seront résolus par LASS. Il y avait un correctif pour désactiver LAM jusqu'à l'arrivée de LASS, mais il n'a jamais été appliqué pour une raison quelconque ».Envoyé par Linus Torvalds
LASS (Linear Address Space Separation) est une extension de sécurité qui empêche les accès spéculatifs à l'espace d'adressage virtuel entre le mode utilisateur et le mode noyau. Ce code du noyau est un autre sujet que les discussions que Linus Torvalds a eues sur le fait d'éviter barrier_nospec() dans copy_from_user().
Comprendre les critiques de Linus Torvalds à l'égard de barrier_nospec()
La macro barrier_nospec() est une barrière qui empêche les instructions qui la suivent d'être exécutées de manière spéculative. Son utilisation vise à sécuriser les systèmes contre des attaques qui exploitent les vulnérabilités des processeurs, sans compromettre les performances et les solutions de sécurité plus lourdes. Toutefois, Linus Torvalds a décrit l'utilisation de barrier_nospec() comme étant « excessive » dans une récente réponse à une liste de diffusion.
Linus Torvalds a également qualifié l'utilisation de barrier_nospec() de « douloureusement lente ». En effet, les performances peuvent être affectées par l'introduction de barrières d'exécution spéculative pour atténuer les vulnérabilités de type Spectre découvertes dans les processeurs modernes. Ces barrières ont été conçues pour stopper les attaques spéculatives, mais elles peuvent provoquer des temps de latence et réduire l'efficacité des opérations du noyau.
Cela peut entraîner un ralentissement des temps de réponse du système et une baisse des performances pour les utilisateurs finaux, en particulier lorsque ces derniers utilisent des environnements à forte capacité de calcul. Linus Torvalds semble particulièrement contrarié par l'application de mesures d'atténuation sans en comprendre la nécessité dans des cas spécifiques. La sécurité est essentielle, mais les solutions doivent être proportionnées au risque.
Cela ne s'applique pas toujours aux barrières d'exécution spéculative. La macro barrier_nospec() pourrait être appliquée universellement pour protéger contre certaines attaques, mais cela aurait un coût en matière de performances.
Importance de ces questions pour les administrateurs Linux
Le matériel défectueux pousse les développeurs du noyau à prendre des mesures pour atténuer les attaques théoriques du processeur. Mais l'introduction de mesures de sécurité peut dégrader les performances du noyau Linux et avoir un impact direct sur l'expérience de l'utilisateur final et sur la possibilité d'exécuter des applications gourmandes en ressources. Dans les commentaires, beaucoup sont d'avis avec les critiques de Linus Torvalds à l'égard des fabricants.
« Les fabricants de processeurs devraient être poursuivis pour les dommages causés par la mise sur le marché de produits défectueux et dangereux », a écrit l'un d'entre eux. Un autre critique a souligné : « Linus Torvalds a raison à 100 %. Et bien sûr, Intel est à blâmer ». Les critiques appellent Intel, AMD et les autres fabricants de processeurs à améliorer leurs pratiques en matière de sécurité. D'autres commentateurs affichent toutefois un sentiment mitigé :
La compréhension des compromis au sein du noyau permet aux administrateurs de prendre des décisions éclairées sur les configurations et les versions du noyau qui conviennent à des cas d'utilisation spécifiques. Pour maintenir un haut niveau de sécurité, ils doivent être au courant des discussions les plus récentes sur la sécurité du noyau. Comprendre le raisonnement qui sous-tend certaines mesures d'atténuation permet de mieux évaluer les risques.Envoyé par Critique
Selon les experts, cela permet de hiérarchiser les mises à jour et les configurations en fonction de la tolérance au risque de l'organisation. L'instabilité peut également être causée par les changements fréquents du noyau nécessaires pour corriger les vulnérabilités matérielles. Les administrateurs doivent être attentifs aux mises à jour et les tester minutieusement dans des environnements d'essai avant de les déployer sur les systèmes de production.
Quelques solutions potentielles pour résoudre ces défis
La sécurité et les performances sont constamment en conflit au sein du noyau Linux. Selon les experts, cette tension nécessite des solutions immédiates et à long terme. Une première approche pourrait consister à appliquer les barrières d'exécution spéculative de manière sélective plutôt que de manière universelle. Cela ne concernerait que les processus traitant des données sensibles ou les systèmes qui présentent un risque d'attaque plus élevé. Les administrateurs peuvent ajuster les paramètres du noyau pour équilibrer les performances et la sécurité en fonction des besoins opérationnels.
Une meilleure collaboration entre la communauté des développeurs de noyaux et les fabricants de matériel peut déboucher sur un silicium plus efficace, réduisant ainsi la nécessité de recourir à des logiciels d'atténuation. Les projets open source qui sont plus transparents et coopèrent avec les fabricants peuvent aboutir à des mesures d'atténuation plus adaptées et plus efficaces.
Les développeurs peuvent également optimiser l'impact des correctifs sur les performances et affiner les barrières d'exécution spéculative afin de minimiser les frais généraux tout en conservant leurs avantages en matière de protection. Dans ce processus, les analyses comparatives et les tests de performance sont essentiels.
L'utilisation d'une modélisation plus sophistiquée des menaces, qui évalue à la fois la faisabilité et l'exploitabilité des attaques théoriques, peut aider à élaborer une stratégie d'atténuation plus équilibrée. Les développeurs peuvent mieux évaluer les risques dans le monde réel et donner la priorité aux efforts qui apporteront les avantages les plus importants en matière de sécurité tout en ayant une solution avec un impact négligeable sur les performances.
En mettant en œuvre des configurations de noyau plus dynamiques, les systèmes peuvent ajuster leur posture de sécurité en temps réel en fonction de l'environnement de menace actuel. Cela permet de renforcer les protections lorsque le niveau de menace est élevé et d'assouplir ces protections lorsque le niveau de menace diminue.
Il est possible d'obtenir différentes perspectives en encourageant un niveau de participation plus important dans les discussions sur le développement du noyau. Cette méthode axée sur la communauté peut créer des mesures d'atténuation efficaces et efficientes en s'appuyant sur différents domaines d'expertise.
Sources : Linus Torvalds, Kirill Shutemov, ingénieur d'Intel
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des critiques de Linus Torvalds à l'égard des fabricants de matériels ?
Ses critiques sont-elles fondées ? Comment la communauté peut-elle venir à bout de ces problèmes ?
Que pensez-vous des impacts négatifs des barrières d'exécution spéculative sur les performances du noyau Linux ?
Voir aussi
Linus Torvalds est frustré par le problème persistant de saccade du module fTPM d'AMD et propose de désactiver ce truc "stupide", il estime que le module nuit aux performances du noyau Linux
Linus Torvalds estime que l'architecture 80486 appartient à un musée, pas au noyau Linux. Selon lui, le matériel ancien ne peut pas justifier la consommation du temps précieux des développeurs
Linus Torvalds fustige un contributeur de Google au noyau Linux pour ses suggestions relatives aux inodes des systèmes de fichiers, il a qualifié de "déchet" un code soumis par le Googler
Partager