Linus Torvalds
Si un attaquant parvient à exécuter du code avec les droits root, il peut exécuter son code au niveau du noyau, par exemple en remplaçant le noyau à l'aide de kexec ou en lisant/écrivant de la mémoire via /dev/kmem. La conséquence la plus évidente d'une telle activité pourrait être
Initialement, les fonctions de restriction root ont été développées dans le contexte du renforcement de la protection du démarrage vérifié, et les distributions utilisent depuis un certain temps des correctifs tiers pour bloquer le contournement du démarrage sécurisé UEFI. Dans le même temps, ces restrictions n'étaient pas incluses dans la composition principale du noyau en raison de
Le mode de verrouillage restreint l'accès à /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug mode, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), certaines interfaces ACPI et CPU Les registres 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 d'E/S ne sont pas autorisées, y compris la modification du numéro d'interruption et du port d'E/S pour le port série.
Par défaut, le module de verrouillage n'est pas actif, il est construit lorsque l'option SECURITY_LOCKDOWN_LSM est spécifiée dans kconfig et est activée via le paramètre du noyau « lockdown= », le fichier de contrôle « /sys/kernel/security/lockdown » ou les options d'assemblage
Il est important de noter que le verrouillage limite uniquement l’accès standard au noyau, mais ne protège pas contre les modifications résultant de l’exploitation de vulnérabilités. Pour bloquer les modifications apportées au noyau en cours d'exécution lorsque des exploits sont utilisés par le projet Openwall
Source: opennet.ru