Permitir que solo dispositivos específicos se conecten a USB

53

Supongamos que tengo una PC con Windows en una sala segura, desconectada de internet, con solo 3 cables conectados a otra sala, a un mouse, monitor y teclado.

La computadora contiene datos altamente sensibles. El cable del monitor HDMI no es un problema, pero los cables del mouse y del teclado son cables USB y se pueden conectar a alguna unidad USB. Estoy especialmente interesado aquí en asegurar los cables USB. Ignore otras formas de robar información, como tomar fotos de la pantalla, etc.

Mi pregunta es: ¿Cómo puedo asegurarme de que solo un ratón y un teclado específicos puedan conectarse a los cables USB?

  • Por ejemplo, ¿hay algún tipo de hardware que pueda colocar entre el cable USB y la computadora para asegurarme de que solo algún dispositivo permitido esté conectado a él? Los interruptores KVM de seguridad (interruptores de monitor de video y teclado) no son buenos porque en la práctica todos parecen presentar un pequeño retraso (retraso o latencia) cuando se mueve el mouse o se escribe. Realmente debes sentirte como si estuvieras conectado directamente (sin demora alguna). Tal vez hay algunos proyectos de Arduino, BasicX, Parallax, Pololu o Raspberry Pi para filtrar la comunicación USB y dejar pasar solo los dispositivos permitidos, sin retrasos.

  • Sé que hay un software para hacer eso (por ejemplo: enlace ) pero desde el el usuario está utilizando la computadora, podría desactivarla.

pregunta MarcG 28.03.2017 - 16:51
fuente

13 respuestas

67

Compre un adaptador PS2 a USB para teclados + ratones (importante: ambos deben estar en un puerto USB para asegurarse de que no sea un conector directo ingenuo).

Tienenlógicaycuestanalrededorde$10USDalmomentodeescribir.

LuegocompreadaptadoresUSBaPS2tantoparamousecomoparateclado(adaptadoresseparados).

No tienen lógica, solo cableado interno para cada conexión y cuestan menos de $ 5 USD al momento de la escritura.

Ponlos en total. Sí, parece funky, pero los dispositivos seguirán funcionando como se esperaba. Ahora, incluso si uno de los cables accesibles al usuario está empalmado, no pueden agregar hardware nuevo que no sean ratones y teclados genéricos.

Cosas bonitas sobre esto:

  • barato
  • simple
  • implementado por hardware
  • protege contra dispositivos desconocidos
  • SO independiente

ACTUALIZACIÓN: Verifiqué manualmente, dos veces, que no hay continuidad entre los pines data- / data + del USB y los pines data / clk de PS2 (o cualquier otro pines ps2) en un adaptador dos en uno. Sin embargo, hay continuidad en los adaptadores de un solo puerto, pero eso no es importante siempre y cuando uno de los adaptadores implemente algún tipo de lógica como lo hace el dos en uno. Conectar el adaptador vacío a una caja de Windows debería causar el "Ding de inserción USB"; De lo contrario, es un adaptador físico ingenuo.

El adaptador dual PS2-USB que probé específicamente era un "ez-pu21", disponible todavía en Amazon.

ACTUALIZACIÓN # 2, 2 cosas:

  • hay ataques de teclado USB, por lo que debe bloquear el sistema operativo correctamente para mantener la seguridad.
  • uno puede ingresar a la BIOS con un teclado, y no estoy seguro de qué tan arriesgado es la exfiltración, o si todo lo que pueden hacer es "romper" la computadora.

