Vous êtes sur la page 1sur 15

Le 18 juillet 1968, Gordon Moore, Robert Noyce et Andrew Grove, trois docteurs en chimie et en

physique issus du monde de l'électronique numérique, décident de quitter leur précédente entreprise
Fairchild Semiconductor (société de conception et fabrication de circuits intégrés inventés par Robert
Noyce) pour cofonder la société Intel à Santa Clara.

En 1971, trois ans à peine après sa fondation, Intel invente pour son premier gros client japonais, le
fabricant de calculatrices Busicom, le microprocesseur (l'Intel 4004 de Marcian Hoff, 4 bits et 4000
transistors).

Intel commercialise en produit phare la série des microprocesseurs dite x86 utilisée par les compatibles
PC depuis 1981 avec pour produit le plus vendu la série des Pentium.

En 1974, Intel ouvre son premier centre de design et développement à l'extérieur des États-Unis à Haïfa
en Israël. Le fondeur, par sa démarche, commence à intéresser des constructeurs réfléchissant à des
machines moins coûteuses et moins encombrantes face au quasi-monopole IBM sur les mainframes
(IBM n'était alors menacé que sur le segment de marché moins important des mini-ordinateurs).

Pendant les années 1980, Intel n'était pas le géant qu'on connaît en 2015 Il n'était par exemple que le
10e plus grand fabricant de circuits intégrés en 1987, loin derrière l'industrie japonaise avec à leur tête
NEC Semiconductors. C'est dans les années 1990 qu'elle devient le plus gros fabricant de
microprocesseurs et de circuits intégrés avec l'avènement du marché des micro-ordinateurs compatibles
PC à base de microprocesseurs x86 pentium puis la gamme des Pentium. Intel devient alors no 1 en
développement et industrialisation de microprocesseurs et contribue par ses produits à la très forte
hausse des sociétés de technologie de la seconde partie des années 1990.

En mars 2003, Intel crée la plateforme Centrino (aussi appelé « Centrino Mobile Technology »)[9]. Après
plusieurs évolutions liées essentiellement à l'évolution des processeurs, Intel lance la plateforme
Centrino 2 en septembre 2009.

Sur l'architecture de Intel:

Architecture Intel® 64
L' architecture Intel ® 64 offre une informatique 64 bits dans des conceptions intégrées lorsqu'elle est
associée à un logiciel de support 1 L’ architecture Intel ® 64 améliore les performances en permettant
aux systèmes de traiter plus de 4 Go de mémoire virtuelle et physique.

Intel® 64 prend en charge:

Espace d'adressage virtuel plat 64 bits

Pointeurs 64 bits

Registres polyvalents de 64 bits

Support entier 64 bits

Jusqu'à un téraoctet (To) d'espace d'adressage de plate-forme

Produits conçus avec Intel® 64 Architecture 2

La famille de processeurs Intel® Core ™ vPro ™ dote les PC d’entreprise d’une sécurité assistée par
matériel, de capacités de gestion et de performances améliorées.

Pour les ordinateurs de bureau, la famille de processeurs Intel® Core ™ offre les processeurs les plus
intelligents et les plus rapides d’Intel. S'adaptant aux besoins des utilisateurs, la technologie de la
dernière famille de processeurs Intel® Core ™ est conçue pour s'adapter automatiquement aux exigences
de performances changeantes tout en réduisant la consommation d'énergie.

Les ordinateurs portables équipés d'un processeur de la famille de processeurs Intel® Core ™ offrent une
technologie mobile inégalée pour des performances intelligentes, de la vidéo numérique aux jeux
intenses en passant par les tâches professionnelles exigeantes.

Les processeurs Intel® Xeon® alimentent une variété de serveurs et de stations de travail 64 bits
multicœurs. Pour une large gamme d'applications d'infrastructure, cloud, haute densité et calcul haute
performance (HPC), la famille de processeurs Intel® Xeon® E5 propose des serveurs et des stations de
travail polyvalents 64 bits unidirectionnels et bilatéraux. La famille de processeurs E7 d'Intel® Xeon®
offre des performances évolutives exceptionnelles et une fiabilité de classe critique pour les applications
les plus exigeantes en données et les projets de virtualisation.
Faiblesses de Intel:

L'architecture de tous les CPU Intel remise en question après la découverte de SPOILER

Une nouvelle faille difficile à corriger par voie logicielle

Le 06/03/2019, par Christian Olivier, Chroniqueur Actualités

Des chercheurs du Worcester Polytechnic Institute aux États-Unis et de l’université de Lübeck en


Allemagne ont découvert une nouvelle vulnérabilité critique baptisée SPOILER qui affecte toutes les
puces Intel depuis la première génération Core jusqu’aux plus récentes « ;Kaby Lake refresh ;». Ils
décrivent Spoiler comme « ;une nouvelle approche permettant d’obtenir des informations sur les
adresses mémoires physiques ;» en exploitant un mécanisme d’optimisation implémenté dans les
processeurs modernes : l’exécution spéculative.

En principe, dans le cadre du fonctionnement normal d’un processeur prenant en charge l’exécution
spéculative, les éléments spéculatifs incorrects sont ignorés et une charge de données non spéculative
normale est effectuée, ce qui permet l’exécution de l’instruction, mais sans augmenter les performances.
Le document indique que le problème principal avec SPOILER est la performance de désambiguïsation
de la mémoire d’Intel, qui tente d’empêcher le calcul sur des données chargées par une tentative de
spéculation incorrecte, son comportement prédictif étant la vulnérabilité réelle.

Cette nouvelle approche permettrait même, d’après eux, de « ;lancer des attaques déjà connues plus
efficacement ou d’en concevoir de nouvelles ;». Et pour cause, SPOILER serait capable de déterminer
comment la mémoire virtuelle et la mémoire physique sont liées l’une à l’autre, en mesurant le temps de
chargement et de stockage des opérations spéculatives effectuées par le processeur : en repérant des
divergences dans le timing, il est possible pour un attaquant de déterminer la disposition de la mémoire,
et à son tour de connaître les zones à attaquer.

Pour rappel, au cours des derniers mois, plusieurs vulnérabilités majeures affectant la majorité des
processeurs disponibles sur le marché ont été découvertes, la plupart étant liées à leurs capacités
d’exécution spéculatives. Elles affectent surtout les processeurs du fondeur américains Intel ainsi que
certaines puces conçues par Arm et IBM, mais aussi, dans une moindre mesure cela dit, les CPU produits
par AMD. Il a été démontré que certaines d’entre elles existent même depuis près de 20 ans.
Les plus connues sont : Meltdown, Spectre, BranchScope, Foreshadow, PortSmash et TLBleed. Ces
exploits permettraient à un attaquant d’accéder en douce et de détourner différents types de données
(mots de passe, clés cryptographiques…) sur un système sans être détecté ou arrêté par les outils de
sécurité traditionnels. Les processeurs produits par Intel sont presque toujours les plus sensibles ou les
seuls concernés par ces exploits.

SPOILER n’affecte vraisemblablement que les processeurs du fondeur de Santa Clara, les processeurs
Arm et AMD analysés n’ayant à aucun moment présenté un comportement similaire lors de l’étude. Elle
tire parti des tâches que le processeur entreprend pour déterminer à l’avance les futures commandes
potentielles et gagner les précieuses millisecondes dont sont friands les amateurs de benchmarks au
détriment de la sécurité des opérations. SPOILER serait quasiment impossible à corriger par voie
logicielle, d’après les chercheurs.

Signalons au passage que les chercheurs de Google assurent désormais que tous les processeurs qui
prennent en charge l’exécution spéculative resteront toujours sensibles aux diverses attaques par canal
latéral, malgré les mesures d’atténuation qui pourraient être découvertes à l’avenir. D’après eux, pour
véritablement remédier à tous les bogues actuels et futurs liés à Spectre et à la menace qu’ils
représentent, les concepteurs de puces (Intel en tête de liste) doivent s’atteler à proposer de nouvelles
architectures pour leurs microprocesseurs.

La firme de Santa Clara, qui a été informée depuis le 1er décembre 2018, a de son côté déclaré : « ;Nous
nous attendons à ce que les logiciels puissent être protégés contre de tels problèmes en utilisant des
techniques de développement résistantes aux attaques par canal latéral ;».

PortSmash : une nouvelle faille critique qui affecte les CPU Intel exploitant l'Hyperthreading ou le SMT

Des CPU AMD pourraient aussi être touchés

Le 05/11/2018, par Christian Olivier, Chroniqueur Actualités

Au cours des derniers mois, plusieurs vulnérabilités majeures affectant la majorité des processeurs
disponibles sur le marché ont été découvertes. Elles affectent surtout les processeurs du fondeur US
Intel ainsi que certaines puces conçues par ARM et IBM, mais aussi, dans une moindre mesure cela dit,
les CPU produits par AMD. Il a été démontré que certaines d’entre elles existent même depuis près de 20
ans.

Les plus connues parmi ces vulnérabilités sont très probablement : Meltdown, Spectre, BranchScope,
Foreshadow et TLBleed. Ces exploits permettraient à un attaquant de détourner différents types de
données (mots de passe, clés cryptographiques…) sur un système sans être détecté ou arrêté par les
outils de sécurité traditionnels. Les processeurs produits par Intel sont presque toujours les plus
sensibles ou les seuls concernés par ces exploits.

Une nouvelle étude conduite par des chercheurs des universités de Technologie de Tampere et de La
Havane (respectivement en Finlande et à Cuba) a démontré que les processeurs Intel sont sujets à une
nouvelle attaque par canal latéral, baptisée PortSmash, qui permet d’exfiltrer l’information des processus
se déroulant en parallèle sur un même noyau physique.

Pour être plus précis, PortSmash permet à un attaquant d’exécuter un processus malveillant à côté des
processus légitimes en utilisant les capacités d’exécution de threads parallèles de l’architecture et
d’exfiltrer les données des processus légitimes s’exécutant sur le même noyau.

« ;Nous avons récemment découvert un nouveau vecteur d’attaque de microarchitecture CPU ;», ont
écrit les chercheurs.

Cette nouvelle vulnérabilité matérielle critique exploite le SMT (Simultaneous Multi Threading), une
technologie orientée multitâche qui permet d’exécuter plusieurs threads de calcul en parallèle sur un
noyau de CPU. Or la technologie communément appelée Hyperthreading développée par Intel qui se
rencontre sur de nombreux processeurs modernes n’est qu’une implémentation du SMT permettant
d’activer deux cœurs logiques pour chaque cœur physique disponible sur un die. L’Hyperthreading
permet ainsi d’exécuter deux instances simultanément d’un même programme ou de deux programmes
différents en utilisant au mieux les ressources du processeur.

Les chercheurs ont vérifié l’exploit sur les processeurs Intel des générations Skylake et Kaby Lake. Ils ont
néanmoins suggéré que tous les processeurs qui ont bénéficié de l’implémentation du SMT dans leur
architecture devraient être concernés par PortSmash. Ils suspectent fortement les puces AMD d’être
également touchées par cette nouvelle vulnérabilité.

Paul Kocher, l’expert en sécurité cryptographique qui a découvert Spectre, a souligné que l’un des
facteurs essentiels qui contribuent à faire de PortSmash une découverte aussi inquiétante est lié à la
façon dont OpenSSL effectue des opérations sensibles en utilisant des instructions de branchement qui
sont basées sur des valeurs secrètes.

L’équipe de recherche a suggéré de désactiver la fonctionnalité SMT ou Hyperthreading au niveau du


bios et de faire une mise à jour d’OpenSSL, idéalement vers OpenSSL 1.1.1.1 ou toute autre version
supérieure ou égale à OpenSSL 1.1.0i, à titre de corrections potentielles.

Cette découverte est l’un des premiers résultats du programme de recherche « ;SCARE : Side-Channel
Aware Engineering ;» financé par le Conseil européen de la recherche, dont l’objectif est de trouver et
d’atténuer les nouvelles attaques par canal latéral. PortSmash est la seconde vulnérabilité matérielle
majeure qui cible la fonctionnalité Hyperthreading des processeurs Intel, après l’annonce de TLBleed en
juin dernier.

Les chercheurs ont récemment rendu publique leur découverte sous la référence CVE-2018-5407 et Intel
a été informée de cette vulnérabilité le mois dernier, mais n’a pas encore réagi à cette nouvelle attaque
ni fait part d’éventuelles corrections envisageables.

Encore une autre vulnérabilité découverte dans les CPU d'Intel

Le fournisseur de microprocesseurs fait des recommandations pour l'atténuer

Le 15/06/2018, par Bill Fassinou, Chroniqueur Actualités

Depuis le début de l'année 2018, plusieurs vulnérabilités affectant les processeurs d'Intel depuis
plusieurs années ont été mises au grand jour. Ces vulnérabilités exploitent certains mécanismes
d’optimisations implémentés dans les processeurs, notamment celui dit d’exécution spéculative. Ces
vulnérabilités (trois variantes) ont été connues sous le nom de Spectre et Meltdown.
Des correctifs ont été rapidement mis en place par Intel pour atténuer le problème. L'entreprise a
développé d'autres microcodes pour ces processeurs. Google aussi a apporté sa pierre à l'édifice avec la
publication d’une technique de mitigation baptisée Retpoline. Linux aussi, en publiant son kernel 4.16
apporte des correctifs contre Meltdown et Spectre. Un outil PowerShell est disponible et permet de faire
l'état des lieux des protections sous Windows.

La découverte de ces vulnérabilités a ouvert la porte à d'autres recherches de failles dans les processeurs
d'Intel. C'est ainsi que le 21 mai 2018, deux autres vulnérabilités mettant en jeu l’exécution spéculative
ont été dévoilées. Il s'agit de la variante 3a (CVE-2018-3640) et de la variante 4 (CVE-2018-3639). Et ce
n'est pas fini, une autre faille de gravité modérée a été découverte à nouveau. Cette vulnérabilité (CVE-
2018-3665) confirmée par Intel même concerne la famille des microprocesseurs Intel Core et pourrait
être potentiellement exploitée pour accéder aux données sensibles sur un ordinateur. Les attaquants qui
exploitent cette faille peuvent obtenir des informations sur l'activité d'autres applications, y compris les
opérations de chiffrement.

