Lockdown, la nouvelle adoption du noyau Linux pour limiter l'accès root au noyau

Linux Kernel

La nouvelle a récemment annoncé que Linus Torvalds a adopté un nouveau composant, qui sera inclus dans une future version du noyau "Linux 5.4". ce nouveau composant porte le nom "Lockdown" qui a été proposé par David Howells (qui a précédemment implémenté ce composant dans le noyau Red Hat) et Matthew Garrett (développeur Google).

La fonction principale du verrouillage est de limiter l'accès de l'utilisateur root au noyau système et cette fonctionnalité a été déplacé vers le module LSM éventuellement chargé (Linux Security Module), qui établit une barrière entre l'UID 0 et le noyau, limitant certaines fonctions de bas niveau.

Cela permet à la fonction de verrouillage d'être basée sur une politique plutôt que de coder en dur une politique implicite dans le mécanisme, donc le verrou inclus dans le module de sécurité Linux fournit une implémentation avec une politique simple destiné à un usage général. Cette politique fournit un niveau de granularité contrôlable via la ligne de commande du noyau.

Cette protection de l'accès au Nucleus est due au fait que:

Si un attaquant réussit à exécuter du code avec les privilèges root suite à l'attaque, il peut également exécuter son code au niveau du noyau, par exemple en remplaçant le noyau par kexec ou en lisant et / ou en écrivant de la mémoire via / dev / kmem.

La conséquence la plus évidente de cette activité peut être le contournement de UEFI Secure Boot ou la récupération de données confidentielles stockées au niveau du noyau.

Au départ les fonctions de restriction de racine ont été développées dans le cadre du renforcement de la protection de démarrage vérifiée et les distributions utilisent depuis longtemps des correctifs tiers pour bloquer le contournement de démarrage sécurisé UEFI.

En même temps, ces contraintes n'ont pas été incluses dans la composition de base du noyau en raison de désaccords dans sa mise en œuvre et la crainte de perturbation des systèmes existants. Le module "lockdown" incorpore des correctifs déjà utilisés dans les distributions, qui ont été traités sous la forme d'un sous-système séparé qui n'est pas lié à UEFI Secure Boot.

Lorsqu'elle est activée, diverses fonctionnalités du noyau sont restreintes. Ainsi, les applications qui reposent sur du matériel de bas niveau ou un accès au noyau peuvent cesser de fonctionner, par conséquent, cela ne devrait pas être activé sans une évaluation appropriée au préalable. Commentaires de Linus Torvalds.

En mode verrouillage, restreignez l'accès à / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, debugfs, debugfs kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (information de la carte sécurisée), certains ACPI et les registres CPU MSR, les appels kexec_file et kexec_load sont bloqués, le mode veille est interdit, l'utilisation de DMA pour les périphériques PCI est limitée, l'importation de code ACPI à partir de variables EFI est interdite, les manipulations avec les ports I / O, y compris la modification du numéro d'interruption et du I Les ports / O pour le port série ne sont pas autorisés.

Par défaut, le module de verrouillage n'est pas actif; il est créé lorsque l'option SECURITY_LOCKDOWN_LSM est spécifiée dans kconfig et il est activé par le paramètre du noyau "lockdown =", le fichier de contrôle "/ sys / kernel / security / lockdown" ou les options de compilation LOCK_DOWN_KERNEL_FORCE_ *, qui peuvent prendre les valeurs de «intégrité» et «confidentialité».

Dans le premier cas, les fonctions qui permettent de modifier le noyau depuis l'espace utilisateur sont verrouillées, et dans le second cas, en plus de cela, la fonctionnalité qui peut être utilisée pour extraire des informations confidentielles du noyau est désactivée.

Il est important de noter que le verrouillage ne limite que les capacités d'accès normales au noyau, mais il ne protège pas contre les modifications résultant de l'exploitation des vulnérabilités. Pour bloquer les modifications apportées au noyau de travail lorsque le projet Openwall utilise des exploits, un module LKRG (Linux Kernel Runtime Guard) séparé est en cours de développement.

La fonction de verrouillage a fait l'objet de revues de conception importantes et de commentaires sur de nombreux sous-systèmes. Ce code est dans Linux-next depuis quelques semaines maintenant, avec quelques correctifs appliqués en cours de route.


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.

  1.   Assistance dit

    La racine devrait être plus qu'un dieu. Ce devrait être le tout puissant.
    mais il semble qu'ils veuillent limiter le droit de l'utilisateur légitime Root en leur faveur
    On va mal quand «le cirque de la sécurité» est utilisé pour limiter les libertés d’usage et de gestion.
    mauvais on y va quand le noyau n'est rien de plus qu'une copie de la métedologie windolais et macais