Neue Klasse von Sicherheitslücken in Intel-Prozessoren vorgestellt

Das Unternehmen Intel die Information über neueste Schwachstellenklasse in ihren Prozessoren — MDS (Microarchitectural Data Sampling). Wie bei früheren Spectre-Angriffen können die neuen Probleme zu einer Offenlegung sensibler Daten des Betriebssystems, virtueller Maschinen und anderer Prozesse führen. Es wird behauptet, dass die Probleme zunächst von Mitarbeitern und Partnern von Intel während einer internen Prüfung entdeckt wurden, nach der unabhängige Forscher Informationen über ähnliche Probleme bei Intel weiterleiteten. Prozessoren von AMD und ARM sind von diesem Problem nicht betroffen.

Auf Grundlage der identifizierten Probleme haben Forscher der Technischen Universität Graz (Österreich) mehrere praktische Angriffe über seitliche Kanäle entwickelt: ) — ermöglicht das Extrahieren vertraulicher Informationen aus anderen Prozessen, dem Betriebssystem, virtuellen Maschinen und geschützten Enklaven (TEE, Trusted Execution Environment). Zum Beispiel wurde die Möglichkeit demonstriert, den Verlauf des Seitenöffnens im Tor-Browser, der in einer anderen virtuellen Maschine ausgeführt wird, zu bestimmen, sowie die verwendeten Zugangsschlüssel und Passwörter in Anwendungen zu identifizieren;

  • ZombieLoad (PDF) — позволяет извлечь конфиденциальную информацию из других процессов, операционной системы, виртуальных машин и защищённых анклавов (TEE, Trusted Execution Environment). Например, продемонстрирована возможность определения истории открытия страниц в Tor browser, запущенном в другой виртуальной машине, а также определение используемых в приложениях ключей доступа и паролей;


  • RIDL (PDF) — ermöglicht es, Datenlecks zwischen verschiedenen isolierten Bereichen in Intel-Prozessoren, wie Puffer, Speicherpuffer und Ladevorrichtungen, zu organisieren. Beispiele für Angriffe zeigen, wie Lecks aus anderen Prozessen, dem Betriebssystem, virtuellen Maschinen und geschützten Enklaven organisiert werden können. Es wird beispielsweise gezeigt, wie man den Inhalt des Hashes des Root-Passworts aus /etc/shadow bei periodischen Authentifizierungsversuchen herausfinden kann (der Angriff dauerte 24 Stunden);

    Video abspielen

    Darüber hinaus wird 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 Einschränkungen der Timer-Genauigkeit und Maßnahmen zum Schutz vor Spectre unwahrscheinlich);

    Video abspielen
  • Fallout (PDF) — ermöglicht das Lesen von Daten, die kürzlich vom Betriebssystem geschrieben wurden, und die Bestimmung der Speicherkonfiguration des OS, um andere Angriffe zu erleichtern;
  • Store-To-Leak Forwarding — nutzt CPU-Optimierungen im Umgang mit Speicherpuffern aus und kann verwendet werden, um den Kernel Address Space Layout Randomization (KASLR) zu umgehen, um den Zustand des Betriebssystems zu überwachen oder um zu organisieren Datenlecks in Kombination mit Gadgets basierend auf Spectre-Methoden.

Identifiziert Sicherheitsanfälligkeiten:

  • CVE-2018-12126 — MSBDS (Microarchitectural Store Buffer Data Sampling), Wiederherstellung von Inhalten der Speicherpuffer. Wird in dem Angriff Fallout verwendet. Die Gefährdung wird mit 6,5 Punkten (CVSS) bewertet;
  • CVE-2018-12127 — MLPDS (Microarchitectural Load Port Data Sampling), Wiederherstellung von Inhalten der Ladeports. Wird in dem Angriff RIDL verwendet. CVSS 6,5;
  • CVE-2018-12130 — MFBDS (Microarchitectural Fill Buffer Data Sampling), Wiederherstellung von Inhalten der Füllpuffer. Wird in den Angriffen ZombieLoad und RIDL verwendet. CVSS 6,5;
  • CVE-2019-11091 — MDSUM (Microarchitectural Data Sampling Uncacheable Memory), Wiederherstellung von Inhalten des nicht zwischengespeicherten Speichers. Wird in dem Angriff RIDL verwendet. CVSS 3,8.

Der Kern Identifizierte Probleme bei der Anwendung von Analysemethoden über Seitenkanäle auf Daten in mikroarchitektonischen Strukturen, auf die Anwendungen keinen direkten Zugriff haben. Es handelt sich um solche niedrigstufigen Strukturen wie Zeilenfüllpuffer (Line Fill Buffer), Speicherpuffer (Store Buffer) und Ladeports (Load Port), die kleinere Bestandteile sind als der Level-1-Daten-Cache (L1D), der Cache für Datenladen (RDCL) oder L1TF (L1 Terminal Fault) und entsprechend weniger Informationen enthalten und intensiver aktualisiert werden.

Neue Klasse von Sicherheitslücken in Intel-Prozessoren vorgestellt