« Le logiciel système peut utiliser la technique du « Lazy FP state restore » pour retarder la restauration
d'un état jusqu'à ce qu'une instruction sur cet état soit exécutée par un nouveau processus. Les systèmes
utilisant des microprocesseurs d'Intel Core peuvent potentiellement permettre à un processus local
d'extraire des données d'un autre processus par un canal d'exécution spéculative », a déclaré Intel.

La société n'a pas mentionné si elle allait ou non publier un patch pour corriger la faille à l'avenir. Mais à
l'heure actuelle, il semble qu'Intel compte sur l'action des développeurs de logiciels systèmes pour
protéger les utilisateurs de PC. L'entreprise a fait certaines recommandations techniques à ces derniers
pour atténuer le problème. Comme avec la plupart des failles Spectre, la seule solution à long terme sera
peut-être de changer l'architecture du CPU. On pourrait donc voir de nouvelles vulnérabilités apparaître
jusqu'à ce que le problème soit résolu au cœur de l'architecture d'Intel.

Spectre/Meltdown : de nouvelles failles dans les processeurs,

Elles permettent de lire les registres internes, la mémoire kernel et celle de l'hôte

Le 22/05/2018, par benjani13, Membre extrêmement actif

En début d’année, plusieurs vulnérabilités affectant les processeurs depuis plusieurs années ont été
dévoilées. Au nombre de trois « variantes », ces vulnérabilités exploitent des mécanismes internes aux
processeurs. Elles sont souvent regroupées sous le nom de Spectre pour les variantes 1 et 2, et
Meltdown pour la variante 3. Elles permettent de lire la mémoire kernel en tant que simple utilisateur,
ou bien d’aller lire la mémoire de l’hôte depuis une machine virtuelle.

