IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Mathis Lucas

0PARTAGES

8  0 
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 :

Citation Envoyé par Linus Torvalds

Honnêtement, j'en ai assez du matériel bogué et des attaques complètement théoriques qui n'ont jamais été utilisées dans la pratique.

Je pense donc que cette fois-ci, nous allons faire pression sur les responsables du matériel et leur dire que c'est *LEUR* foutu problème, et s'ils ne peuvent même pas se donner la peine de dire oui ou non, nous nous contenterons de nous asseoir sur nos lauriers.

Parce que bon sang, mettons la responsabilité là où elle se trouve, et ne nous contentons pas de prendre n'importe quelle merde aléatoire d'un mauvais matériel et de dire « oh, mais ça *pourrait* être un problème ».
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 ».

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é :

Citation Envoyé par Critique

Je suis presque certain que les attaques par canal latéral de la synchronisation du cache étaient une curiosité théorique, jusqu'à ce que soudainement, très soudainement, elles ne le soient plus et que quelqu'un démontre qu'il est possible de s'emparer de clés privées entre des machines virtuelles isolées fonctionnant sur une même machine.

Le problème avec les attaques théoriques, c'est qu'on ne sait jamais quand elles deviennent non théoriques et qu'elles peuvent se transformer très rapidement en vulnérabilités zero-day très désagréables.
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.

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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 22/10/2024 à 18:09
Linus Torvalds est de plus en plus frustré par le matériel bogué et les attaques théoriques du processeur
Moi aussi ! (mais on s'en fout)
8  0 
Avatar de eomer212
Membre confirmé https://www.developpez.com
Le 22/10/2024 à 18:50
je me rappelle d'une époque, l'époque "bénie" (j'étais jeune, beau, et je le suis toujours dans ma tête) ou n'y avait pas de coprocesseur, et ou il fallait comprendre comment calculer un sinus à partir d'entiers en assembleur.
bref, on devait ramer comme des malades pour sortir les processeurs et les cartes graphiques vga de leur létargie. il fallait comprendre le materiel, et en particulier le processeur, son fonctionnement et ses limites. qu'on pouvait éventuellement dépasser, par la ruse et l'intelligence.
une des astuces existantes était le déroulé de code.
on déroule des fonctions qui auraient du faire un saut pour boucler, pour éviter le plus possible les branchements qui brisent la prédiction ou le pré chargement de code du processeur.
c'est con, c'est basique, et c'est très, très efficace.
moi je dis ca. mais bon, je peux me tromper, mais je pense que ca doit encore marcher..
en passant, un petit coucou extrêmement révérencieux à Mr Torvald, à qui nous devons tous beaucoup.
8  1 
Avatar de JP CASSOU
Membre confirmé https://www.developpez.com
Le 24/10/2024 à 10:53
Ne parlons pas des sites, applis et logiciels bogués et inutilisables

De plus en plus complexes, lourds, lents, bogués et au final inutilisables au quotidien, au point qu'un acte d'achat ou une transaction avec l'internet actuel prend 5x plus de temps qu'une opération à la finalité identique effectuée avec le Minitel des années 1980.

Faudrait peut-être penser à faire un "gel des technologies" et arrêter de concevoir 40.000 frameworks, 2.500 langages de programmation et 38 tonnes de librairies.

Le 64 bits grand public existe depuis le début des années 2000.

Nous avons des applications métier dont on ne se sert pas (ou plus) étant donné leur lenteur et lourdeur au point de rendre les procédures manuelles plus rapides et fiables
5  0 
Avatar de petitours
Membre chevronné https://www.developpez.com
Le 24/10/2024 à 11:21
Citation Envoyé par JP CASSOU Voir le message
Ne parlons pas des sites, applis et logiciels bogués et inutilisables

De plus en plus complexes, lourds, lents, bogués et au final inutilisables au quotidien, au point qu'un acte d'achat ou une transaction avec l'internet actuel prend 5x plus de temps qu'une opération à la finalité identique effectuée avec le Minitel des années 1980.

Faudrait peut-être penser à faire un "gel des technologies" et arrêter de concevoir 40.000 frameworks, 2.500 langages de programmation et 38 tonnes de librairies.

Le 64 bits grand public existe depuis le début des années 2000.

Nous avons des applications métier dont on ne se sert pas (ou plus) étant donné leur lenteur et lourdeur au point de rendre les procédures manuelles plus rapides et fiables
+1
L’évolution des "technos", avec des châteaux de carte compatibilités douteuses et tout cloud servent depuis une bonne 15n d'année uniquement des objectifs de captage client qui ne peut plus regarder un truc sans échapper à la pub, ou faire quelquechose sans laisser un log ou tout simplement plus disposer des données qu'il a envoyé sur une plateforme ou dans le cas des films qu'il a acheté, obligé de rester là, soumis à son prestataire pour continuer à profiter de ce qu'il a déjà acheté et le tout en se faisant assommer de pub ciblées par les données qu'il n'a pas voulu donner même s'il a évidement coché la 5ieme case en partant de la gauche sans quoi le bouton n’apparaissait pas.
Je trouve ça extrêmement frustrant de voir autant de moyens techniques et d'énergie mobilisée pour des services qui assurent de moins en moins la fonctionnalité de base.

Exemple hier soir, et de plus en plus fréquent. Je regarde un film en replay en me payant des tas de pubs (inutiles puisque elles créent en moi un profond rejet) et paf, erreur technique qui s'affiche à 20 min de la fin. On pourrait s'interroger sur la nécessiter d'une liaison internet et d'un serveur surpuissant pour simplement regarder un film mais j'ai surtout mis une bonne demie heure à retrouver là où j'en étais dans le film, car l'avance rapide était non seulement buguée à revenir sans arrêt à 0 mais en plus ça s’arrêtait à chaque période de pub pour me la passer en intégralité. L'appli c’était la pub au service du fournisseur, à la base ça sert à regarder des films, ça ne sait plus faire.

Tu achètes un film, tu ne peux pas le télécharger
Tu achètes de la musique ou le même film, tu as besoin d'une connexion internet et de continuer à payer la plateforme pour voir et écouter ce que tu as déjà acheté
2  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 24/10/2024 à 17:34
Citation Envoyé par floyer Voir le message
Dans l’exemple, le replay, c’est gratuit donc c’est toi le produit. Si tu regardes Netflix, il ok, c’est payant mais tu n’as pas de pub. Dans un marché bien fait, tu aurais une offre Premium sans pub.

Bon, le replay gratuit c’est un peu faux… les opérateurs payent les chaînes pour diffuser ce qui est gratuit via la TNT. (Mais en échange, il me semble qu’ils ont droit à une TVA moindre).
Netflix est payant, mais il ne faut pas croire que tu n'es pas aussi un produit. Tes habitudes de visionnage sont judicieusement étudiées.
2  0 
Avatar de JP CASSOU
Membre confirmé https://www.developpez.com
Le 25/10/2024 à 10:40
et le tout en se faisant assommer de pub ciblées par les données qu'il n'a pas voulu donner même s'il a évidement coché la 5ieme case en partant de la gauche sans quoi le bouton n’apparaissait pas.
D'un Internet ouvert des débuts, on en est arrivé à un Web fermé de toutes parts et un Net-poubelle:
- Obligation de créer un compte par site, ou pas loin
- Paywalls et cookieswalls, surtout les "Refuser et s'abonner"
- Pub omniprésente
- Résultats de recherche non pertinents
- Sites marchands qui t'imposent de remplir un formulaire de 50 champs pour connaître le prix d'un appareil
- 100% des forums sont à inscription obligatoire (corollaire: la V95 d'un forum est de moins de trois mois - La V95 correspond au temps écoulé entre l'ouverture du forum et le moment où 95% des posts ont été publiés)
- 99% des sites web sont obsolètes
- 90% des bannières cookies ne respectent pas le RGPD
- Pour une question technique, les 100 premiers résultats de Google, c'est du publi-rédactionnel
- 80% des sites web et intranets institutionnels (et aussi d'entreprises) ont une disponibilité inférieure à 95%.
- Le nombre de bugs dans les sites Web est proprement ahurissant. Lors de la période 2003 (ADSL chez moi) à 2012 (arrêt du Minitel), je faisais les démarches critiques sur le Minitel. Plus simple, plus rapide (surtout les 36.13 et 36.14 - les autres étant volontairement ralentis) et surtout plus fiable.

Je pense sincèrement qu'il faut repenser complètement le net en ajoutant un protocole sécurisé et simplifié, pour tout ce qui concerne le commerce en ligne, les démarches administratives, les banques et la santé.
Ce protocole devrait avoir les caractéristiques suivantes:
- Mode texte exclusivement
- Accès par authentification à plusieurs facteurs
- Limitation du poids des pages à moins de 200 Ko (sauf téléchargement)
- Utilisable pleinement sur des connexions très lentes
- Fiabilité proche de 100%

Bref, un protocole proche du Minitel ou Gemini (port 1965)
-
2  0 
Avatar de Jules34
Membre émérite https://www.developpez.com
Le 24/10/2024 à 14:43
Citation Envoyé par petitours Voir le message
Je trouve ça extrêmement frustrant de voir autant de moyens techniques et d'énergie mobilisée pour des services qui assurent de moins en moins la fonctionnalité de base.
Disons que la technologie n'est pas mise au service des individus mais du marché et de ses attentes.

Ce qui fait que le marché ET la technologie finiront par faire l'objet d'un rejet massif, personne n'aime les pubs, personne n'aime être ciblé et surtout personne n'aime être pris pour un abruti... tout en payant pour ses services.
1  0 
Avatar de floyer
Membre confirmé https://www.developpez.com
Le 24/10/2024 à 16:59
Dans l’exemple, le replay, c’est gratuit donc c’est toi le produit. Si tu regardes Netflix, il ok, c’est payant mais tu n’as pas de pub. Dans un marché bien fait, tu aurais une offre Premium sans pub.

Bon, le replay gratuit c’est un peu faux… les opérateurs payent les chaînes pour diffuser ce qui est gratuit via la TNT. (Mais en échange, il me semble qu’ils ont droit à une TVA moindre).
0  0 
Avatar de petitours
Membre chevronné https://www.developpez.com
Le 24/10/2024 à 19:47
Citation Envoyé par floyer Voir le message
Dans l’exemple, le replay, c’est gratuit donc c’est toi le produit.
Tu es le produit mais pour que ce soit gratuit il faudrait que ce soit un service hors ça n'en est pas puisqu'il est pour bon nombre de chaine la modeste compensation à la perte de possibilité d'enregistrer.
Ils se font le beurre, la crémière et ont oublié de laisser le pain.
0  0 
Avatar de floyer
Membre confirmé https://www.developpez.com
Le 25/10/2024 à 16:00
À quoi bon créer un nouveau protocole… s’il ne distribue pas la pub, il sera boudé par les créateurs de contenus.

HTTP permet de distribuer du fichier texte… mais si les sites sont plus lourds (HTML, animation, etc…) c’est aussi plus attrayant. Pas sûr qu’un retour au Minitel ait un succès. (Il faut une adhésion des deux côtés). On peut très bien faire un site avec un sous ensemble d’HTML (H1/H2/P/A par exemple). Je note que Stéphane Bortzmeyer semble derrière gemini… mais son blog est déjà très simple en matière de présentation et ne devrait pas poser de problème de fiabilité de consommation de ressources, etc. (Ok pas si simple, le bandeau de navigation ne s’affiche pas sur le smartphone en mode portrait). On peut déjà faire simple avec ce que l’on a !
0  0