¿Qué medidas puedo tomar para proteger por completo mi sistema Linux de un virus / troyano / keylogger que se planta a través de una fuente física (Red / USB / bios / HDD)? Esto incluye la inyección de código del gestor de arranque desde un sistema operativo externo o secuencia de comandos.

Esto no es totalmente evitable, pero su riesgo puede reducirse sustancialmente.

Desde el lado del hardware: deberá implementar cargadores de arranque firmados criptográficamente (para controladores de dispositivo) en el BIOS / UEFI. Red Hat Enterprise Linux 7 tiene tales características. 27.8. Firma de módulos de kernel para arranque seguro (… todas las desviaciones de controladores confiables / firmados conocidos deberán investigarse como posibles infracciones).

En el nivel del sistema operativo / software: las características del kernel SELinux (resumiré mal como “un firewall en el nivel de memoria y proceso, observando y restringiendo estrictamente qué programas tienen acceso a qué espacios de código de usuario / sistema”) detendrán algunos de los cosas de nivel, con mucha molestia administrativa. Las herramientas de escáner de integridad como RKhunter o Tripwire pueden verificar la mayoría de los ejecutables binarios (pero no todos) en cuanto a tamaño y / o suma de verificación, alertando si algo se modifica.

HowTos / SELinux – CentOS Wiki

Cómo escanear en busca de rootkits, puertas traseras y exploits usando ‘Rootkit Hunter’ en Linux

Incluso estas salvaguardas voluminosas y engorrosas no resultarán en un 100% de seguridad. Algunos ataques modernos solo existen en la memoria (sin ejecutables modificados), o pueden “saltar” al espacio privilegiado a través de vectores de aspecto inofensivo, como la recolección de basura Java / GlassFish. Pero los métodos anteriores generarán una seguridad diaria casi realista al 100%.

Una vez consulté por un proveedor regional de energía eléctrica en el noreste de los Estados Unidos. Estas personas estaban tan preocupadas por la violación de su infraestructura que ejecutaron sus sistemas críticos (firewalls, controladores) desde los CD-ROM pregrabados de OpenBSD. Literalmente no había ningún sistema de archivos para explotar, y el “comportamiento sospechoso” podría resolverse temporalmente mediante un reinicio sistémico (al menos hasta que el malware residente en BIOS / GPU surgiera), pero, hombre, volviendo a grabar un montón de CD con cada pequeño cambio fue casi insoportablemente doloroso.

  1. Apague el sistema.
  2. Ciérrelo dentro de una caja fuerte de metal.
  3. Coloque la caja fuerte dentro de una habitación de concreto.
  4. Enterrar la sala de hormigón bajo 100 metros de granito.

Su sistema ahora es seguro.

Con toda seriedad, si alguien tiene acceso físico a su sistema, puede agregar o modificar lo que se está ejecutando en él. Si compañías como Apple y Microsoft no pueden evitar que se arraigue una pieza de hardware totalmente personalizada, no tiene ninguna posibilidad.

Ciérrelo en una habitación segura, como un armario de servidores o una sala de servidores.