Hier, les détails de deux nouvelles variantes (3a, et 4) ont été publiés. Elles abusent des mécanismes
d’exécution spéculative pour (3a) lire des registres internes des processeurs et (4) lire des données
sensibles en mémoire.

Retour sur Spectre et Meltdown

Meltdown et Spectre abusent de certains mécanismes d’optimisations implémentés dans les


processeurs, notamment celui dit d’exécution spéculative. Ce mécanisme permet au processeur
d’exécuter certaines instructions en avance de phase afin de gagner du temps. Le processeur peut par
exemple (variante 1) exécuter une série d’instructions se trouvant après une condition, sans savoir à ce
moment-là si la condition sera remplie ou non. Si la condition n’est en fait pas remplie, le processeur
revient à son état précédent l’exécution du bloc et tout se passe comme si rien ne s’était passé. Or il a
été démontré que des traces de l’exécution erronée du bloc peuvent être retrouvées dans le cache du
processeur, celui-ci n’étant pas remis dans son état original.

Ces vulnérabilités ont dû être patchées soit par la mise à jour du microcode des processeurs affectés, soit
par la mise en place de mécanismes de protection au sein des systèmes d’exploitation. Néanmoins
certaines de ces protections impliquent des baisses de performances, et certains patchs n’ont pas été
totalement efficaces et ont subi plusieurs itérations avant d’être matures. AMD et Intel ont aussi pris en
compte ces failles dans leurs futures architectures afin de livrer de nouveaux processeurs non
vulnérables. Les fournisseurs d’infrastructure cloud, particulièrement impactés par ces vulnérabilités, ont
aussi dû rapidement réagir en déployant des correctifs sur leurs serveurs. Aussi, des compilateurs ont
implémenté des mécanismes pour contrer certaines variantes, et des guides de développement ont été
publiés afin d’écrire du code moins sensible à ces attaques. Encore plus inattendu, les navigateurs web
ont baissé la précision des timers JavaScript afin d’empêcher l’exploitation de ces failles depuis du code
JavaScript.

