LKRG 0.9.4 arrive avec la prise en charge d'OpenRC, Linux 5.15.40+ et plus

Le projet Openwall a récemment annoncé la sortie du module noyau LKRG 0.9.4 (Linux Kernel Runtime Guard), conçu pour détecter et bloquer les attaques et les violations de l'intégrité des structures du noyau.

Le LKRG est conditionné comme un module de noyau chargeable qui tente de détecter les modifications non autorisées dans un noyau en cours d'exécution (contrôle d'intégrité) ou des modifications des autorisations des processus utilisateur (détection de vulnérabilité).

Le contrôle d'intégrité est effectué sur la base d'une comparaison des hachages calculés pour les zones de mémoire les plus importantes et les structures de données du noyau (IDT (Interrupt Description Table), MSR, tables d'appels système, toutes les procédures et fonctions, les gestionnaires d'interruptions, les listes de modules chargés, le contenu de la section .text des modules, des attributs de processus, etc.).

La procédure de vérification est activée périodiquement au moyen d'un temporisateur et lorsque divers événements du noyau se produisent (par exemple, lorsque les appels système setuid, setreuid, fork, exit, execve, do_init_module, etc. sont exécutés).

À propos de Linux Kernel Runtime Guard

La détection de l'utilisation possible d'exploits et le blocage des attaques sont effectués avant que le noyau ne donne accès aux ressources (par exemple, avant d'ouvrir un fichier), mais après que le processus a reçu des autorisations non autorisées (par exemple, changer l'UID ) .

Lorsqu'un comportement non autorisé des processus est détecté, ils sont arrêtés de force, ce qui est suffisant pour bloquer de nombreux exploits. Étant donné que le projet est en phase de développement et que les optimisations n'ont pas encore été effectuées, les coûts d'exploitation globaux du module sont d'environ 6.5 %, mais à l'avenir, il est prévu de réduire considérablement ce chiffre.

Le module il convient à la fois pour organiser une protection contre des exploits déjà connus pour le noyau Linux pour contrer les exploits de vulnérabilités encore inconnues, s'ils n'utilisent pas de mesures spéciales pour contourner LKRG.

Les auteurs n'excluent pas la présence d'erreurs dans le code LKRG et d'éventuels faux positifs, par conséquent, les utilisateurs sont invités à comparer les risques d'erreurs possibles dans LKRG avec les avantages de la méthode de protection proposée.

Parmi les propriétés positives de LKRG, on note que le mécanisme de protection est réalisé sous la forme d'un module chargeable, et non d'un correctif de noyau, ce qui lui permet d'être utilisé avec des noyaux de distribution réguliers.

Principales nouveautés de LKRG 0.9.4

Dans cette nouvelle version du module qui est présentée, il est mis en évidence que ajout de la prise en charge du système de démarrage OpenRC, ainsi que l'ajout d'instructions d'installation à l'aide de DMMS.

Un autre changement qui se démarque dans cette nouvelle version est que assure la compatibilité avec les noyaux LTS de Linux 5.15.40+.

En plus de cela, il est également souligné que la conception de la sortie des messages dans le journal a été repensée pour simplifier l'analyse automatisée et faciliter la perception lors de l'analyse manuelle et que les messages LKRG ont leurs propres catégories de journal, ce qui facilite leur séparation des le reste des messages du noyau.

D'autre part, il est également mentionné que changement du nom du module du noyau de p_lkrg à lkrg et que l'ancienne version de LKRG 0.9.3 est toujours fonctionnelle dans les nouvelles versions du noyau (5.19-rc* jusqu'à présent). Cependant, pour une compatibilité à long terme avec les noyaux 5.15.40+, il n'en est pas ainsi que certaines modifications apportées à la version 0.9.4 doivent être appliquées.

Il est également mentionné que certains changements sont envisagés liés (mais probablement différents) pour l'inclusion dans l'autodéfense LKRG, par exemple, sa configuration d'exécution se trouve dans une page mémoire qui est conservée en lecture seule la plupart du temps, entre autres améliorations.

Enfin si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant

En particulier, le module a été testé avec le noyau RHEL, OpenVZ/Virtuozzo et Ubuntu. À l'avenir, il sera possible d'organiser le processus de construction avec une compatibilité binaire pour différentes distributions populaires.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.