ACTUALIZACIÓN # 3: Después de usar los adaptadores de doble línea durante aproximadamente 24 horas, puedo decir que funcionan, pero no del 100%, quizás del 99%. Cuando estaba haciendo una programación seria (mecanografía) noté que las teclas se mantenían presionadas durante aproximadamente 1/3 de una segunda repetición. Esto es antes de que mi tipografía se repita aproximadamente 2/3 por segundo después de presionar, y solo se repite una vez; lo que lleva a cosas como "biig" en lugar de "grande". Solo lo noté unas cuantas veces, tarde en la noche, pero quería mencionarlo. No lo noté hasta después de horas de uso, pero si estuvieras escribiendo una novela, podría ser frustrante. Podría ser simplemente el adaptador barato que utilicé, los cables realmente largos que estoy usando o algo que nadie más experimentará.

BONIFICACIÓN: (relacionado pero OT): Me di cuenta de que estos conmutadores usb baratos no conectan los pines de datos, son demasiado baratos para cambiar los 4 cables, por lo que hacen un "condón USB" barato para aquellos que desean tal cosa, pensé que compartiría. condones baratos, ¿cómo puedes ir mal?

    
respondido por el dandavis 28.03.2017 - 20:37
fuente
59

Estás tomando el lado equivocado del problema. Si alguien en quien no confía puede acceder a una máquina, la máquina se ha visto comprometida. Parada completa.

Esa es la razón por la que el acceso a las salas de servidores está altamente controlado, y por lo que a los administradores normalmente no les importa la seguridad física de los conectores: la línea de defensa no está en el nivel del conector sino en la sala que contiene la máquina.

Dicho esto, puedes imaginar controladores USB especiales que solo permiten identificadores de hardware específicos. Simplemente no puede instalarlos de manera predeterminada al instalar un kernel en una máquina nueva debido a un problema de gallina y huevo, pero después de una instalación inicial, puede crear un kernel personalizado con esos controladores USB especiales. Pero como existen muchas otras posibilidades para comprometer una máquina cuando tiene acceso físico a ella, es, en suma, una pérdida de tiempo y energía ...

Y de todos modos, nada impide que una organización malvada y poderosa construya un teclado USB específico que se presente con la identificación y la aparición de un teclado inocente de un fabricante de hardware conocido pero que contenga un keylogger. Si no confía en su administrador, él podría reemplazar el teclado en un reinicio del sistema. Como ya he dicho, si un tipo malvado pudiera tocar la máquina está comprometido, y si no pudiera, no debería preocuparse por los conectores USB.

    
respondido por el Serge Ballesta 28.03.2017 - 17:22
fuente
23

En los sistemas Windows, ha podido bloquear o restringir los dispositivos USB a través de la directiva local o de grupo desde al menos Windows Vista. Al establecer las políticas de "Acceso de almacenamiento extraíble", puede deshabilitar la conexión de dispositivos de almacenamiento USB (esa categoría incluye muchos dispositivos USB infames). Esta configuración impide que Windows interactúe con los dispositivos porque evita la carga de los servicios.

enlace enlace

    
respondido por el claidheamh 28.03.2017 - 19:18
fuente
4

Solo use un teclado y mouse PS / 2.

No se moleste con los adaptadores y otros tipos de condones de hardware. Todavía hay muchas placas base disponibles que tienen conectores de teclado y mouse PS / 2.

    
respondido por el raznagul 29.03.2017 - 11:03
fuente
4

Solicitud de aclaración: ¿qué ataques le preocupan? Por su observación acerca de no preocuparse por las fotos de la pantalla, supongo que no desea que se inyecten datos en el sistema, y no le importa NINGUNA exfiltración de datos.

Entonces, ¿cómo podemos atacar su sistema y qué se puede hacer al respecto?

Ataques USB y amp; mitigación

Como lo señalaron otros, manténgase alejado del USB. El sistema operativo NO PUEDE proteger de todos los ataques. Nohl et al demostraron en 2014 cómo atacar el firmware del microcontrolador del host USB , y su ataque, llamado BadUSB , se demostró que era utilizable incluso cuando el sistema estaba en la BIOS después de reiniciar.

Después de que los microcontroladores del host USB se vean comprometidos, una carga útil malintencionada podría posiblemente muck en el bus PCI para modificar o snoop la memoria.