Meltdown et Spectre ont donc été des vulnérabilités assez hors du commun, tant par le fait qu’elles
attaquent les processeurs eux-mêmes, par leur impact très large (tous les OS étant concernés), et le
travail qui a été nécessaire pour les corriger. En effet c’est toute l’industrie (fabricants de CPU,
développeurs d’OS, fournisseurs d’infrastructure) qui a dû se coordonner, en secret, pendant plusieurs
mois afin de fournir une réponse adaptée.

Nouvelles vulnérabilités

Il était pressenti que les chercheurs ayant découvert Meltdown et Spectre venaient d’ouvrir une porte
sur tout un champ d’études encore très peu exploré et que d’autres variantes seraient découvertes. Le
21 mai 2018, deux nouvelles vulnérabilités mettant en jeu l’exécution spéculative ont été dévoilées.

Variante 3a : Rogue System Register Read (CVE-2018-3640)

Cette variante abuse des mécanismes d’exécution spéculative afin de récupérer les valeurs de certains
registres internes des processeurs. Quelques données sensibles peuvent être récupérées suivant le
processeur visé comme l’adresse physique de certaines structures de données et l’adresse de certains
points d’entrée du kernel. Ces informations peuvent permettre d’outrepasser la protection KASLR (Kernel
Address Space Randomization) en place dans les systèmes d’exploitation récents.

