Eine neue Klasse von Schwachstellen in Intel-Prozessoren wurde vorgestellt.

Intel-Unternehmen veröffentlicht Informationen zu neuen Schwachstellengruppen in ihren Prozessoren — MDS (Microarchitectural Data Sampling). Wie bei früheren Angriffen der Spectre-Klasse können neue Probleme zu einer Offenlegung vertraulicher Daten des Betriebssystems, virtueller Maschinen und fremder Prozesse führen. Es wird berichtet, dass die Probleme zunächst von Mitarbeitern und Partnern von Intel im Rahmen eines internen Audits identifiziert wurden, nach dem Informationen über ähnliche Probleme in Intel von unabhängigen Forschern weitergegeben wurden. Prozessoren von AMD und ARM sind von dem Problem nicht betroffen.

Basierend auf den identifizierten Problemen haben Forscher der Technischen Universität Graz (Österreich) mehrere praktische Angriffe über Nebenkanäle entwickelt: ) — ermöglicht es, vertrauliche Informationen aus anderen Prozessen, dem Betriebssystem, virtuellen Maschinen und geschützten Enklaven (TEE, Trusted Execution Environment) zu extrahieren. Beispielsweise wurde die Möglichkeit demonstriert, die Surfhistorie im Tor-Browser, der in einer anderen virtuellen Maschine läuft, zu bestimmen, sowie die in Anwendungen verwendeten Zugangsschlüssel und Passwörter zu identifizieren;

  • ZombieLoad (PDF) — ermöglicht es, Informationen zwischen verschiedenen isolierten Bereichen in Intel-Prozessoren zu leaken, wie z. B. Füllpuffer, Speicherpuffer und Ladeports. Beispiele für die Durchführung eines Angriffs werden für die Leckage aus anderen Prozessen, dem Betriebssystem, virtuellen Maschinen und geschützten Enklaven gezeigt. Beispielsweise wurde gezeigt, wie der Inhalt des Passwort-Hashes des Root-Benutzers aus /etc/shadow bei wiederholten Authentifizierungsversuchen (der Angriff dauerte 24 Stunden) ermittelt werden kann;


  • RIDL (PDFDarüber hinaus wurde ein Beispiel für einen Angriff unter Verwendung von JavaScript und WebAssembly beim Öffnen einer schädlichen Seite in der SpiderMonkey-Engine gezeigt (in modernen vollwertigen Browsern ist ein solcher Angriff aufgrund von Begrenzungen der Timer-Genauigkeit und Schutzmaßnahmen gegen Spectre unwahrscheinlich);

    Video abspielen

    ) — ermöglicht es, Daten zu lesen, die kürzlich vom Betriebssystem geschrieben wurden, und die Speicheranordnung des Betriebssystems zu bestimmen, um die Durchführung anderer Angriffe zu erleichtern;

    Video abspielen
  • Fallout (PDFStore-To-Leak Forwarding
  • — nutzt CPU-Optimierungen im Umgang mit Speicherpuffern aus und kann verwendet werden, um den Mechanismus der Adressraumrandomisierung des Kernels (KASLR) zu umgehen, um den Zustand des Betriebssystems zu überwachen oder Leckagen in Kombination mit Gadgets auf der Basis von Spectre-Methoden zu organisieren. Identifizierte d

d von Schwachstellen:

  • CVE-2018-12126 – MSBDS (Microarchitectural Store Buffer Data Sampling), Wiederherstellung des Inhalts von Speicherpuffern. Wird im Fallout-Angriff verwendet. Der Gefährdungsgrad ist mit 6,5 Punkten (CVSS) bewertet;
  • CVE-2018-12127 – MLPDS (Microarchitectural Load Port Data Sampling), Wiederherstellung des Inhalts von Ladeports. Wird im RIDL-Angriff verwendet. CVSS 6.5;
  • CVE-2018-12130 – MFBDS (Microarchitectural Fill Buffer Data Sampling), Wiederherstellung des Inhalts von Füllpuffern. Wird in den Angriffen ZombieLoad und RIDL verwendet. CVSS 6.5;
  • CVE-2019-11091 – MDSUM (Microarchitectural Data Sampling Uncacheable Memory), Wiederherstellung des Inhalts von nicht zwischenspeicherbarem Speicher. Wird im RIDL-Angriff verwendet. CVSS 3.8.

Essenz Die identifizierten Probleme beim Einsatz von Analysemethoden über Seitenkanäle bei Daten in mikroarchitektonischen Strukturen, auf die Anwendungen keinen direkten Zugriff haben. Es geht um solche niedrigstufigen Strukturen wie Füllpuffer (Line Fill Buffer), Speicherpuffer (Store Buffer) und Ladeports (Load Port), die kleinere Komponenten als den Level-1-Cache (L1D), den Datenladecache (RDCL) oder L1TF (L1 Terminal Fault) darstellen und entsprechend weniger Informationen enthalten und intensiver aktualisiert werden.

Eine neue Klasse von Schwachstellen in Intel-Prozessoren wurde vorgestellt.

Seitenkanalangriffe auf mikroarchitektonische Strukturen sind erheblich schwieriger durchzuführen im Vergleich zu Methoden zur Wiederherstellung von Cache-Inhalten und erfordern das Verfolgen und Analysieren erheblicher Datenmengen, um deren Zusammenhang mit bestimmten Adressen im Speicher zu bestimmen (im Grunde kann der Angreifer keine spezifischen Daten gezielt abfangen, sondern kann über längere Zeit Leckagen sammeln und statistische Methoden zur Rekonstruktion bestimmter Datentypen anwenden). Darüber hinaus betrifft der Angriff nur Daten, die im selben physischen CPU-Kern liegen, in dem der Code des Angreifers ausgeführt wird.

Die vorgeschlagenen Methoden zur Bestimmung des Inhalts mikroarchitektonischer Strukturen basieren darauf, dass diese Strukturen während der spekulativen Verarbeitung von Fehlern (fault) oder Lade- und Speicheroperationen verwendet werden.
Bei der spekulativen Ausführung wird der Inhalt interner Strukturen zur Verarbeitung in Register oder Cache umgeleitet. Spekulative Operationen werden nicht abgeschlossen und das Ergebnis wird verworfen, aber der umgeleitete Inhalt kann durch Methoden der Analyse von Cache-Seitenkanälen bestimmt werden.

Die Ladeports werden vom Prozessor verwendet, um Daten aus dem Speicher oder aus der Eingabe-/Ausgabesubsystem zu erhalten und die erhaltenen Informationen in die CPU-Register zu übertragen. Aufgrund der speziellen Implementierung bleiben Daten von alten Ladeoperationen in den Ports, bis sie durch neue Daten überschrieben werden, was es ermöglicht, den Zustand der Daten im Ladeport indirekt durch Manipulationen mit Ausnahmen (fault) und den SSE/AVX/AVX-512-Instruktionen zu bestimmen, die mehr als 64 Bit Daten laden. Unter solchen Bedingungen leuchten Ladeoperationen spekulativ veraltete Werte aus internen Strukturen in abhängige Operationen. Ähnlich wird die Leckage durch den Speicherpuffer organisiert, der verwendet wird, um das Schreiben in den CPU-Cache zu beschleunigen und der eine Tabelle von Adressen, Werten und Flags enthält, sowie durch den Füllpuffer, der Daten enthält, die derzeit nicht im L1-Cache (cache-miss) vorhanden sind, bis sie aus den Caches anderer Ebenen geladen werden.

Eine neue Klasse von Schwachstellen in Intel-Prozessoren wurde vorgestellt.

Problem betroffen Intel-Prozessoren, die seit 2011 (ab der 6. Generation) hergestellt werden. Dabei werden Hardwareanfälligkeiten ab bestimmten Modellen der 8. und 9. Generation Intel Core und der 2. Generation Intel Xeon Scalable blockiert (über das Bit ARCH_CAP_MDS_NO in IA32_ARCH_CAPABILITIES MSR kann dies überprüft werden). Die Verwundbarkeiten sind auch bereits behebt auf Firmware-, Mikrocode- und Betriebssystemebene. Nach Schätzungen von Intel liegt der Leistungsrückgang nach der Aktivierung des Patches für die meisten Benutzer nicht über 3%. Bei Deaktivierung der Hyper-Threading-Technologie kann der Leistungsrückgang im SPECint_rate_base-Test bis zu 9% betragen, bis zu 11% bei aktiven Ganzzahlberechnungen und bis zu 19% bei der Ausführung von serverseitigen Java-Anwendungen (bei aktiviertem HT ist der Leistungsrückgang nahezu nicht vorhanden). Patches haben praktisch keinen Einfluss auf die Leistung von Eingabe-/Ausgabeoperationen.

Im Linux-Kernel bietet der Schutz vor MDS hinzugefügt in den heutigen Updates 5.1.2, 5.0.16,
4.19.43, 4.14.119 und 4.9.176. Die Methode zum Schutz baut auf der Reinigung des Inhalts mikroarchitektonischer Puffer zum Zeitpunkt der Rückkehr aus dem Kernel in den Benutzerspeicher oder bei der Übergabe der Kontrolle an ein Gastbetriebssystem, wobei der Befehl VERW verwendet wird. Zum Betrieb des Schutzes ist die Unterstützung des MD_CLEAR-Modus erforderlich, der im neuesten Mikrocode-Update implementiert ist. Für einen vollständigen Schutz wird außerdem empfohlen, Hyper-Threading zu deaktivieren. Um die Anfälligkeit des Systems für die Schwachstelle zu überprüfen, wurde hinzugefügt Handler «/sys/devices/system/cpu/vulnerabilities/mds». Um die Aktivierung verschiedener Sperrmodi gegen Schwachstellen zu steuern, wurde dem Kernel der Parameter «mds=» hinzugefügt, der die Werte «full», «full,nosmt» (Deaktivierung von Hyper-Threads), «vmwerv» und «off» annehmen kann.

Paketupdates wurden bereits veröffentlicht für RHEL und Ubuntu, sind aber vorerst nicht verfügbar für Debian, Fedora und SUSE.
Die Korrektur zur Blockierung von Datenlecks aus virtuellen Maschinen gilt ebenfalls gebildet für den Hypervisor Xen. Zum Schutz von Virtualisierungssystemen, die den Befehl L1D_FLUSH vor der Übergabe der Kontrolle an eine andere virtuelle Maschine ausführen, und zum Schutz der Intel SGX-Enklaven genügt ein Microcode-Update.

Quelle: opennet.ru

60GB SSD 8Gb DDR4