29. Juni 2007

Exploitable Intel CPU Errata

Category: Hacking,Produkte — Christian @ 16:15

Theo de Raadt, genialer aber selten diplomatischer Chefentwickler von OpenBSD hat offensichtlich einen neuen Lieblingsgegner ausgemacht: die Intel Core 2 CPUs. In einer Mail an die OpenBSD-Liste beschreibt er die Entwicklerprobleme mit der Intel-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.

Eine coole Vorstellung … Sicherheitslücken, die zu Root-Exploits führen können treten nicht mehr nur im Betriebssystemcode auf sondern inzwischen vermehrt auch in Prozessoren. Und wenn es sich um richtig fiese Fehler handelt, ist unter Umständen gar kein funktionierender Workaround möglich. Der berüchtigte Pentium-FDIV-Bug ist harmlos dagegen.

Im einzelnen führt Theo de Raadt folgende Fehler auf:

  • AI56: Update of Read/Write (R/W) or User/Supervisor (U/S) or Present (P) Bits without TLB Shootdown May Cause Unexpected Processor Behavior
  • AI79: REP Store Instructions in a Specific Situation may cause the Processor to Hang
  • AI43: Concurrent Multi-processor Writes to Non-dirty Page May Result in Unpredictable Behavior
  • AI39: Cache Data Access Request from One Core Hitting a Modified Line in the L1 Data Cache of the Other Core May Cause Unpredictable System Behavior
  • AI90: Page Access Bit May be Set Prior to Signaling a Code Segment Limit Fault
  • AI99: Updating Code Page Directory Attributes without TLB Invalidation May Result in Improper Handling of Code #PF

Theo de Raadt schreibt dazu:

    „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.“

Oder anders ausgedrückt: Wir werden in Zukunft vermutlich eine komplett neue Klasse von Exploits sehen, die sich gar nicht auf ein Betriebssystem ausrichten sondern auf die darunterliegende CPU. Sehr spannend, das werde ich mal im Auge behalten.

Zum Nachschlagen: die komplette Liste der Intel Core 2 Fehler

1 Kommentar

  1. Kommentare gesperrt wegen Spam

    Comment by Christian — 28. Mai 2010 @ 10:00

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.