KASLR rend l’adresse de base du kernel (et donc de tout son contenu) aléatoire. Ainsi, si un attaquant
exploite par exemple un driver kernel et se retrouve à pouvoir exécuter du code avec les mêmes droits, il
ne pourra pas manipuler les informations du kernel, car il ne connaitra pas leurs adresses. Cette
vulnérabilité peut paraitre minime mais réussir à contourner KASLR est une étape presque indispensable
aujourd'hui pour réussir un exploit kernel.

Variante 4 : Spéculative store bypass (CVE-2018-3639)

Cette vulnérabilité abuse d’un mécanisme d’optimisation dans la lecture de la mémoire appelé «
memory disambiguation ». En effet, les processeurs tentent de gagner du temps en réorganisant l’ordre
des instructions à la volée. Si l’instruction 1 est jugée lente (lecture d’une donnée en RAM), le processeur
peut démarrer l’exécution de l’instruction 2 si celle-ci est jugée rapide (lecture dans le cache). Bien sûr,
pour que ce mécanisme se déclenche, il ne faut pas que l’instruction 2 dépende de l’instruction 1. Si
l’instruction 1 écrit une valeur à l’adresse 3000 et que l’instruction 2 lit la valeur à l’adresse 3000,
l’instruction 2 ne pourra pas être exécutée avant la 1. Ce mécanisme s’applique à plus que deux
instructions bien sûr. Si l’instruction 2 consiste à charger une valeur, puis une troisième instruction
incrémente cette valeur, c’est l’ensemble instructions 2 et 3 qui peut être exécuté avant l’instruction 1.

Il peut néanmoins arriver que le processeur se trompe, et qu’il se rende compte après coup que la
seconde instruction était bien dépendante de la première. Dans ce cas-là, une fois que l’instruction 1 est
terminée, le processeur revient en arrière et réexécute l’instruction 2 (et plus si besoin).

Tout comme les autres variantes, ce retour en arrière peut laisser des traces exploitables après coup,
notamment dans le cache. En abusant de ce mécanisme, il est donc possible de tenter de faire charger
des données sensibles et de les lire dans le cache, même si le processeur se rend compte de l’erreur et a
effectué le retour en arrière.

Microsoft a annoncé que les patchs déjà publiés pour Windows corrigent une partie des scénarios
exploitables avec cette variante. Microsoft précise qu’un travail est en cours avec les fabricants de CPU
afin d’évaluer les solutions à implémenter au niveau des processeurs (firmware ou micro code).

En attendant d'autres variantes

Les recherches sur les vulnérabilités liées aux différents mécanismes d’exécution spéculatives se
poursuivent et d'autres variantes seront sans doute découvertes. Bien que ces attaques peuvent paraitre
peu signifiantes pour certains, il ne faut pas les sous-estimer, et le fait qu'elles forcent de nombreux
acteurs de l'industrie à réagir démontre qu'il y a du souci à se faire. Cependant, ces failles de bas niveau
sont difficiles à comprendre, et il n'est de fait pas aisé d'estimer l'impact de chaque variante. De plus les
impacts de performances de certains patchs ont pu faire hésiter à les déployer. Il faudra néanmoins
rester sur le qui-vive et être prêt à patcher dès que nécessaire, car c'est un nouveau pan de recherche
qui s'est ouvert et nous pourrions encore être très surpris par ce qu'il se passe dans nos processeurs.