Angriffe über Seitenkanäle auf mikroarchitektonische Strukturen sind erheblich komplexer als Methoden zur Wiederherstellung des Cache-Inhalts und erfordern die Verfolgung und Analyse großer Datenmengen, um deren Zusammenhang mit bestimmten Adressen im Speicher zu bestimmen (im Wesentlichen kann der Angreifer keine spezifischen Daten gezielt abfangen, sondern über längere Zeit hinweg Lecks ansammeln und statistische Methoden anwenden, um bestimmte Datentypen zu rekonstruieren). Darüber hinaus betrifft der Angriff nur Daten auf demselben physischen CPU-Kern, auf dem sich der Code des Angreifers befindet.

Die vorgeschlagenen Methoden zur Bestimmung des Inhalts mikroarchitektonischer Strukturen basieren darauf, dass diese Strukturen bei spekulativer Ausnahmebehandlung (Fehler) oder bei 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 Cache-Analyse-Methoden über seitliche Kanäle bestimmt werden.

Die Ladeports werden vom Prozessor verwendet, um Daten aus dem Speicher oder dem Ein-/Ausgabesubsystem abzurufen und die erhaltenen Informationen an die CPU-Register bereitzustellen. Aufgrund der Implementierungsmerkmale bleiben die Daten von alten Ladeoperationen in den Ports, bis sie mit neuen Daten überschrieben werden. Dies ermöglicht es, den Zustand der Daten im Ladeport indirekt durch Manipulationen mit Ausnahmen (Faults) und SSE/AVX/AVX-512-Anweisungen, die mehr als 64 Bit Daten laden, zu bestimmen. Unter solchen Bedingungen gibt es bei Ladeoperationen spekulative Offenlegungen veralteter Datenwerte aus internen Strukturen in abhängige Operationen. Auf ähnliche Weise erfolgt eine Leckage über den Zwischenspeicher, der verwendet wird, um das Schreiben in den CPU-Cache zu beschleunigen und eine Adresstabelle, Werte und Flags enthält, sowie über einen Füllpuffer, der Daten enthält, die derzeit nicht im L1-Cache vorhanden sind (Cache-Miss), bis sie aus den Cache-Ebenen anderer Stufen geladen werden.

Neue Klasse von Sicherheitslücken in Intel-Prozessoren vorgestellt

Das Problem Bluetooth-Stack und hängt mit der fehlerhaften Verarbeitung der Berechtigung BLUETOOTH_PRIVILEGED bei setPhonebookAccessPermission zusammen. Bei den als gefährlich eingestuften Schwachstellen wurden 7 Probleme in Frameworks und Anwendungen, 4 in Systemkomponenten, 2 im Kernel und 10 in offenen und proprietären Komponenten für Qualcomm-Chips behoben. Intel-Prozessoren, die seit 2011 hergestellt werden (ab der 6. Generation). Hardware-Schwachstellen werden ab bestimmten Modellen der 8. und 9. Generation Intel Core sowie der 2. Generation Intel Xeon Scalable blockiert (dies kann über das Bit ARCH_CAP_MDS_NO im IA32_ARCH_CAPABILITIES MSR überprüft werden). Die Schwachstellen sind bereits wurden auf Firmware-, Mikrocode- und Betriebssystemebene. Laut Intel liegt der Leistungsverlust nach Aktivierung des Patches für die meisten Benutzer nicht über 3%. Bei Deaktivierung der Hyper-Threading-Technologie kann der Leistungsabfall im SPECint_rate_base-Test bis zu 9% betragen, bis zu 11% bei aktiven ganzzahligen Berechnungen und bis zu 19% bei serverseitigen Java-Anwendungen (bei aktiviertem HT ist der Leistungsverlust fast nicht wahrnehmbar). Die Patches haben kaum Auswirkungen auf die Leistung von Eingabe-/Ausgabe-Vorgängen.

Im Linux-Kernel gibt es einen 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 Schutzmethode basiert auf bei der Bereinigung der Inhalte der Mikroarchitektur-Puffer beim Übergang vom Kernel zurück in den Benutzerspeicher oder bei der Übergabe der Kontrolle an das Gastsystem wird der Befehl VERW verwendet. Für den Betrieb dieser Schutzmechanismen ist die Unterstützung des MD_CLEAR-Modus erforderlich, der in einem aktuellen Microcode-Update implementiert wurde. Für einen vollständigen Schutz wird auch empfohlen, Hyper-Threading zu deaktivieren. Zur Überprüfung der Systemanfälligkeit für die Sicherheitslücke im Linux-Kernel. ein Handler «/sys/devices/system/cpu/vulnerabilities/mds». Um die Aktivierung verschiedener Modus zur Blockierung der Sicherheitslücke im Kernel zu steuern, wurde der Parameter «mds=» hinzugefügt, der die Werte «full», «full,nosmt» (Deaktivierung von Hyper-Threads), «vmwerv» und «off» annehmen kann.

Paketupdates wurden bereits für RHEL und Ubuntu, sind aber vorerst nicht verfügbar für Debian, , aber bisher ist er noch nicht in und SUSE.
Die Korrektur zur Blockierung von Datenlecks aus virtuellen Maschinen ist ebenfalls wurden 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 um Intel SGX-Enklaven zu schützen, genügt ein Microcode-Update.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster