Veröffentlichung des Moduls LKRG 0.9.0 zum Schutz vor der Ausnutzung von Schwachstellen im Linux-Kernel

Das Openwall-Projekt hat die Veröffentlichung des LKRG-Kernelmoduls 0.9.0 (Linux Kernel Runtime Guard) bekannt gegeben, das zur Erkennung und Blockierung von Angriffen und Integritätsverletzungen von Kernelstrukturen dient. Das Modul kann beispielsweise vor unbefugten Änderungen am laufenden Kernel und vor Versuchen schützen, die Berechtigungen von Benutzerprozessen zu ändern (Definition der Anwendung von Exploits). Es eignet sich sowohl zur Abwehr von Exploits bereits bekannter Sicherheitsanfälligkeiten des Linux-Kernels (z. B. in Situationen, in denen das System problematisch zu aktualisieren ist) als auch zur Abwehr von Exploits unbekannter Sicherheitsanfälligkeiten. Der Quellcode des Projekts wird unter der GPLv2-Lizenz veröffentlicht.

Zu den Neuerungen in der neuen Version gehören:

  • Die Kompatibilität mit Linux-Kernels von 5.8 bis 5.12 sowie mit stabilen Kerneln 5.4.87 und neuer (einschließlich Neuerungen aus den Kerneln 5.8 und neuer) und mit Kerneln aus RHEL-Versionen bis 8.4 wird gewährleistet, während auch alle zuvor unterstützten Kernelversionen wie RHEL 7 weiterhin unterstützt werden.
  • Die Möglichkeit, LKRG nicht nur als externes Modul, sondern auch als Teil des Verzeichnisbaums des Linux-Kernels zu kompilieren, wurde hinzugefügt, einschließlich der Einbindung in das Kernel-Image.
  • Die Unterstützung für viele zusätzliche Kernel- und Systemkonfigurationen wurde hinzugefügt.
  • Mehrere wesentliche Fehler und Unzulänglichkeiten in LKRG wurden behoben.
  • Die Umsetzung einiger Komponenten von LKRG wurde erheblich vereinfacht.
  • Änderungen wurden vorgenommen, um die zukünftige Unterstützung und Fehlersuche von LKRG zu vereinfachen.
  • Zur Testung von LKRG wurde die Integration mit out-of-tree und mkosi hinzugefügt.
  • Das Projekt-Repository wurde von BitBucket auf GitHub transferiert und eine kontinuierliche Integration unter Verwendung von GitHub Actions und mkosi hinzugefügt, einschließlich der Überprüfung des Builds und des Hochladens von LKRG in die Kernels von Ubuntu-Release-Versionen sowie in die vom Projekt Ubuntu bereitgestellten täglichen Builds der neuesten Mainline-Kernel.

In diese Version von LKRG haben mehrere Entwickler, die zuvor nicht am Projekt beteiligt waren, direkt (über Pull-Anfragen auf GitHub) beigetragen. So wurde von Борис Лукашев добавлена die Möglichkeit, im Verzeichnisbaum des Linux-Kernels zu kompilieren, und von Виталием Чикуновым aus ALT Linux — die Integration mit mkosi und GitHub Actions.

Insgesamt wird, trotz erheblicher Ergänzungen, die Anzahl der LKRG-Codezeilen zum zweiten Mal in Folge leicht reduziert (bereits zwischen den Versionen 0.8 und 0.8.1 war dies der Fall).

Derzeit wurde das Paket mit LKRG in Arch Linux bereits auf Version 0.9.0 aktualisiert, und eine Reihe anderer Pakete verwenden die neuesten Git-Versionen von LKRG und werden wahrscheinlich bald ebenfalls auf Version 0.9.0 und darüber hinaus aktualisiert.

Zusätzlich kann die kürzliche Veröffentlichung der Entwickler des Betriebssystems Aurora (der russischen Modifikation von Sailfish OS) erwähnt werden, die die mögliche Verstärkung von LKRG durch ARM TrustZone betrifft.

Mehr Informationen zu LKRG finden Sie in der Ankündigung der Version 0.8 und der zu dieser Zeit geführten Diskussion.

Quelle: opennet.ru

60GB SSD 8Gb DDR4