Linus Torvalds
Se um invasor conseguir a execução de código com direitos de root, ele poderá executar seu código no nível do kernel, por exemplo, substituindo o kernel usando kexec ou lendo/gravando memória via /dev/kmem. A consequência mais óbvia de tal actividade pode ser
Inicialmente, as funções de restrição de raiz foram desenvolvidas no contexto de fortalecer a proteção da inicialização verificada, e as distribuições têm usado patches de terceiros para bloquear o desvio da inicialização segura UEFI há algum tempo. Ao mesmo tempo, tais restrições não foram incluídas na composição principal do kernel devido a
O modo de bloqueio restringe o acesso a /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, modo de depuração kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (estrutura de informações do cartão), algumas interfaces ACPI e CPU Registros MSR, chamadas kexec_file e kexec_load são bloqueadas, o modo de suspensão é proibido, o uso de DMA para dispositivos PCI é limitado, a importação de código ACPI de variáveis EFI é proibida,
Não são permitidas manipulações com portas de E/S, incluindo alteração do número de interrupção e da porta de E/S da porta serial.
Por padrão, o módulo de bloqueio não está ativo, ele é construído quando a opção SECURITY_LOCKDOWN_LSM é especificada no kconfig e é ativado através do parâmetro do kernel “lockdown=”, do arquivo de controle “/sys/kernel/security/lockdown” ou das opções de montagem
É importante notar que o bloqueio apenas limita o acesso padrão ao kernel, mas não protege contra modificações resultantes da exploração de vulnerabilidades. Para bloquear alterações no kernel em execução quando explorações são usadas pelo projeto Openwall
Fonte: opennet.ru