Sicherheitslücke im Linux 6.2-Kernel, die den Spectre v2-Angriffsschutz umgehen könnte

Im Linux-Kernel 6.2 wurde eine Schwachstelle (CVE-2023-1998) identifiziert, die den Schutz vor Spectre v2-Angriffen deaktiviert, die den Zugriff auf den Speicher anderer Prozesse ermöglichen, die in verschiedenen SMT- oder Hyper-Threading-Threads, aber auf demselben physischen Prozessor ausgeführt werden Kern. Die Schwachstelle kann unter anderem dazu genutzt werden, Datenlecks zwischen virtuellen Maschinen in Cloud-Systemen zu verursachen. Das Problem betrifft nur den Linux 6.2-Kernel und wird durch eine falsche Implementierung von Optimierungen verursacht, die den erheblichen Mehraufwand bei der Anwendung des Spectre v2-Schutzes reduzieren sollen. Die Schwachstelle wurde im experimentellen Zweig des Linux 6.3-Kernels behoben.

Im Benutzerbereich können Prozesse zum Schutz vor Spectre-Angriffen die spekulative Ausführung von Anweisungen mithilfe von prctl PR_SET_SPECULATION_CTRL selektiv deaktivieren oder eine Systemaufruffilterung basierend auf dem Seccomp-Mechanismus verwenden. Laut den Forschern, die das Problem identifiziert haben, führte eine fehlerhafte Optimierung in Kernel 6.2 dazu, dass virtuelle Maschinen von mindestens einem großen Cloud-Anbieter trotz der Einbindung des Spectre-BTI-Angriffsblockierungsmodus über prctl keinen angemessenen Schutz hatten. Die Schwachstelle tritt auch auf regulären Servern mit Kernel 6.2 auf, bei deren Laden die Einstellung „spectre_v2=ibrs“ verwendet wird.

Der Kern der Schwachstelle besteht darin, dass bei der Auswahl der Schutzmodi IBRS oder eIBRS durch die eingeführten Optimierungen die Verwendung des STIBP-Mechanismus (Single Thread Indirect Branch Predictors) deaktiviert wurde, der zum Blockieren von Lecks bei der Verwendung gleichzeitiger Multithreading-Technologie (SMT oder Hyper-Threading) erforderlich ist. Einfädeln). Allerdings bietet nur der eIBRS-Modus Schutz vor Lecks zwischen Threads, nicht jedoch der IBRS-Modus, da in diesem Fall das IBRS-Bit, das Schutz vor Lecks zwischen logischen Kernen bietet, aus Leistungsgründen gelöscht wird, wenn die Kontrolle an den Benutzerbereich zurückkehrt, was bedeutet Threads im Benutzerbereich sind nicht vor Spectre v2-Angriffen geschützt.

Source: opennet.ru

Kommentar hinzufügen