Nachrichten

Bis zu 30 Prozent Performance-Verlust erwartet

Designfehler wird sich negativ auf die künftige Performance von Intel-CPUs auswirken

Prozessoren | HT4U.net
Ein grundlegender Designfehler in Prozessoren des Marktführers Intel ermöglicht offenbar Zugriffe auf den Kernel-Speicher und hebelt dabei Schutzmechanismen wie die Adressverwürfelung aus. Da sich das Problem nicht mit Microcode-Updates beseitigen lässt, müssen die Betriebssysteme aufwendig gehärtet werden. Und das wird Intels Prozessoren empfindlich ausbremsen!

Erste OS-Updates im Anflug

Wie The Register berichtet, arbeiten die Entwickler seit Wochen auf Hochtouren, um die Speicherverwaltung von Windows und Linux abzusichern. Da der Fehler in der Hardware steckt, sind allerdings alle Betriebssysteme betroffen, also auch Apples Mac OS. Unter Linux soll die Kernel page-table isolation (KPTI, zuvor unter dem Codenamen KAISER bekannt) für Abhilfe sorgen, welche Kernel- und Anwendungsspeicher besser voneinander abschottet. KPTI ist für den Kernel 4.15 geplant und findet sich bereits in dessen Veröffentlichungskandidaten (aktuell RC 6). Eine Rückportierung der neuen Schutztechnik wurde bereits in den gestern veröffentlichten Kernel 4.14.11 implementiert. Seitens Microsoft darf man entsprechende Updates für den 9. Januar 2018, also für den kommenden Patchday, erwarten. In den aktuellen Insider-Versionen von Windows 10 testet Microsoft seine Lösung seit November 2017.

Die Sicherheitslücke, die Lösung und ihre Nebenwirkungen

Details über die weitreichende Sicherheitslücke sind derzeit noch unter Verschluss, und auch die Änderungshinweise zu den Linux-Updates geben wenig Aufschluss. Fest steht, dass sich normale Programme, die im Anwendungsspeicher laufen, Zugriff auf das Layout und den Inhalt des geschützten Kernel-Speichers verschaffen können. Dies gelingt offenbar über Seitenkanal-Angriffe, deren Grundlagen teilweise schon seit 2016 bekannt sind. Um diese zu unterbinden, müssen Kernel- und Anwendungsspeicher strikt voneinander getrennt werden. Dazu gehört auch, dass mit zwei voneinander isolierten Kopien der Seitentabellen gearbeitet wird, zwischen denen über das CR3-Register gewechselt wird. Doch CR3 ist eigentlich für Kontextwechsel gedacht und bewirkt ein Leeren der kompletten "Translation Lookaside Buffer" (TLB), einer Art Adressbuch für Cache und Speicher. Und das bremst jeden Interupt und jeden Kernel-Zugriff, welcher von einer Anwendung veranlasst wird, aus.

Welche CPUs sind wie stark betroffen?

Laut The Register sind alle Intel-CPUs des letzten Jahrzehnts betroffen, die Leistungseinbußen bewegen sich Phoronix zufolge – abhängig von dem Prozessor und der Anwendung – zwischen 5 und 30 Prozent. Neuere CPUs können einzelne Einträge gezielt per "Process Context Identifiers" (PCID) aus dem TLB löschen, während der restliche Inhalt erhalten bleibt. Hier sind die Auswirkungen geringer, aber immer noch spürbar. PCID gibt es eigentlich schon seit Sandy Bridge (Core ix 2xxx), doch erst seit der Einführung der INVPCID (Invalidate Process-Context Identifier) mit dem Haswell (Core ix 4xxx) ist auch eine einfache Nutzung möglich. Daher wird KPTI vorerst nur bei Haswell und neuer von PCID Gebrauch machen, während bei allen vor 2013 erschienenen Prozessoren der TLB geleert und die Leistung dramatisch reduziert wird. Eine spätere Optimierung für Sandy Bridge (Core ix 2xxx) und Ivy Bridge (Core ix 3xxx) ist für Linux noch offen. Welchen Weg Microsoft diesbezüglich gehen wird, ist ebenfalls noch völlig unklar.

Was ist mit AMD und ARM?

Laut Tom Lendacky (AMD) sind die Prozessoren von AMD nicht betroffen. Will Deacon (ARM) hat indes einen Linux-Patch für ARM64 veröffentlicht.

Autor: mid
[]