Vale a pena notar que mesmo se você desativou /dev/mem
e /dev/kmem
essa memória ainda pode ser descartada; dê uma olhada em man proc
para revelar /proc/kcore
; é a memória física do sistema. Um kit de ferramentas forense realmente bom o rekall tem uma ferramenta que já faz isso ; ele despeja a memória (e /boot
arquivos) para que possam ser analisados.
Na verdade, o Ubuntu por padrão desabilita /dev/kmem
:
There is no modern use of /dev/kmem
any more beyond attackers using it to load kernel rootkits. CONFIG_DEVKMEM
is set to "n". While the /dev/kmem
device node still exists in Ubuntu 8.04 LTS through Ubuntu 9.04, it is not actually attached to anything in the kernel.
O Ubuntu não desativa /dev/mem
porque é necessário pelos aplicativos .
Some applications (Xorg) need direct access to the physical memory from user-space. The special file /dev/mem
exists to provide this access. In the past, it was possible to view and change kernel memory from this file if an attacker had root access. The CONFIG_STRICT_DEVMEM
kernel option was introduced to block non-device memory access (originally named CONFIG_NONPROMISC_DEVMEM
).
Como desativar /proc/kcore
?
Não habilite CONFIG_PROC_KCORE
ao construir o kernel. / a>
Como você desativa /dev/mem
?
Bem, a pesquisa por man mem
nos fornece alguns detalhes sobre como ela foi criada:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
Você deve conseguir apenas rm -rf /dev/mem
; você pode desativar durante a fase de compilação do kernel, não ativando CONFIG_STRICT_DEVMEM
.
Como desativar /dev/kmem
?
Assegure-se de que CONFIG_DEVKMEM
não esteja habilitado na criação do kernel.
Como evitar ataques de inicialização a frio?
E se eu fosse capaz de desabilitar /proc/kcore
, /dev/mem
, /dev/kmem
e depois usar uma partição de permuta criptografada ou não usar swap? Bem, sua memória pode ser congelada e acessada dessa forma. Como você evita esse ataque? Você criptografa sua RAM; Como você criptografa sua memória RAM? Você não pode. Veja TRESOR para detalhes .