LKRG, un module conçu pour détecter et bloquer les attaques et violations dans le noyau Linux

Le projet Openwall a publié la version du module du noyau LKRG 0.8 (Garde d'exécution du noyau Linux), conçu pour détecter et bloquer les attaques y violations de l'intégrité des structures centrales.

Le module il convient à la fois pour organiser une protection contre des exploits déjà connus pour le noyau Linux (par exemple, dans les situations où la mise à jour du noyau sur le système est problématique), comme pour les exploits opposés pour des vulnérabilités inconnues.

Quoi de neuf LKRG 0.8?

Dans cette nouvelle version le positionnement du projet LKRG a été modifié, qu'al'heure n'est pas divisée en sous-systèmes séparés pour vérifier l'intégrité et déterminer l'utilisation des exploits, mais il se présente comme un produit complet pour identifier les attaques et diverses violations d'intégrité;

Concernant la compatibilité, de cette nouvelle version, on peut trouver qu'il est compatible avec les noyaux Linux de 5.3 à 5.7ainsi que des noyaux compilés avec des optimisations agressives de GCC, sans les options CONFIG_USB et CONFIG_STACKTRACE ou avec l'option CONFIG_UNWINDER_ORCainsi qu'avec les noyaux où il n'y a pas de fonctions interceptées par LKRG si vous pouvez vous en passer.

En plus de support expérimental pour les plates-formes ARM 32 bits (testé sur Raspberry Pi 3 modèle B), tandis que pour le support disponible antérieurement pour AArch64 (ARM64) est complété par la compatibilité avec Raspberry Pi 4.

En outre, de nouveaux crochets ont été ajoutés, qui incluent un gestionnaire d'appels "hook ()" pour mieux identifier les vulnérabilités manipulées par des "capacités", plutôt que par des identificateurs de processus.

Sur les systèmes x86-64, le bit SMAP est vérifié et appliqué (Prévention d'accès en mode superviseur), dconçu pour bloquer l'accès aux données dans l'espace utilisateur à partir de code privilégié exécuté au niveau du noyau. La protection SMEP (Supervisor Mode Execution Prevention) a été implémentée plus tôt.

Il a une évolutivité accrue de la base de données de suivi des processus: au lieu d'un seul arbre RB protégé par un verrou tournant, une table de hachage de 512 arbres RB est impliquée, protégée par 512 verrous en lecture et en écriture, respectivement;

Un mode par défaut est implémenté et activéEn ce qui le contrôle d'intégrité des identifiants Le traitement est souvent effectué uniquement pour la tâche en cours, et également éventuellement pour les tâches déclenchées (réveil). Pour les autres tâches qui sont dans un état suspendu ou qui fonctionnent sans appel d'API de noyau contrôlé par LKRG, la vérification est effectuée moins fréquemment.

En plus de Le fichier d'unité systemd a été repensé pour charger le module LKRG à un stade précoce du chargement (l'option de ligne de commande du noyau peut être utilisée pour désactiver le module);

Lors de la compilation, certains des paramètres obligatoires du noyau CONFIG_ * ont été vérifiés pour générer des messages d'erreur significatifs plutôt que des erreurs obscures.

Parmi les autres changements qui ressortent de cette nouvelle version:

  • Ajout de la prise en charge des modes Veille (ACPI S3, Suspend to RAM) et Suspend (S4, Suspend to Disk).
  • Ajout du support pour DKMS dans le Makefile.
  • Une nouvelle logique est proposée pour déterminer les tentatives de sortie des restrictions d'espace de noms (par exemple, à partir de conteneurs Docker).
  • Dans le processus, la configuration LKRG est placée sur une page de mémoire, généralement en lecture seule.
  • La sortie dans les journaux des informations qui peuvent être les plus utiles pour les attaques (par exemple, les informations d'adresse dans le noyau) est limitée par le mode de débogage (log_level = 4 et supérieur), qui est désactivé par défaut.
  • De nouveaux paramètres sysctl et module ont été ajoutés pour régler LKRG, ainsi que deux sysctl pour une configuration simplifiée en choisissant parmi les profils préparés par les développeurs.
  • Les paramètres par défaut sont modifiés pour atteindre un équilibre plus équilibré entre la vitesse de détection des violations et l'efficacité de la réaction, d'une part, et l'impact sur la productivité et le risque de faux positifs, d'autre part.
  • Selon les optimisations proposées dans la nouvelle version, la diminution des performances lors de l'application de LKRG 0.8 est estimée à 2.5% en mode par défaut («lourd») et 2% en mode léger («léger»).

Si vous souhaitez en savoir plus, vous pouvez consulter détails ici. 


Laisser un commentaire

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

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  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.