¿Se pueden evitar o mitigar estos ataques? ¡SÍ! Hay al menos un dispositivo de firewall de hardware USB en el mercado, el USG , que fue diseñado explícitamente para combatir el ataque BadUSB. Todavía no se tratará con entradas de teclado que no sean de confianza.

Entradas de teclado no confiables, USB y amp; PS / 2:

El cableado PS / 2 sugerido por otros también es un contendiente fuerte, pero no hay razón para que no se pueda agregar un dispositivo para inyectar todas las pulsaciones de teclas necesarias y amp; movimientos del mouse para atacar su sistema (por ejemplo: abrir el bloc de notas o cualquier cosa que me permita ingresar caracteres, inyectar los caracteres binarios necesarios para formar un programa, guardar como .exe, ¡ejecutar!). Incluso BadUSB no puede combatir eso.

Ataques HDMI y amp; mitigación

¿Está permitiendo que se conecte un cable HDMI? Ha habido al menos un comentario por una investigación de seguridad (Dragos Ruiu) que puede permitir el uso de Ethernet a través de HDMI para infectar el sistema restringido.

La mitigación aquí es simple: asegúrate de usar un cable HDMI sin los bits de Ethernet, pero ten cuidado con el DDC ...

Ataques de video DDC:

Para ser justos, incluso VGA permitió la transferencia digital a través de la comunicación bidireccional DDC (como lo hizo DVI), por lo que tiene un potencial de explotación; pero es mucho menos probable que se utilice. No es infrecuente actualizar el firmware en monitores a través del DDC a través de VGA / DVI / etc.

Funciona como HDMI - Pantallas de hacking hechas interesantes por Andy Davis, Blackhat-EU-2012 trata sobre el uso de DDC para piratear monitores, pero el bus I2C que forma el enlace DDC es bidireccional y podría utilizarse de forma creativa para meter la tarjeta de video del host.

No puedes evitar el enlace DDC porque es necesario para configurar el modo de video correctamente.

    
respondido por el robbat2 30.03.2017 - 05:28
fuente
3

Usted querría un diodo de datos en línea junto a la PC tanto para su teclado como para su mouse, por lo que no se pueden enviar datos desde la PC a la sala sin importar qué (ya que dijo que el número de cable 3 no es un problema). Es posible que también encuentre un teclado y un mouse de serie mejor.

Por cierto, todo esto es odio de papel de aluminio. Aquí hay un protocolo de comunicación llamado chat de estaño que muestra diodos de datos para dispositivos seriales, que están envueltos en papel de aluminio. enlace

Agregar un diodo solo no es crear un diodo de datos, ya que con un diodo que podría enviarse contra la flecha con un voltaje inverso, los diodos de datos utilizados en el proyecto tienen un optoacoplador que hace imposible que la información viaje contra la flecha (sin tener acceso al hardware).

Después de intentar mostrar también por qué el cable HDMI puede no ser un problema, se me ocurrió este diseño de la habitación, la idea es que coloques tu cabeza en el dispositivo de visualización con apariencia de microscopio y te permita ver la pantalla a través de un dispositivo óptico. Cable de fibra que atraviesa la pared. El teclado y el mouse que trae consigo solo pueden enviar datos, no recibirlos, ya que hay un diodo de datos en el otro lado de la pared. Bob, el tipo de seguridad está allí para hacerte compañía en este infierno sin ventanas de un lugar de trabajo, y para echarte si empiezas a hablar con tu dispositivo de grabación, pon algo más que tu ojo en el visor o intenta aplastar a través de pared. Fíjate que no puede llevar a hombros ninguna información. Sería desconectado si moviera su cabeza fuera del visor. Para iniciar sesión, deberá escribir una contraseña como de costumbre, pero luego escribir caracteres que aparezcan alternativamente en las pantallas izquierda y derecha (ahora hay dos monitores que llevan a cada ojo por separado). Esto es para evitar que aburra un globo ocular y lo reemplace con una cámara (los piratas de un ojo no necesitan aplicar). Ahora no puede copiar ningún archivo desde la PC, Bob no tiene que buscarle el equipo de espía y todos están contentos.

