LKRG, ein Modul zum Erkennen und Blockieren von Angriffen und Verstößen im Linux-Kernel

Das Projekt Openwall hat die Kernelmodulversion LKRG 0.8 veröffentlicht (Linux Kernel Runtime Guard), Entwickelt und blockiert Angriffe y Verstöße gegen die Integrität der Kernstrukturen.

Das Modul Es eignet sich sowohl zum Organisieren des Schutzes vor bereits bekannten Exploits für den Linux-Kernel (z. B. in Situationen, in denen das Aktualisieren des Kernels auf dem System problematisch ist), wie für gegnerische Exploits für unbekannte Schwachstellen.

Was ist neu LKRG 0.8?

In dieser neuen Version Die Positionierung des LKRG-Projekts wurde geändert, was zuStunde ist nicht in separate Subsysteme unterteilt um die Integrität zu überprüfen und die Verwendung von Exploits zu bestimmen, aber es wird als komplettes Produkt präsentiert Angriffe und verschiedene Integritätsverletzungen zu identifizieren;

In Bezug auf die Kompatibilität dieser neuen Version, Wir können feststellen, dass es mit Linux-Kerneln von 5.3 bis 5.7 kompatibel istsowie Kernel, die mit aggressiven GCC-Optimierungen ohne die Optionen kompiliert wurden CONFIG_USB und CONFIG_STACKTRACE oder mit der Option CONFIG_UNWINDER_ORCsowie mit Kerneln, in denen keine Funktionen von LKRG abgefangen werden, wenn Sie darauf verzichten können.

Neben der Hinzufügung der experimentelle Unterstützung für 32-Bit-ARM-Plattformen (getestet auf Raspberry Pi 3 Modell B), während für früher verfügbare Unterstützung für AArch64 (ARM64) wird durch die Kompatibilität mit Raspberry Pi 4 ergänzt.

Außerdem Neue Haken wurden hinzugefügt, die einen "hook ()" - Aufrufhandler enthalten, um Schwachstellen, die durch "Funktionen" manipuliert werden, besser zu identifizieren, als Prozesskennungen.

Auf x86-64-Systemen wird das SMAP-Bit überprüft und angewendet (Verhinderung des Zugriffs im Supervisor-Modus), dEntwickelt, um den Zugriff auf Daten im Benutzerbereich zu blockieren von privilegiertem Code, der auf Kernel-Ebene ausgeführt wird. Der SMEP-Schutz (Supervisor Mode Execution Prevention) wurde bereits früher implementiert.

Hat Erhöhte Skalierbarkeit der Prozessverfolgungsdatenbank: Anstelle eines einzelnen RB-Baums, der durch einen Spinlock geschützt ist, ist eine Hash-Tabelle mit 512 RB-Bäumen beteiligt, die durch 512 Lese- bzw. Schreibsperren geschützt ist.

Ein Standardmodus ist implementiert und aktiviert, in denen die Integritätsprüfung von Kennungen Die Verarbeitung wird häufig nur für die aktuelle Aufgabe und optional auch für ausgelöste Aufgaben (Aufwecken) durchgeführt. Für andere Aufgaben, die sich in einem angehaltenen Zustand befinden oder ohne einen LKRG-gesteuerten Kernel-API-Aufruf funktionieren, wird die Überprüfung weniger häufig durchgeführt.

Zusätzlich zu Die systemd-Einheitendatei wurde neu gestaltet Laden des LKRG-Moduls in einem frühen Stadium des Ladens (die Kernel-Befehlszeilenoption kann zum Deaktivieren des Moduls verwendet werden);

Während der Kompilierung wurden einige der obligatorischen CONFIG_ * -Kernel-Einstellungen überprüft, um aussagekräftige Fehlermeldungen zu generieren, anstatt Fehler zu verschleiern.

Von den anderen Änderungen, die in dieser neuen Version auffallen:

  • Unterstützung für die Modi Standby (ACPI S3, Suspend to RAM) und Suspend (S4, Suspend to Disk) hinzugefügt.
  • Unterstützung für DKMS im Makefile hinzugefügt.
  • Es wird eine neue Logik vorgeschlagen, um Versuche zu bestimmen, Namespace-Einschränkungen zu umgehen (z. B. aus Docker-Containern).
  • Dabei wird die LKRG-Konfiguration auf einer Speicherseite abgelegt, die normalerweise schreibgeschützt ist.
  • Die Ausgabe in Protokolle von Informationen, die für Angriffe am nützlichsten sein können (z. B. Adressinformationen im Kernel), wird durch den Debug-Modus (log_level = 4 und höher) begrenzt, der standardmäßig deaktiviert ist.
  • Neue Sysctl- und Modulparameter wurden hinzugefügt, um LKRG zu optimieren, sowie zwei Sysctl für eine vereinfachte Konfiguration, indem Sie aus von Entwicklern erstellten Profilen auswählen.
  • Die Standardeinstellungen werden geändert, um ein ausgewogeneres Gleichgewicht zwischen der Geschwindigkeit der Erkennung von Verstößen und der Wirksamkeit der Reaktion einerseits und den Auswirkungen auf die Produktivität und dem Risiko von Fehlalarmen andererseits zu erreichen.
  • Gemäß den in der neuen Version vorgeschlagenen Optimierungen wird der Leistungsabfall bei Anwendung von LKRG 0.8 im Standardmodus ("schwer") auf 2.5% und im Lichtmodus ("leicht") auf 2% geschätzt.

Wenn Sie mehr darüber erfahren möchten, können Sie sich beraten Details hier. 


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.