Des chercheurs révèlent de nouveaux défauts de fabrication dans les CPU

Une nouvelle génération de vulnérabilités Spectre et Meltdown ?

Le 04/05/2018, par Blondelle Mélina, Expert confirmé

Les vulnérabilités connues sous le nom de Spectre et Meltdown ont ébranlé le monde informatique en
janvier. Les chercheurs ont prouvé qu'il y avait un défaut de conception fondamental dans tous les
processeurs modernes avec de graves répercussions sur la sécurité du système. Ces deux problèmes
permettraient aux pirates informatiques de voler tout le contenu de la mémoire des ordinateurs, y
compris les appareils mobiles, les ordinateurs personnels et les serveurs fonctionnant dans des réseaux
informatiques dits en nuage. Après la publication de plusieurs patchs, il semblait que tout irait bien
après, bien que certains experts aient averti que d'autres révélations pourraient suivre. « Considérant ce
que nous avons vu avec Meltdown et Spectre, nous devrions nous attendre à un long et pénible cycle de
mises à jour, voire de performance ou de stabilité », a déclaré Yuriy Bulygin, PDG de la société de
sécurité matérielle Eclypsium. Mais l'espoir est resté que les fabricants pourraient résoudre le problème
avec quelques mises à jour de sécurité.

En fin de compte, nous pouvons enterrer cet espoir. Un total de huit nouvelles failles de sécurité dans les
processeurs Intel ont déjà été signalées au fabricant par plusieurs équipes de chercheurs. Pour l'instant,
les détails sur les failles sont gardés secrets. Toutes les huit sont essentiellement causées par le même
problème de conception. On pourrait dire qu'elles sont peut-être des « Specter Next Generation (NG) ».

Chacune de ces vulnérabilités a son propre numéro dans le répertoire CVE (Common Vulnerability
Enumerator) et chacune requiert ses propres correctifs. Intel travaille déjà sur les correctifs pour Spectre-
NG. Il prévoit deux vagues de patchs. La première devrait commencer en mai ; une seconde est
actuellement prévue pour août.

Bien sûr, Intel doit corriger les faiblesses actuelles le plus rapidement possible. Et c'est ce qui se passe.
D'après certains chercheurs, la conception du CPU doit être fondamentalement repensée. Werner Haas
de la société allemande Cyberus Technology et l'une des personnes ayant découvert les vulnérabilités
Spectre/Meltdown, considère qu'il est tout à fait possible d'équiper les processeurs haute performance
d'un design de sécurité solide. Cependant, cela impliquerait que les aspects de sécurité soient pris en
compte dans l'architecture dès le départ. Paul Kocher, qui a également participé au dévoilement de
Spectre, a suggéré d'implémenter des cœurs de processeurs supplémentaires spécialement sécurisés en
utilisant une méthode comme la modélisation des menaces.

D'après des chercheurs, les risques et les scénarios d'attaques à Spectre-NG sont similaires à ceux de
Spectre juste à une exception près. Un attaquant pourrait lancer un code malveillant dans une machine
virtuelle (VM) et attaquer le système hôte à partir de là ; le serveur d'un hébergeur de cloud, par
exemple. Alternativement, il pourrait attaquer les machines virtuelles d'autres clients fonctionnant sur le
même serveur. Les mots de passe et les clés secrètes pour une transmission de données sécurisée sont
des cibles très recherchées sur les systèmes de cloud computing et sont extrêmement menacées par ce
type d'attaque. Les extensions SGP (Software Guard Extensions) d'Intel, conçues pour protéger les
données sensibles sur les serveurs cloud, ne sont pas non plus protégées contre les virus.
Bien que les attaques sur d'autres VM ou sur le système hôte étaient déjà possibles en principe avec
Spectre, la mise en œuvre dans le monde réel nécessitait néanmoins tellement de connaissances
préalables qu'il était extrêmement difficile de l'implémenter, tel que l'avaient déclaré certains
chercheurs. Cependant, la vulnérabilité Spectre-NG mentionnée ci-dessus peut être exploitée assez
facilement pour des attaques à travers les frontières du système, élevant le potentiel de menace à un
nouveau niveau. Les fournisseurs de services cloud tels que Amazon ou Cloudflare et leurs clients sont
particulièrement touchés.

