¿Cómo deshabilitar Firewire en OpenBSD / Linux para evitar ataques a través de Firewire?

10

Dado que Firewire carece de seguridad , lo que permite que un dispositivo conectado acceda a la memoria del host, es bueno completamente deshabilitarlo. Si no estamos usando el BIOS para deshabilitar el puerto Firewire, ¿cómo podríamos hacerlo usando "métodos de software"? El sistema operativo que se ejecuta en la PC es OpenBSD o Fedora o Ubuntu.

Editar: ¿Es suficiente deshabilitar la compatibilidad con Firewire en el sistema operativo para evitar que un dispositivo de ataque Firewire acceda a la memoria? ¿Qué pasos son necesarios para prevenir este tipo de amenaza?

    
pregunta LanceBaynes 25.05.2011 - 17:35
fuente

4 respuestas

1

OpenBSD no admite Firewire de forma predeterminada:

enlace

    
respondido por el LanceBaynes 17.01.2012 - 05:06
fuente
9

Método de software:

  • Deshabilitar el controlador Firewire / recompilar el kernel

La desactivación del controlador Firewire evita el uso de cualquier dispositivo Firewire, ya que desactiva el controlador de hardware Firewire. Para que los ataques funcionen, existen varios requisitos: el controlador debe cargarse para que el controlador se inicialice (bus-mastering, etc.), debe configurarse para 'acceso abierto' y no para cada dispositivo, y debe habilitarse dma (ohci1394 tenía una opción de deshabilitar dma).

En Ubuntu, los controladores firewire son módulos del kernel. Hay una forma fácil de incluirlos en la lista negra: abra /etc/modprobe.d/blacklist-firewire.conf , allí encontrará una lista de módulos para incluir en la lista negra.

blacklist ohci1394
blacklist sbp2
blacklist dv1394
blacklist raw1394
blacklist video1394
#blacklist firewire-ohci
#blacklist firewire-sbp2

Simplemente quite el # delante de todo y guárdelo. Entonces ejecuta sudo update-initramfs -k all -u

Otros métodos:

  • Deshabilite los puertos Firewire en BIOS
  • Selle los puertos reales, como se hace a menudo para los puertos USB en algunos entornos.
respondido por el john 25.05.2011 - 20:32
fuente
3

Compilar un kernel personalizado que carezca de soporte de dispositivos para la interfaz Firewire debería ser suficiente. ¿Qué le impide restringir el acceso a esos dispositivos mediante la configuración de permisos?

La eliminación del controlador evitará que los dispositivos conectados establezcan transferencias DMA:

  • enlace → "Debe convencer a OS de que es un dispositivo legítimo antes de poder acceder a la memoria "
  • enlace → DMA no es posible hasta que se ejecute el código en la CPU para permitir que suceda.
respondido por el Jeff Ferland 25.05.2011 - 19:30
fuente
1

... también puede ajustar el acceso a los dispositivos usando / etc / fbtab

enlace

basado en un inicio de sesión a través de firewire / usb / other ports, todo puede ser deshabilitado

    
respondido por el maurice 19.01.2012 - 03:45
fuente

Lea otras preguntas en las etiquetas