Journal : l'Intel Core 2 Duo considéré dangereux par Theo de Raadt

Posté par PsychoFox () le 28 juin 2007
0
D'après undeadly.org, Theo De Raadt, le leader d'openbsd aurait posté sur la mailing list un avertissement à propos des processeurs Intel Core 2 Duo. Selon lui, ces processeirs seraient à éviter en raison d'une liste des bugs impressionnantes, dont certains pourraient être utilisés à des fins malveillantes.

Certanis bugs peuvent être "contournés" via l'OS, mais il en reste d'autres qui ne peuvent être contournés qu'à partir du bios et que l'utilisateur reste très désarmé si les fabricants ne fournissent pas de fixs pour leurs bios.

Il termine en précisant que si AMD fait meilleure figure actuellement en terme de transparence, ils seraient de moins en communicatifs avec les projets opensource. Il suspecte que ce revirement d'attitude pourrait venir aussi d'une liste de bugs qui grossit elle aussi de jour en jour et dont AMD souhaiterait souhaiterait en limiter au maximum la visibilité.


Various developers are busy implementing workarounds for serious bugs in Intel's Core 2 cpu.

These processors are buggy as hell, and some of these bugs don't just cause development/debugging problems, but will *ASSUREDLY* be exploitable from userland code.

As is typical, BIOS vendors will be very late providing workarounds / fixes for these processors' bugs. Some bugs are unfixable and cannot be worked around. Intel only provides detailed fixes to BIOS vendors and large operating system groups. Open Source operating systems are largely left in the cold.

Full (current) errata from Intel:

http://download.intel.com/design/processor/specupdt/31327914(...)

* We bet there are many more errata not yet announced -- every month this file gets larger.
* Intel understates the impact of these erraata very significantly. Almost all operating systems will run into these bugs.
* Basically the MMU simply does not operate as specified/implimented in previous generations of x86 hardware. It is not just buggy, but Intel has gone further and defined "new ways to handle page tables" (see page 58).
* Some of these bugs are along the lines of "buffer overflow"; where a write-protect or non-execute bit for a page table entry is ignored. Others are floating point instruction non-coherencies, or memory corruptions -- outside of the range of permitted writing for the process -- running common instruction sequences.
* All of this is just unbelievable to many of us.

An easier summary document for some people to read:

http://www.geek.com/images/geeknews/2006Jan/core_duo_errata_(...)

Note that some errata like AI65, AI79, AI43, AI39, AI90, AI99 scare the hell out of us. Some of these are things that cannot be fixed in running code, and some are things that every operating system will do until about mid-2008, because that is how the MMU has always been managed on all generations of Intel/AMD/whoeverelse hardware. Now Intel is telling people to manage the MMU's TLB flushes in a new and different way. Yet even if we do so, some of the errata listed are unaffected by doing so.

As I said before, hiding in this list are 20-30 bugs that cannot be worked around by operating systems, and will be potentially exploitable. I would bet a lot of money that at least 2-3 of them are.

For instance, AI90 is exploitable on some operating systems (but not OpenBSD running default binaries).

At this time, I cannot recommend purchase of any machines based on the Intel Core 2 until these issues are dealt with (which I suspect will take more than a year). Intel must be come more transparent.

(While here, I would like to say that AMD is becoming less helpful day by day towards open source operating systems too, perhaps because their serious errata lists are growing rapidly too).


Lien undeadly :
http://undeadly.org/cgi?action=article&sid=2007062813460(...)

Lien vers la discussion sur la mailing list :
http://marc.info/?t=118296457100003

> Lire le journal (28 commentaires, moyenne: 4,4).  

Vous avez demandé le commentaire #848948.

désolé pour les fautes.

Posté par PsychoFox () le 28/06/2007 à 14:32. (lien). Évalué à 9.

oula j'ai bien fais de ne pas proposer une dépêche vu le nombre de typo et fautes que j'ai pu glisser dans ce journal...