Microsoft préparerait également des correctifs de CPU. À l'origine, la société s'attendait à ce que les
problèmes soient résolus grâce à des mises à jour du microcode. Elle offre jusqu'à 250 000 dollars dans
un programme de primes de bogue pour les failles Spectre. Les développeurs de noyau Linux travaillent
continuellement sur des mesures de renforcement contre les attaques Spectre.

Comme Intel l'a annoncé, les premiers correctifs seront mis à disposition d'ici quelques jours.
Cependant, même lorsque des correctifs ont été déployés pour résoudre le problème du Spectre, il y a
eu plusieurs problèmes, malgré un délai de plus de six mois. En outre, certains correctifs réduisent les
performances. Ce qui pousse certaines entreprises à refuser les mises à jour du BIOS pour les
ordinateurs datant de quelques années seulement.

Les processeurs Intel x86 souffriraient d'un défaut

Qui exposerait la mémoire noyau et impacterait surtout sur le marché serveur

Le 04/01/2018, par Christian Olivier, Chroniqueur Actualités

Des rapports circulant depuis quelques jours sur la toile font état d’une vulnérabilité qui affecterait de
manière spécifique (c’est encore spéculatif) les processeurs modernes de l’entreprise américaine Intel
(génération ≥ Pentium Pro). Cette vulnérabilité pourrait être considérée comme majeure parce
qu’elle mettrait en exergue un éventuel problème de sécurité sur les processeurs Intel suffisamment
grave pour obliger Microsoft et Linus Torvalds à produire à la hâte des patchs spécifiques pour leurs OS
respectifs.

Si au départ la vulnérabilité, telle qu’elle avait été rapportée, avait pu faire croire que l’ensemble des
processeurs exploitant l’architecture x86 64-bits étaient concernés, une déclaration récente d’AMD a
permis de voir un peu plus clair dans cette affaire.
« ;Les processeurs AMD ne sont pas concernés par les attaques contre lesquelles les techniques
d’isolation de la table du noyau protègent. La microarchitecture AMD n’autorise pas les références
mémoire, y compris les exécutions spéculatives, qui tentent d’accéder à des données à privilèges plus
élevés alors qu’elles s’exécutent dans un mode privilégié inférieur quand cet accès est susceptible
d’entraîner une erreur ;», pouvait-on lire dans le communiqué de la firme de Sunnyvale.

On pourrait donc supposer que la firme de Sunnyvale dispose d’informations encore sous embargo pour
clamer ne pas être concernée même s’il faut éviter de tirer des conclusions hâtives tant que toute la
lumière n’aura pas été faite sur cette affaire et les détails rendus publics. Au passage, il faut signaler que
les processeurs basés sur les architectures ARM/RISC ne semblent pas être affectés.

L’exécution spéculative est essentiellement une forme de préemption qui tente de prédire quel code va
être exécuté après un branchement, puis de l’extraire et de l’exécuter avant que l’ordre réel n’arrive. Les
processeurs modernes ont une architecture en pipeline : ils traitent un grand nombre d'instructions
simultanément, en avançant un petit peu dans chacune à chaque cycle. Si un branchement est mal
prédit, tout le pipeline doit être vidé : la perte en performance est loin d'être négligeable. Cette
technique a ses avantages, mais elle présente également un risque non négligeable pour la sécurité, car
aucune vérification de privilège n’est présente au niveau du noyau du système d'exploitation.