Cualquier cosa que pueda memorizar del sistema y llevarse a casa pierde algo de credibilidad, podría haberlo inventado en lugar de memorizarlo.

    
respondido por el daniel 28.03.2017 - 17:52
fuente
2

Una solución que es universal para cualquier sistema operativo es eliminar todos los controladores USB, excepto los que necesita (HID). Sin embargo, asegúrese de evitar que el usuario instale nuevos controladores.

    
respondido por el Dmitry Grigoryev 29.03.2017 - 14:26
fuente
2

Como ya han dicho otros, especialmente robbat2 y Serge Ballesta ... Una vez que las personas tienen acceso físico a la máquina, están comprometidos para todos los propósitos.

Puede hacer que su configuración sea más segura electrónicamente de varias maneras. Muchos de ellos probablemente cubrirán prácticamente todos sus casos de uso. A menos que esté trabajando con asuntos gubernamentales o corporativos de alto secreto y el atacante esté trayendo tecnología especial con ellos, debería estar prácticamente a salvo.

Pero la única manera de estar 100% seguro en términos académicos aquí es volverse físico también. Necesita una persona en la que pueda confiar para proteger la máquina.

Si está realmente paranoico con respecto al empalme de cables y esa es realmente su única preocupación, podría cubrir la longitud de los cables del mouse y del teclado en una malla de cobre que esté conectada a un sensor. Ejecute una corriente a través de él, y tenga un relé que pueda medir la tensión comprobándolo 24/7. Tenga el relé conectado a otra máquina, tal vez una Raspberry Pi o un Arduino, para que pueda activar una alarma en caso de que la malla se desaparezca.

Ahora solo tienes que establecer el voltaje en la malla. Use un pequeño potencial, por ejemplo, de 3 a 12 voltios, si solo quiere saber si los cables se cortaron o no. O vaya hasta 220 V o más si quiere que sirva como una trampa explosiva (algunas personas dirían que es una cosa poco ética).

    
respondido por el Renan 30.03.2017 - 22:11
fuente
1

Puede colocar el teclado en un escritorio (por ejemplo, con tornillos a prueba de vandalismo a través de la base del teclado) para que el cable USB no sea accesible, por ejemplo. en un canal cortado en el escritorio y cubierto con una placa de metal.

No necesita un mouse con cable o inalámbrico: puede usar una tableta con cable (por ejemplo, una Wacom) con el cable USB que se vuelve inaccesible. Puede obtener un mouse para la tableta si los usuarios no pueden manejar el uso de un bolígrafo.

Por supuesto, un usuario especialmente malintencionado podría intentar destrozar el teclado para acceder a la conexión USB interna, así que elija una de construcción antivandálica, posiblemente con una alarma para que, si aún logran entrar, alguien esté alerta.

También están disponibles los teclados de acero inoxidable para montaje en panel con una bola de seguimiento.

    
respondido por el Andrew Morton 30.03.2017 - 21:29
fuente
1

Qué pasa si ...

... conectamos el teclado a una Raspberry Pi o Teensy ( enlace ), programado para leer las teclas y "tipo "¿De nuevo en la computadora? Supongo que sería lo suficientemente rápido para evitar cualquier latencia percibida. Esto actuaría como un "Firewall USB para teclado", y otro similar como "Firewall USB para mouse".

La computadora identificaría el Teensy como "Firewalled Keyboard" o "FirewalledMoused". No es necesario que la computadora vea el teclado o el mouse original.

Curiosamente, el usuario @ robbat2 apuntó a un firewall USB que evita algunos ataques USB de bajo nivel:

Me parece que esto también podría modificarse para permitir que solo se conecten teclados y ratones.

