Faille processeurs Intel, AMD et ARM pas seulement une question de sécurité
15 jan. 2018 - 10:47,
Tribune
- Thierry DumoulinC’est énorme, c’est hallucinant !
Ainsi pourrait s’exprimer un célèbre acteur s’il savait ce qui se cache derrière la faille révélée cette semaine par le géant mondial des microprocesseurs. Peu d’informaticiens aujourd’hui connaissent en détail le fonctionnement des microprocesseurs. Pour nombre d’entre eux, la transformation numérique de la planète se joue plutôt au niveau des Webservices, des appstores, et des applications en mode SAAS. Pourtant « Le Bug » en question touche l’intégralité des ordinateurs et équipements numériques quel que soit leur système d’exploitation.
Un bug matériel ça existe ?
Oui, ça existe et ce n’est pas nouveau. Dans un TP de calcul numérique, pendant mes études, on nous avait fourni le résultat à trouver avec 10 décimales. Malgré mes efforts répétés, mon programme donnait un résultat faux dès la sixième décimale. Au final, mon professeur m’a dit avec un grand sourire que mon programme était juste mais que le processeur avait un bug en virgule flottante et donnait un résultat aléatoire à partir de la sixième décimale. Plus récemment, on a connu des erreurs de calcul dans les premiers Pentium. J’ai ensuite perdu de vue la saga des bugs en silicium mais j’imaginais bien qu’elle ne s’était pas arrêté spontanément. Pourtant là, franchement, je suis effaré.
Protéger la mémoire
Les bugs ci-dessus concernaient les traitements. Avec « Le Bug » du cache d’exécution spéculative, ce sont les données qui sont affectées et c’est plus grave. Un bug de calcul est très vite découvert par les chercheurs ou les étudiants. « Le Bug » était bien plus dur à déceler. La preuve, il existe depuis 10 ans.
Dans tout microprocesseur physique, l’accès à une zone mémoire est protégé par un niveau de privilège inscrit en dur dans le silicium. Pour faire simple, les instructions s’exécutent soit en mode utilisateur soit dans un mode privilégié. Pour qu’un programme en mode utilisateur puisse accéder à des zones mémoires protégées par un mode privilégié, il doit faire un appel conforme au système d’exploitation ou exploiter un bug de ce même système d’exploitation. Dans ce dernier cas, une fois le bug corrigé, le virus n’est plus opérant. Et comme deux OS différents n’ont en général pas les mêmes bugs, un virus écrit pour Windows ne marche pas sur un UNIX, Android ou IOS.
La nouveauté avec «Le Bug » est qu’un programme en mode utilisateur peut accéder sans privilège au cache du processeur, du coup pas besoin de faille dans le système d’exploitation et les virus peuvent devenir multi plateforme. C’est énorme, mais ce qui l’est encore plus, c’est que cela dure a priori depuis des années !!
La confiance dans le numérique entamée
Au-delà de la question de la sécurité, cette affaire doit nous interroger sur la confiance que nous pouvons avoir dans les technologies numériques. Si j’en crois les dernières informations, les correctifs logiciels vont faire subir aux machines une baisse de performance pouvant aller jusqu’à 10% (30% dans les estimations initiales). Autrement dit, une fois patchée, la planète numérique tournera 10% moins vite et donc dans de nombreux cas 10% moins bien. Et 10% de performance en moins, dans des secteurs critiques, comme par exemple la santé, ce n’est pas rien.
A l’heure où on nous annonce l’arrivée d’intelligences artificielles qui ringardiseront les meilleurs experts humains, qu’on nous prédit l’augmentation de nos capacités physiques et mentales à l’aide de dispositifs numériques qui permettront également de réparer le corps humain et de prolonger la vie, que penser de cette affaire ? Que penser des sommes colossales dépensées en antimalwares de toutes sortes alors qu’il suffit d’un javascript bien écrit pour tout contourner ? Que dire aux utilisateurs que nous tentons d’éduquer aux précautions de bases de la sécurité ?
Mais pire que tout, comment pouvons- nous espérer développer la confiance nécessaire dans le numérique dans ces conditions…
L'auteur :
Thierry Dumoulin est responsable du département Infrastructures numériques et services de proximité au CHU de Nantes. Ingénieur diplômé de l’École centrale de Nantes, où il intervient dans le cursus informatique, il a débuté sa carrière chez un grand constructeur avant de rejoindre les hôpitaux en 1997. Ses différentes missions (direction de projets, démarche qualité…) l’ont conduit à aborder un très large éventail de problématiques dans le domaine du numérique : aspects applicatifs, technologiques, méthodologiques et organisationnels, sécurité des SI.