Deshabilitar la conectividad del teclado USB en MacBook

6

Me preocupa que los dispositivos USB estén conectados físicamente a mi computadora portátil MacBook cuando estoy a punto de desbloquear mi computadora o cuando mi computadora está desbloqueada.

Mi modelo de amenaza involucra a un atacante que está dispuesto a gastar alrededor de $ 200 para obtener acceso a mi computadora portátil, en particular a mi propia cuenta de usuario o raíz. Por lo tanto, los ataques físicos sofisticados, como las modificaciones de hardware complicadas o el reemplazo físico de una computadora portátil, no son posibles.

Pero me gustaría poder:

  1. Deja mi computadora desatendida pero bloqueada por unos minutos mientras uso el baño en una cafetería.

  2. Conecte dispositivos de almacenamiento USB externos sin tener que iniciar una VM aislada o usar una cuenta de usuario invitado. Poder cargar mi teléfono desde el puerto USB usando un cable no confiable y al mismo tiempo poder usar mi computadora desde mi cuenta de usuario. Podrá utilizar monitores externos que no sean de confianza a través de USB.

  3. Evita tener que tocar físicamente mis puertos USB para asegurarte de que no hay nada malvado conectado antes de escribir login.

El ataque que me preocupa es, obviamente, BadUSB o dispositivos USB diseñados a medida que pueden actuar como teclados (y pueden producirse por menos de $ 200). Estos dispositivos podrían enchufarse mientras dejé mi computadora portátil sin supervisión, y posiblemente sean demasiado pequeños (creo que de tamaño ubikey) para ser notados inmediatamente. O podrían ser conectados por una persona sentada a mi lado cuando les muestre algo en mi pantalla.

Ya utilizo prácticas básicas de Opsec, como FDE, una contraseña de firmware, una contraseña de cuenta de usuario que cambia a menudo, siempre bloqueando mi computadora cuando estoy fuera, sin reutilización de la contraseña, ejecutando solo archivos binarios en los que confío, etc.

La solución en la que estoy pensando estaría en la línea de tener que "autorizar" nuevos dispositivos USB cuando están conectados; y debería poder ver su tipo (por ejemplo, teclado VS cámara VS micrófono de carga VS cable de dispositivo de almacenamiento). Si autorizo un dispositivo USB y se desconecta y se vuelve a enchufar, debería darme la opción de volver a autorizarlo o desautorizarlo, y no debería poder actuar hasta que tome la decisión. Y si un dispositivo intenta volver a registrarse como un tipo diferente, debe bloquearse hasta que se autorice.

¿Sabes de un sistema que me permita hacer eso? Gracias!

    
pregunta dionyziz 08.04.2015 - 14:45
fuente

3 respuestas

1

Supongo que solo desea usar un puerto USB a la vez (puede usar un concentrador para este puerto en los pocos casos en que necesita más puertos) y tiene la intención de mantener este macbook hasta que esté fuera de servicio. (por ejemplo, no importa si se destruyen algunos puertos USB).

Luego sugeriría llenar todos los puertos USB excepto uno con el pegamento Expoxy. Lo ideal sería que el puerto que seleccionas para ser abierto sea fácilmente visible o accesible para que luego puedas detectar la manipulación de este puerto USB abierto.

Luego usas un bloqueo USB. Existen numerosos bloqueos USB disponibles, algunos tienen una tecla "general" que se ajusta a todos los dispositivos USB, otros tienen una clave con código de color que solo se ajusta a dispositivos USB del mismo color y otros tienen una clave completamente única.

Si lo desea, puede comprar uno de esos candados de Cable para computadora portátil con una llave y un "tounge" USB que se bloquea en el puerto USB, y luego modificar el dispositivo para quitar el Cable de bloqueo, dejando solo el "candado". Por lo tanto, bloquea el "bloqueo" en su puerto USB abierto, y luego no puede eliminarse sin la llave o el uso de la fuerza, y el uso de la fuerza también destruiría el puerto USB y dejaría una evidencia de que la manipulación ha estado vigente.

Si muy rara vez usa sus puertos USB, ocasionalmente, incluso podría usar uno de esos "sellos USB" numerados en serie, que es un pequeño dispositivo de plástico que coloca en el puerto USB abierto (que selecciona para no expoxizar ), y los stucks permanentemente. Para quitar el sello, se debe destruir el sello, y luego el sello de plástico no se puede reutilizar. Luego, cada sello tiene un número de serie que verifica contra una fuente segura (por ejemplo, un papel en su billetera que lleva puesto en todo momento) cuando quiere "protegerse".

    
respondido por el sebastian nielsen 10.04.2015 - 01:56
fuente
1

Si está preocupado por BadUSB y ataques similares, solo tendrá que recurrir a la comprobación de todos sus puertos cada vez que regrese después de dejar su computadora desatendida. Sin embargo, tenga en cuenta que incluso esto no lo protege de BadUSB.

BadUSB significa que puedo tomar un equipo USB normal, flashear firmware personalizado y causar estragos en él. Esto se puede hacer de manera relativamente rápida, siempre que se conozca de antemano el conjunto de chips USB del dispositivo en cuestión. Un atacante puede agarrar su dongle WiFi, BadUSB y volver a ponerlo en su computadora. BadUSB es aún peor: un atacante puede instalar un firmware personalizado en un dispositivo, infectar su computadora y luego desde allí infectar a todos los dispositivos USB todos conectados a su computadora en cualquier momento en el futuro, siempre y cuando BadUSB persiste.

La mejor solución para BadUSB sería un centro de clases que haga lo siguiente:

  1. El concentrador en sí mismo nunca permite que se muestre el firmware, o al menos obliga a que todo el firmware esté firmado criptográficamente.
  2. El concentrador debe mantener una lista de permisos para todos los dispositivos conectados a él. Cuando conecte un dispositivo, el concentrador debe notificar a la computadora que se ha conectado un dispositivo USB que se describe a sí mismo como un mouse.
    • Si alguna vez solicita ser un teclado, debe recibir una notificación.
  3. No se debe permitir el parpadeo de firmware a través de al concentrador. Esto protege a sus dispositivos de ser BadUSB'd.

BadUSB es malo. Ya he dicho suficiente.

Tenga en cuenta que al menos algunos sistemas operativos incluyen en la lista negra ciertos dispositivos USB conocidos como dispositivos pwnage. Sin embargo, esto no es lo suficientemente bueno, ya que una "identificación" de USB es una cosa débil y fácil de perdonar: su cámara Logitech podría identificarse como un teclado Apple.

    
respondido por el Naftuli Kay 09.06.2015 - 06:29
fuente
1

Escribí una solución parcial a su necesidad que comparto.

Solo quiero habilitar USB en ocasiones excepcionales. Estoy ejecutando una computadora en la que no se puede permitir el uso de una llave USB.

Escribí un script de shell usb que solo activa las extensiones necesarias para permitir la visibilidad del almacenamiento masivo USB cuando lo necesito. Aquí está el hombre:

Usage: usb [on|off|]

Para habilitar el almacenamiento masivo USB:

usb on

para desactivar el almacenamiento masivo USB:

usb off

para comprobar si se puede reconocer o no el almacenamiento masivo USB:

usb

Este script de shell se basa en:

kextstat
kextunload

Esto me permite usar mi puerto USB para recargar un iPhone, pero no me protege de un ataque BadUSB.

    
respondido por el daniel Azuelos 09.08.2015 - 01:49
fuente

Lea otras preguntas en las etiquetas