Sie entdeckten eine Sicherheitslücke im Linux eBPF-Subsystem

Kürzlich haben die Nachrichten das verbreitet Es wurde eine Sicherheitsanfälligkeit festgestellt (CVE-2021-29154) im eBPF-Subsystem, das pErmöglicht das Ausführen von Ablaufverfolgungs-, Subsystemanalyse- und Verkehrssteuerungscontrollern Laufen im Linux-Kernel in einer speziellen virtuellen JIT-Maschine, die Ermöglicht einem lokalen Benutzer, Ihren Code auf Kernel-Ebene auszuführen.

Laut den Forschern, die die Sicherheitsanfälligkeit identifiziert haben, konnten sie einen funktionierenden Prototyp eines Exploits für 86-Bit- und 32-Bit-x64-Systeme entwickeln, der von einem nicht privilegierten Benutzer verwendet werden kann.

Zur gleichen Zeit Red Hat stellt fest, dass die Schwere des Problems von der Verfügbarkeit des eBPF-Systemaufrufs abhängt. für den Benutzer. Beispielsweise kann bei RHEL und den meisten anderen Linux-Distributionen die Sicherheitsanfälligkeit standardmäßig ausgenutzt werden, wenn BPF JIT aktiviert ist und der Benutzer über CAP_SYS_ADMIN-Rechte verfügt.

Im Linux-Kernel wurde ein Problem entdeckt, das sie missbrauchen können
nicht privilegierte lokale Benutzer, um Berechtigungen zu eskalieren.

Das Problem ist, wie die BPF-JIT-Compiler für einige Architekturen berechnen
Verzweigungsversätze beim Generieren von Maschinencode. Dies kann missbraucht werden
um anomalen Maschinencode zu erstellen und im Kernelmodus auszuführen,
wo der Kontrollfluss entführt wird, um unsicheren Code auszuführen.

Und es ist so, dass sie das detailliert beschreiben Das Problem wird durch einen Fehler verursacht, der bei der Berechnung des Versatzes der Verzweigungsanweisungen generiert wird während des JIT-Compilers, der den Maschinencode generiert.

Insbesondere wird erwähnt, dass beim Generieren der Verzweigungsbefehle nicht berücksichtigt wird, dass sich die Verschiebung nach Durchlaufen der Optimierungsphase ändern kann, sodass dieser Fehler verwendet werden kann, um anomalen Maschinencode zu generieren und ihn auf der Ebene des Kernels auszuführen.

Vor allem Dies ist nicht die einzige Sicherheitslücke im eBPF-Subsystem, die in den letzten Jahren bekannt wurde. seit Ende März wurden zwei weitere Schwachstellen im Kernel identifiziert (CVE-2020-27170, CVE-2020-27171), die die Möglichkeit bieten, mithilfe von eBPF den Schutz vor Schwachstellen der Spectre-Klasse zu umgehen, den Inhalt des Kernel-Speichers zu bestimmen und Bedingungen für die spekulative Ausführung bestimmter Vorgänge zu schaffen.

Der Spectre-Angriff erfordert das Vorhandensein einer bestimmten Folge von Befehlen im privilegierten Code, was zu einer spekulativen Ausführung von Anweisungen führt. In eBPF wurden verschiedene Möglichkeiten gefunden solche Anweisungen durch Manipulationen mit BPF-Programmen zu erzeugen, die für ihre Ausführung übertragen wurden.

  • Die Sicherheitsanfälligkeit CVE-2020-27170 wird durch Zeigermanipulationen im BPF-Checker verursacht, die dazu führen, dass spekulative Operationen auf einen Bereich außerhalb des Puffers zugreifen.
  • Die Sicherheitsanfälligkeit CVE-2020-27171 hängt mit einem ganzzahligen Unterlauffehler bei der Arbeit mit Zeigern zusammen, der zu einem spekulativen Zugriff auf Daten außerhalb des Puffers führt.

Diese Probleme wurden bereits in den Kernel-Versionen 5.11.8, 5.10.25, 5.4.107, 4.19.182 und 4.14.227 behoben und waren in Kernel-Updates für die meisten Linux-Distributionen enthalten. Forscher haben einen Exploit-Prototyp vorbereitet, mit dem ein nicht privilegierter Benutzer Daten aus dem Kernelspeicher abrufen kann.

In Bezug auf eine der Lösungen, die In Red Hat wird Folgendes vorgeschlagen:

Schadensbegrenzung:

Dieses Problem betrifft die meisten Systeme standardmäßig nicht. Ein Administrator müsste aktiviert haben, dass die BPF-JIT betroffen ist.

Es kann sofort mit dem folgenden Befehl deaktiviert werden:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

Oder es kann für alle nachfolgenden Systemstarts deaktiviert werden, indem ein Wert in /etc/sysctl.d/44-bpf -jit-disable festgelegt wird

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

Schließlich wenn Sie mehr darüber wissen möchten Über diese Sicherheitsanfälligkeit können Sie die Details einchecken den folgenden Link.

Es ist erwähnenswert, dass das Problem bis zur Version 5.11.12 (einschließlich) weiterhin besteht und in den meisten Distributionen noch nicht gelöst wurde, obwohl die Korrektur bereits vorhanden ist. als Patch erhältlich.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.