UPDATE du 4/01/2018 : plein de news en fin d’article… ça sent vraiment pas bon du tout (cf exploit Meltdown et Spectre). VMware vient de publier des patchs pour chacun de ses hyperviseurs …. patch party, yeeeah :(
Bonsoir à tous ! Tout d’abord et comme de coutume, je vous souhaite une excellent année 2018 tant sur le plan professionnel que personnel, bien évidemment.
En parlant de nouvelle année, elle commence pas génial pour Intel avec la divulgation très récente d’une faille de sécurité présente sur les designs des puces depuis – a priori – plus de 10 ans déjà. Outch ! Le pire dans cette affaire, dont on ne mesure pas encore toutes les conséquences tant techniques que commerciales et financières, c’est que ce bug concerne une partie du fonctionnement interne des processeurs impossible à patcher via une modification du microcode. De plus, il semble acquis que la plupart des patchs nécessaires auront un impact non négligeable sur les performances générales des processeurs. On parle de 5 à plus de 30% dans certains cas, qu’il faudra vérifier sur le terrain …
Sans rentrer dans le détail, d’autant plus que l’exploit est encore sous embargo, cela concerne le moteur d’exécution du processeur et par voie de conséquence un potentiel accès à des segments mémoire protégés. Afin d’optimiser au maximum le pipeline, les processeurs Intel récents “prédisent” via un algorithme dédié, dit “spéculatif”, les prochaines instructions et commencent à les exécuter avant même qu’elles ne soient effectivement lues en mémoire. Ces optimisations sont issues de l’analyse de millions de lignes de codes produites par les compilateurs et portent sur des probabilités de trouver une instruction “Y” juste après une instruction “X”. Sur le papier c’est génial, car on gagne beaucoup de cycles d’horloge “la plupart du temps”.
La où ça devient tendu, c’est qu’il semble qu’en l’état, le processeur qui prédit les commandes à suivre ne se soucie pas du fait qu’il ait EFFECTIVEMENT le droit de les exécuter dans le mode dans lequel il se trouve à l’instant T (user ou noyau pour faire simple). Cela ouvre un risque très fort qu’un banal code exécuté en mode non privilégié puisse via cette faille accéder à des emplacements mémoire interdits (au sein du noyau par exemple).
N’étant pas spécialiste, je vais m’arrêter là et je vous conseille de consulter l’excellent article de The Register qui a vendu la mèche et rentre plus dans le détail, notamment au sujet du patch Linux qui est en cours de commit sur le noyau 4.15 :
https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/
Pour autant, il est légitime de se poser la question de nos hyperviseurs présents dans tous nos datacenters, ESXi, Hyper-V, Xen, KVM et ses dérivés … Malgré sa très grande robustesse en matière de sécurité, ESXi pourrait lui aussi être concerné. VMware n’a pas encore communiqué sur ce bug et on espère que la société le fasse bientôt pour être fixé.
Autre source de stress pour tout le monde, personne ne sait exactement si cette faille était connue “depuis si longtemps” par certains (suivez mon regard : NSA, GCHQ, DCRI/DGSE, FSB, etc.) où si c’est une découverte récente. Dans tous les cas, la planète des développeurs système est assurément en ébullition pour essayer de dresser l’étendue des dégâts.
Enfin, cela risque de mettre encore plus la pression à Intel face à ses concurrents aux dents longues, AMD et ARM en tête. En effet, AMD a annoncé ne pas être affecté par ce bug, le pipeline de ses processeurs étant conçu différemment. Cela tombe à pic avec le retour, sinon en grâce, du moins en force, de sa nouvelle gamme Ryzen.
Quoi qu’il en soit, il est urgent de ne pas paniquer et d’attendre les communications des différents éditeurs de logiciels. Je referai un point sur vBlog dès que possible lorsque nous aurons effectivement pu obtenir une masse critique d’informations à ce sujet, sans doute d’ici le début de la semaine prochaine.
J’en connais chez nous qui vont encore participer à des task forces en pagaille …
Update 1: il semble que macOS High Sierra (depuis la 10.13.2) soit déjà patché, lire ici et ici.
Update 2: le premier communiqué de presse d’Intel à ce sujet vient d’être publié, attention, chaque mot est forcément très précisément pesé ! à lire ici.
Update 3: Deux exploit viennent d’être publiés officiellement, les désormais célèbres Meltdown et Spectre, voir ici. Autant dire que cela ne sent vraiment pas bon du tout. Un simple javascript permet de lire le contenu de la mémoire du processus maître du navigateur ! Il semble aussi que cette faille permette aussi Tout va bien… D’autre part, certains type de coeurs ARM sont aussi touchés, voir ici.
Update 4: Les patchs VMware sont publiés ce jour, voir ici.
Update 5: Un des premiers articles exposant le problème de fond, publié en Juillet 2017 par l’expert en sécurité Anders Fogh, qui présente publiquement l’ouverture “de la boite de pandore made by Intel” du bug de design du “Speculative Execution”, à lire ici (attention, c’est dense et très technique)