Hay una presentación de diapositivas de Scale 7x 2009 titulada:Socavando el kernel de Linux:Inyección de código malicioso a través de /dev/mem que contenía estas 2 viñetas.
¿Quién necesita esto?
- Servidor X (memoria de video y registros de control)
- DOSEmu
De todo lo que he encontrado en la búsqueda hasta ahora, parece que estas 2 viñetas son las favoritas para usos legítimos.
Referencias
- Anthony Lineberry en /dev/mem Rootkits - LJ 8/2009 por Mick Bauer
- ¿Quién necesita /dev/kmem?
Vale la pena señalar que incluso si deshabilitó /dev/mem y /dev/kmem esa memoria aún se puede volcar; echa un vistazo a man proc revelar /proc/kcore; es la memoria física del sistema. Un muy buen kit de herramientas forenses rekall tiene una herramienta que ya hace esto; vuelca la memoria (y /boot archivos) para que puedan ser analizados.
De hecho, Ubuntu deshabilita por defecto /dev/kmem :
No hay un uso moderno de /dev/kmem más allá de que los atacantes lo usen para cargar rootkits del kernel. CONFIG_DEVKMEM se establece en "n". Mientras que el /dev/kmem el nodo del dispositivo todavía existe en Ubuntu 8.04 LTS hasta Ubuntu 9.04, en realidad no está conectado a nada en el kernel.
Ubuntu no deshabilita /dev/mem porque lo necesitan las aplicaciones.
Algunas aplicaciones (Xorg) necesitan acceso directo a la memoria física desde el espacio del usuario. El archivo especial /dev/mem existe para proporcionar este acceso. En el pasado, era posible ver y cambiar la memoria del kernel desde este archivo si un atacante tenía acceso de root. El CONFIG_STRICT_DEVMEM Se introdujo la opción kernel para bloquear el acceso a la memoria que no sea del dispositivo (originalmente llamado CONFIG_NONPROMISC_DEVMEM ).
Cómo deshabilitar /proc/kcore ?
No habilitar CONFIG_PROC_KCORE al construir el kernel.
¿Cómo deshabilitas /dev/mem? ?
Bueno, revisando man mem nos da algunos detalles sobre cómo se crea:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
Debería poder simplemente rm -rf /dev/mem; puede deshabilitar durante la fase de compilación del kernel al no habilitar CONFIG_STRICT_DEVMEM .
Cómo deshabilitar /dev/kmem ?
Asegúrese de que CONFIG_DEVKMEM no está habilitado en la compilación del kernel.
¿Cómo prevenir los ataques de arranque en frío?
¿Y si pudiera deshabilitar /proc/kcore? , /dev/mem , /dev/kmem y luego usó una partición de intercambio encriptada o no usó intercambio en absoluto? Bueno, tu memoria podría congelarse y acceder de esa manera. ¿Cómo se previene este ataque? Encriptas tu RAM; ¿Cómo encriptas tu RAM? no puedes Ver TRESOR para más detalles.