On va dire que c'est la fatigue :)

  • [^]Re: désolé pour les fautes.

    Posté par Lucas Bonnet () le 28/06/2007 à 14:49. (lien). Évalué à 10.

    Tu peux donc corriger les fautes, rajouter une traduction en français et proposer une dépêche.

    Tu as tout notre soutien moral, bon courage. :)

    • [^]Traduction

      Posté par Jux (page perso, ) le 28/06/2007 à 15:10. (lien). Évalué à 10.

      Une traduction du courriel de Theo :


      Beaucoup de développeurs sont occupés à implémenter des contournements pour des bugs sérieux touchant les processeurs Intel Core 2.

      Ces processeurs sont très gravement buggés et certains de ces bugs ne causent pas seulement des problèmes de développement/debugging, mais il vont *ASSUREMENT* être exploitable depuis du code tournant en mode utilisateur.

      Comme d'habitude, les vendeurs de BIOS vont mettre beaucoup de temps à fournir des contournement/fix pour ces bugs de processeur. Certains bugs ne sont pas fixables et ne peuvent pas être coutournés. Intel donne uniquement des données détaillées concernant les fix aux vendeurs de BIOS ou aux grand groupes éditeurs de systèmes d'exploitations. Les systèmes d'exploitation open source sont laissés de côté.

      Errata actuel complet de Intel :

      http://download.intel.com/design/processor/specupdt/31327914(...)

      * Nous parions qu'il y a beaucoup plus d'errata qui n'ont pas encore été annoncés - ce fichier grandit chaque mois
      * Intel sait très bien quel est l'impact de ces errata. A peu près tous les systèmes d'exploitation seront sujets à ces bugs.
      * Basiquement, la MMU ( ndt: http://fr.wikipedia.org/wiki/MMU ) ne fonctionne pas comme spécifié/implémenté dans les générations précédentes de matériel x86. Ca n'est pas simplement une question de bug, Intel est allé plus loin et a défini une "nouvelle manière de gérer les tables de pages" (voir page 58).
      * Certains de ces bugs sont proches d'un dépassement de tampon; lorsqu'un bit spécifiant qu'il ne faut pas exécuter ou écrire une entrée de page est ignoré. D'autres sont des incohérences dans les instructions de calcul en virgule flottante ou des corruptions de mémoires -- en-dehors des zones d'écritures permises pour le processus -- qui arrivent en exécutant des séquences d'instructions courantes.
      * Tout cela semble incroyable à beaucoup d'entre nous.

      Un résumé plus facile à lire :

      http://www.geek.com/images/geeknews/2006Jan/core_duo_errata_(...)

      Il faut noter que certains errata comme AI65, AI79, AI43, AI90, AI99 sont terrifiants. Certains ne peuvent pas être fixé dans un code exécuté et certains sont des choses que n'importe quel système d'exploitation va faire jusqu'à environ mi-2008 parce que c'est la façon dont la MMU a toujours fonctionné sur toutes les générations de matériel Intel/AMD/autres. Maintenant, Intel dit simplement au gens de gérer le vidage des TLB (ndt: http://en.wikipedia.org/wiki/Translation_Lookaside_Buffer ) de la MMU d'une façon nouvelle et différente. En fait, même en faisant ces changements, certains bugs subsisterons.

      Comme je l'ai dis précédemment, dans cette liste se cache 20-30 bugs qui ne peuvent pas être contourné par les systèmes d'exploitations et qui sont potentiellement exploitables. Je mettrais ma main au feu qu'au moins 2 ou 3 d'entre eux le sont effectivement.

      Par exemple, AI90 est expoitable sur certains systèmes d'exploitations (mais pas OpenBSD tournant avec les binaires par défaut).

      Actuellement, je ne peux pas recommander l'achat d'une quelconque machine basé sur un processeur Intel Core 2 jusqu'à ce que ces problèmes soit reglés. (ce qui je suppose va prendre plus d'une année).
      Intel doit devenir plus transparent.

      (Du moment que j'y suis, j'aimerais dire qu'AMD devient de moins en moins coopératif avec les systèmes d'exploitations open source. Peut-être parce que leurs liste d'erratas sérieux s'allonge également rapidement).

      • [^]Re: Traduction

        Posté par Mark Havel () le 06/07/2007 à 20:54. (lien). Évalué à 2.

        Pour information, fix deviendrait corriger en Français.

    [^]Re: désolé pour les fautes.

    Posté par Calim' Héros (Jabber id, page perso, ) le 28/06/2007 à 14:54. (lien). Évalué à 4.

    Surtout qu'une dépêche pour proposer un copier coller en anglais sur un site francophone eu été du meilleur effet...

    --
    Ce commentaire est :
    Génial, Nul, 42
    • [^]Re: désolé pour les fautes.

      Posté par PsychoFox () le 28/06/2007 à 15:05. (lien). Évalué à 10.

      j'aurai bien évidemment fait un plus grand effort de rédaction le cas échéant. D'où le passage par la case journal, y'a des jours comme ça où le courage manque...