¿Es posible la lista blanca de USB en Linux?

7

Después de ver la presentación de Black Hat en los problemas fundamentales con la "seguridad" del USB , estoy preguntándose si hay una manera de hacer una lista blanca de USB en Linux.

¿Existe actualmente un mecanismo que permita que solo una cierta lista de dispositivos USB carguen controladores y se ejecuten en los últimos kernels de Linux?

    
pregunta Naftuli Kay 13.08.2014 - 19:58
fuente

4 respuestas

4

Los dispositivos USB normalmente se identifican por el proveedor y el ID del dispositivo y, en Linux, el soporte para dispositivos USB se maneja con udev . Podría escribir reglas udev para rechazar todos los dispositivos, guardar para una lista específica (blanca). Consulte, por ejemplo, esta pregunta .

Sin embargo, esto podría no traer la seguridad que deseas. De hecho, todos los dispositivos de un modelo específico de un proveedor determinado compartirán la misma ID. Si permite, a través de su lista blanca, un dispositivo con ID 08e6: 3438, también se permitirá cualquier dispositivo que afirme tener esa ID. Un dispositivo hostil puede anunciar perfectamente cualquier identificación que desee mostrar. Para tener una lista blanca real, necesitaría que cada dispositivo individual contenga un identificador específico que el atacante no pueda adivinar (es decir, una clave ). No hay nada de ese tipo en el protocolo y dispositivos USB existentes.

Una lista blanca de este tipo sería, en cualquier caso, redundante con el control físico. Como usuario humano tangible frente a la máquina, depende de usted decidir si insertará o no un dispositivo específico en el puerto USB. Si desea insertar un dispositivo determinado que tenga en la mano, puede modificar las reglas para permitirlo; y si no inserta el dispositivo, tampoco necesitará la lista blanca. El filtrado de dispositivos USB sería más útil en situaciones en las que los usuarios de no de confianza pueden acceder a los puertos físicos. Esta es, sin duda, una situación bastante mala para empezar, ya que esto significa que los usuarios que no son de confianza tienen algún nivel de acceso físico al hardware. Esto podría aplicarse a los kioscos de autoservicio en tiendas de fotografía, pero en tales casos, se supone que el usuario no confiable debe traer su propio dispositivo USB, por lo que la inclusión en listas blancas deja de tener sentido.

    
respondido por el Tom Leek 13.08.2014 - 20:17
fuente
1

Sí. Tipo de.

"Cargar controladores" es un poco ambiguo. Normalmente, los controladores USB están integrados en el kernel, ya que pueden ser necesarios durante el inicio. Además, no puede consultar el dispositivo USB para averiguar su ID de dispositivo sin "cargar" el subsistema USB, y normalmente el controlador específico del dispositivo es simplemente el sistema de almacenamiento masivo o HID compartido por todos los dispositivos similares. Así que tiremos ese requisito. Es tonto.

Pero puedes agregar a la lista blanca dispositivos USB. Esto se ha cubierto ampliamente en SuperUser y sitios similares.

SuperUser: Lista blanca para flash USB utilizando udev

Pregunte a Ubuntu: ¿Se puede usar udev (reglas udev) para incluir en la lista blanca ciertos dispositivos usb?

Unix & Linux: ¿Cuál es la regla de udev para permitir a proveedores de unidades de memoria USB específicos?

Una simple búsqueda en Google mostrará cientos de guías sobre el tema.

    
respondido por el tylerl 13.08.2014 - 20:17
fuente
1

Como han dicho otras publicaciones, puedes decir cosas como "se permite que las unidades de 16GB Lexar Jumpdrives funcionen aquí, todo lo demás está prohibido", pero no dice "Esta unidad flash específica solo puede funcionar en esta red".

Sin embargo, como con muchas cosas, puedes engañar al sistema. Aquí hay una charla de configuración donde alguien construyó un dispositivo para que actuara como un MITM USB, y convertiría los comandos entre diferentes dispositivos, por lo que podría conectar un sandisk al azar a una red de solo lexar, y copiar los archivos en forma correcta.

enlace

Esto deja evidencia forense y similares, pero también eleva el nivel si este tipo de enfoque tiene sentido en su entorno. Solo recuerde, las identificaciones USB son como los códigos de barras, no las direcciones MAC. NO son únicos por dispositivo.

    
respondido por el Ryan Gooler 14.08.2014 - 00:38
fuente
0

A partir de ~ 2007 parece para poder especificar manualmente qué dispositivos USB (o interfaces de un dispositivo USB) pueden asociarse con un controlador.

Consulte la documentación:
enlace

(Ninguno se sentirá mal. Me topé con esto por accidente en una expedición de investigación no relacionada, mucho después de considerar que la característica no existe en el núcleo).

    
respondido por el Gima 18.02.2016 - 03:19
fuente

Lea otras preguntas en las etiquetas