web-dev-qa-db-fra.com

Ubuntu et Spectre Meltdown

J'ai installé le dernier BIOS sur mon ordinateur portable. Le fabricant du portable indique que la mise à jour du BIOS inclura des corrections concernant les vulnérabilités de Spectre/Meltdown.

  • Quel microcode Ubuntu 14.04 LTS utilise-t-il?
  • Charge-t-il le microcode à partir du BIOS ou à partir des fichiers système stockés sur le disque dur?
  • Quand il utilise le microcode de la HD, j'ai bien peur qu'il s'agisse d'une version plus ancienne qui n'est pas à l'épreuve de Spectre/Meltdown.
  • Comment vérifier quel microcode est chargé et utilisé par le système et comment déterminer quelle version est la plus récente?
3
Barbara

Ubuntu n'utilise pas du tout le microcode (au sens où vous en parlez). Cependant, votre CPU utilise le microcode - c’est le code dont il a besoin pour fonctionner.

Ubuntu fournit des packages AMD et Intel-microcode, qui fournissent un micrologiciel mis à jour pour ce matériel. Ces packages sont entièrement mis à jour avec tous les correctifs Spectre/Meltdown dans toutes les versions prises en charge d'Ubuntu.

Les correctifs en cours pour les vulnérabilités sont gérés par l'équipe de sécurité Ubuntu. C'est une partie normale du support dans une version prise en charge d'Ubuntu. Vous recevez régulièrement ces correctifs lorsque vous mettez à niveau à partir du référentiel de sécurité Ubuntu.

Si vous avez des questions sur des vulnérabilités spécifiques, n'hésitez pas à effectuer une recherche dans la base de données des vulnérabilités et des correctifs.

Déterminez quelle version du microprogramme votre processeur utilise avec grep microcode /proc/cpuinfo

Enfin, sachez que les numéros de version peuvent induire en erreur lors de la recherche de vulnérabilités: Un package corrigé peut ne pas avoir un numéro de version en amont plus élevé (puisqu'il ne s'agit pas d'une nouvelle version en amont), mais il est toujours corrigé et testé et n'est plus vulnérable. Dans ces cas, Debian et Ubuntu ajoutent leurs propres numéros de version supplémentaires afin que vous puissiez faire la différence.

3
user535733

La réponse est:
Il charge d’abord le microcode à partir du BIOS puis , puis , lors du chargement du système d’exploitation, le microcode le plus récent est à nouveau chargé par le système d’exploitation. Les deux sont des fichiers binaires signés supposés impossibles à falsifier.

Ainsi, si la version du BIOS/UEFI est antérieure à la version fournie au Système d'exploitation, le MicroCode est chargé/mis à jour par le système d'exploitation via une mise à jour du système. Sinon, la version BIOS/UEFI est utilisée.

Le Système d'exploitation charge le microcode pendant le processus de démarrage, comme indiqué dans cette WiKi :

Les données de mise à jour "opaques" fournies par le fabricant de l'unité centrale elle-même ne sont toutefois pas libres et son contenu est inconnu de Debian. Ces données "opaques" sont envoyées telles quelles à la CPU pour traitement, mais uniquement lorsque les utilitaires du noyau et de l'espace utilisateur le jugent nécessaire. Cela signifie que la mise à jour du microcode n'est envoyée au processeur système que si elle est réellement nécessaire.

Par exemple, le système n'enverra jamais de données de mise à jour du microcode au processeur lorsque celui-ci indique qu'il exécute déjà la même version ou une version plus récente du microcode (car l'UEFI/BIOS l'a déjà mis à jour). En outre, il n'enverra pas de données de mise à jour du microcode qui ne sont pas appropriées pour ce processeur système.

2
zx485