Massive Sicherheitslücke in Intel-CPUs der letzten Jahre

Bereits in den letzten Wochen musste Intel Negativschlagzeilen wegen Sicherheitslücken im Management Engine Interface über sich ergehen lassen. Doch gestern hat The Register eine Welle an Nachrichten angestoßen, die weit über die MEI-Problematik hinausreichen. In Intel-Prozessoren mit Support für x86-64 befindet sich offenbar eine gravierende Sicherheitslücke, die es Angreifern erlaubt, auf prozessfremde Speicherbereiche zuzugreifen. Da es sich dem Vernehmen nach um einen Hardware-Bug handeln soll, der nicht mit einem Microcode-Update gefixt werden kann, ist die Bedrohungssituation potenziell erheblich, schließlich stecken in der überwiegenden Mehrzahl der x86-64-Systeme Intel-Prozessoren. Der Bug ist unabhängig vom Betriebssystem – Windows, Linux und MacOS sind betroffen.

AMD-Prozessoren sind laut Aussage eines AMD-Entwicklers nicht betroffen:

AMD processors are not subject to the types of attacks that the kernel page table isolation feature protects against. The AMD microarchitecture does not allow memory references, including speculative references, that access higher privileged data when running in a lesser privileged mode when that access would result in a page fault.

Indirekt betrifft der Bug weit mehr als die PC-Nutzer mit Intel-Prozessoren, schließlich stecken auch in den meisten Cloud-Servern Intel-Prozessoren, auf denen Smartphone-Nutzer ihre Konten hinterlegen, ebenso wie in den Cloud-Computing-Diensten bei Amazon, Microsoft (Azure) und vergleichbaren Angeboten. Auch die meisten Firmenserver dürften von Intel Xeon-Prozessoren befeuert sein.

Bekannt ist der Bug anscheinend schon länger, da die Linux Kernel-Entwickler ebenso wie die Fast-Ring-Entwickler bei Microsoft bereits einen Patch parat haben. Bei Microsoft ist der Patch anscheinend seit 19. Dezember im Fast-Ring ab Version 17035 aktiv. Bei Linux ist der (K)PTI-Fix ab Linux-Kernel 4.14.11 aktiv, allerdings wird der Fix hier auch bei AMD-Prozessoren aktiviert. Ab 4.14.12 soll er korrekterweise nur bei Intel-Prozessoren aktiviert werden, denn der Fix kostet ein wenig Leistung, da der TLB (Translation-Lookaside-Buffer) nicht mehr so effizient arbeiten kann; je nach Workload werden mal 7 Prozent, mal 25 Prozent Leistungseinbuße vermeldet. Neben dem Workload an sich ist der Grad der Leistungseinbuße offenbar auch davon abhängig, ob der Prozessor den TLB leeren muss bei einem Wechsel der Pagetable oder nicht. Neuere Intel-Prozessoren müssen das dank process-context identifiers (PCIDs) nicht, ältere wie Sandy Bridge schon.

Da AMD von dem Bug nicht betroffen ist, obwohl x86-64 seinerzeit von AMD entwickelt worden war, lässt darauf schließen, dass der Fehler nicht im Befehlssatz an sich steckt, sondern in der speziellen Implementierung durch Intel.

Quellen: