¿Cómo puedo configurar mi sistema Linux para que sea seguro contra ataques DMA? ¿Hay alguna manera de hacerlos imposibles?
Ataques DMA
extractoDe wikipedia
En los sistemas operativos modernos, las aplicaciones que no pertenecen al sistema (es decir, en modo de usuario) no pueden acceder a ubicaciones de memoria que no estén autorizadas explícitamente por el controlador de memoria virtual (llamado MMU o Unidad de mapeo de memoria). Además de contener daños causados por errores de software inadvertidos y permitir un uso más eficiente de la memoria física, esta arquitectura forma parte integral de la seguridad de un sistema operativo moderno. Sin embargo, los controladores en modo kernel, muchos dispositivos de hardware y vulnerabilidades ocasionales en modo usuario permiten el acceso directo y sin obstáculos al espacio de direcciones de la memoria física. El espacio de direcciones físicas incluye toda la memoria principal del sistema, así como buses y dispositivos de hardware mapeados en memoria (que son controlados por el sistema operativo mediante lecturas y escrituras como si fueran RAM ordinarias).
Respuesta1
Bueno, en pocas palabras, no, no es completamente posible frustrar posibles vectores de ataque. Al mirar el artículo de Wikipedia, hay esencialmente 4 vías que debes tener en cuenta:
- controladores en modo kernel
- muchos dispositivos de hardware
- vulnerabilidades en modo usuario
- Ingeniería social
La mejor manera de mitigar su exposición (que es todo lo que puede hacer al asegurar algo) es controlar su exposición al riesgo de las 4 cosas anteriores.
Para detener 1, no le dé a nadie la posibilidad de cargar los controladores del kernel. Además, tampoco instale ningún controlador innecesario.
Para detener 2, negar a las personas el acceso físico al sistema. Utilice un centro de datos seguro que tenga acceso físico limitado únicamente a los operadores principales de la computadora.
Para detener 3, no permita que los usuarios ejecuten más aplicaciones de las absolutamente necesarias. Esto va más allá de la ejecución; no instale nada más allá de lo necesario. Si es un servidor de producción, no lo instales gcc
en él, por ejemplo.
Parar 4, capacitar al personal de soporte en el arte de detectar una estafa.
Un elemento adicional es asegurarse de que las actualizaciones se instalen y revisen de manera oportuna. No actualices el sistema una vez al año, por ejemplo.
Respuesta2
Desactive los adaptadores Thunderbolt y Firewire y bloquee físicamente la caja para que nadie pueda insertar una tarjeta PCI(e).
Respuesta3
Tome unos alicates y corte físicamente los puertos o puntos de acceso de su placa. Me imagino que si el ladrón no puede encontrar una manera de penetrar físicamente el hardware, entonces estará lo más seguro posible. Solo asegúrate de no dañar nada en los alrededores y estarás bien. Por supuesto, hacerlo también hará que ciertos puntos no funcionen, así que asegúrese de estar absolutamente seguro de que desea intentarlo.