También podemos agregar una solución de cables PS / 2 (consulte la respuesta del usuario @dandavis) entre el teclado y el "Firewall USB".

Actualizar:

Le envié un correo electrónico a Robert Fisk, creador de (open source) USG , y le pregunté (condensado) :

  

Hola, Sr. Robert Fisk,

     

¿Se puede modificar su USG para que solo permita la conexión de teclados y ratones, y también evitar que se envíe información desde la computadora al teclado? Si compro su hardware USG listo (en lugar de construir el mío), ¿es posible cambiar su firmware? ¿Cuánto es cada USG?

Él respondió:

  

Hola Marcelo. El firmware se puede convertir fácilmente en un 'solo teclado'   o dispositivo 'solo para mouse'. También puede deshabilitar la computadora al teclado   Comunicación que actualiza las mayúsculas, las luces de desplazamiento y de bloqueo numérico. Sin embargo, seguirá siendo vulnerable a un usuario malintencionado que escribe en un   VBScript malvado, secuencia de comandos de Powershell o incluso binarios que utilizan códigos ASCIi ALT   que realizaran acciones maliciosas. Si puedes ciertamente   programa en su propio firmware, vea esta página:    enlace

     

Espero que ayude!

Tenga en cuenta que nunca había hablado con el Sr. Fisk antes de este correo electrónico, y nunca había oído hablar de USG antes de hacer esta pregunta. No estoy conectado a USG ni a su creador de ninguna manera, y nunca lo he usado, probado ni estudiado. No sé personalmente si es adecuado para el trabajo. Solo estoy publicando esta información porque creo que es interesante y posiblemente útil.

Si al final decido comprar algo de USG y alterar su firmware, probablemente abriré el nuevo firmware en GitHub y lo enlazaré aquí.

    
respondido por el MarcG 30.03.2017 - 20:28
fuente
0

Puede usar un mouse y un teclado inalámbricos si la computadora con los puertos usb no está muy lejos de su estación de entrada.

    
respondido por el fred beauchamp 29.03.2017 - 15:42
fuente
0

Según su comentario sobre una de las respuestas: El concepto de "tocar la máquina" es el problema.

Así que esta respuesta es sugerir un enfoque diferente en lugar de concentrarse en los puertos USB.

  1. ¿Por qué no usar la tecnología inalámbrica? El teclado y el mouse inalámbricos te mantienen alejado de los cables.

  2. Acceso remoto a la computadora , existen aplicaciones / software que pueden permitirle controlar otra computadora de forma remota, localmente. Tiene sentido, si está realizando una configuración similar a un servidor.

  3. ¿Controlar los movimientos del cursor y del teclado a través del dispositivo de red local (enrutador)? No estoy seguro si es posible, pero si lo está, los enrutadores tienen filtrado de direcciones mac, y tales dispositivos de entrada necesitan tener sus propias direcciones MAC. Echa un vistazo a este HP Wifi Mouse , aunque las revisiones en línea parecen estar llenas de errores.

respondido por el 707 30.03.2017 - 07:27
fuente
0

Aquí tienes. Epoxi, pegamento caliente, etc. Ha dado requisitos y condiciones muy específicos sin dar mucha base, excepto "Datos altamente sensibles".

Su pregunta sugiere que el usuario PUEDE desconectar e insertar dispositivos USB en la computadora. DESPITA la naturaleza estricta que describió originalmente. Esto implica acceso físico a parte del sistema. La antigua regla dice "el acceso físico supera a todos los demás controles".

Esta es la mejor respuesta que se me ocurre, dadas sus supuestas condiciones. He trabajado en entornos gubernamentales de alta seguridad, con soluciones entre dominios, y fueron más fáciles. La respuesta simple suele ser la respuesta más segura.

    
respondido por el 0xSheepdog 30.03.2017 - 19:15
fuente

Lea otras preguntas en las etiquetas