Le problème réside dans le fait que vous pouvez exploiter cette fonctionnalité pour exécuter de manière
spéculative un code qui devrait être normalement bloqué en stoppant l’exécution du code avant qu’une
vérification puisse être effectuée. Cela signifie en gros qu’une application de niveau 3 (droits normaux)
peut lire les données du noyau de niveau 0 (réservé à l'exécution du noyau) en utilisant une exécution
spéculative, car la vérification de privilège ne sera pas effectuée avant que le code ne soit exécuté.

Tout serait parti d’un article de blog paru en juillet 2017. Son auteur y décrivait une expérience dans
laquelle il tente d’accéder à la mémoire protégée utilisée par le noyau à partir de l’espace utilisateur,
l’espace mémoire utilisé par les programmes classiques, en exploitant les mécanismes d’exécution
spéculative intégrés dans les CPU x86 64-bits modernes.

Ces processeurs disposent d’unités spécialisées dans la gestion de la mémoire (MMU) qui permettent de
contrôler les accès qu’un CPU fait à la mémoire de l’ordinateur. Ils peuvent fonctionner suivant au moins
deux modes de fonctionnement, dont un mode noyau qui n’impose pas de restrictions sur les
instructions exécutées, et un mode utilisateur qui limite ce que peuvent faire les instructions.

Habituellement, le système d’exploitation met en œuvre cette distinction en faisant fonctionner les
autres programmes en mode utilisateur et en se réservant le mode noyau. Cette distinction entre espace
utilisateur et espace noyau est à la base du contrôle d’accès qui empêche les instructions des
applications de l’espace utilisateur d’accéder à une zone mémoire ne leur appartenant pas. On parle
aussi de lecture d’une adresse mémoire non autorisée lorsque ce dysfonctionnement survient. Cette
situation débouche rapidement sur une trappe du noyau et, en général, la fermeture du programme
incriminé. Il faut noter que la trappe est déclenchée par une interruption matérielle et le mécanisme de
protection mémoire ne peut être implémenté efficacement de façon logicielle.

L’auteur du blog a essayé de s’attaquer à ce mécanisme en tentant d’exploiter l’intervalle de temps


pendant lequel une instruction non autorisée est exécutée et génère une interruption. Même s’il a
précisé ne pas avoir réussi à lire la mémoire protégée grâce à sa méthode, il s’est rendu compte que le
chargement mémoire interdit est bel et bien effectué par le CPU même si le processeur ne copie jamais
l’information dans le registre. Il a remarqué que l’exécution spéculative se poursuivait dans les unités
d’exécutions internes du CPU jusqu’à ce que l’interruption soit effective et que cette situation pouvait
favoriser la survenue d’attaques potentielles basées, par exemple, sur les temps d’exécution des
instructions pour déterminer les adresses mémoires utilisées par le noyau.

Qu’il soit possible, à partir d’un programme utilisateur, de déterminer les adresses mémoire utilisées par
le noyau est une situation qui ne devrait pas se produire. Différentes techniques ont d’ailleurs été mises
au point depuis des années pour respecter ce principe, l’une des méthodes les plus efficaces à l’heure
actuelle étant l’ASLR (Address Space Layout Randomization). Cette dernière attribue un caractère
aléatoire aux adresses mémoires utilisées par les applications et le noyau.

Cette « ;vulnérabilité matérielle ;» (parce que liée au fonctionnement spécifique des CPU modernes
d’Intel comme semble le confirmer le mémo d’AMD) permettrait d’exploiter des processus en espace
utilisateur en contournant la MMU et d’accéder à la mémoire noyau. Le problème étant matériel, dans la
partie non reconfigurable du processeur, il ne serait apparemment pas envisageable de recourir à un
patch via microcode pour corriger cette faille de sécurité.
La seule façon de contourner cette fonctionnalité au niveau logiciel serait d’utiliser une technique
d’isolation de la table de correspondance (entre les adresses en mémoire virtuelle et en mémoire
physique) du noyau (en anglais, KPTI) : cela rendrait le noyau complètement aveugle et le retirerait de
l’espace mémoire virtuel jusqu’à ce qu’un appel système survienne. Il faudrait donc laisser aux éditeurs
d’OS le soin de concevoir ces patchs via le système d’exploitation pour leurs produits respectifs.

À ce propos, il faut signaler que, durant ces derniers mois, KAISER, une nouvelle solution de sécurité
proactive dédiée au noyau Linux, a vu le jour. Cette solution, qui a été renommée par la suite KPTI
(Kernel Page Table Isolation), est censée limiter de manière significative l’impact d’éventuelles failles
présentes ou à venir et mieux protéger les espaces mémoire du noyau. Il permettrait notamment de
séparer les tables qui pointent vers les pages mémoires utilisées par le noyau de toutes les autres. Le 30
décembre dernier, Linus Torvalds a intégré KPTI directement dans la version 4.15-rc6 du noyau Linux et
recommandé l’intégration de ce patch dans tous les noyaux encore maintenus, ce qui pourrait laisser
penser que le problème devait être suffisamment grave pour que de telles mesures soient adoptées.
Microsoft aurait également préparé des correctifs similaires à KPTI pour le noyau de Windows depuis
novembre dernier.

Le problème avec ces patchs, c’est qu’ils introduisent une pénalité de temps pour le système et qu’ils ont
un impact non négligeable sur les performances de certains types d’applications. Celles qui effectuent
beaucoup d’appels aux instructions système devraient être les plus affectées. Pour une utilisation non
serveur, tout semble pointer vers un impact nul ou infinitésimal. Côté serveur l’impact serait plus large et
pourrait affecter massivement les infrastructures cloud où la virtualisation, très gourmande en appels
système, est largement utilisée.

Vous aimerez peut-être aussi