¿Puede un dispositivo USB conectado leer todos los datos del bus USB?

30

¿Es posible que un dispositivo USB (malicioso) (hardware) acceda a todos los datos que se transfieren a través del bus USB y luego lea / almacene esta información, esencialmente olfateando todos los datos transferidos? ¿O se cambia el bus USB y solo envía datos al destinatario correcto, es decir, solo permite que el destinatario intentado lo lea?

    
pregunta user1049697 24.06.2013 - 10:33
fuente

2 respuestas

21

Probablemente sí, pero depende

Al igual que los dispositivos PATA, SCSI y Ethernet, los dispositivos USB no se conectan directamente a la computadora. Se conectan a un controlador host que gestiona toda la señalización y la comunicación. Todos los puertos están conectados a algo que se llama un concentrador de raíz y, a cada concentrador de raíz, puede conectar otros concentradores y, posteriormente, más concentradores.

Cada uno de estos concentradores tiene múltiples flujos descendentes y exactamente uno ascendente. "¿Qué significa eso?" usted pregunta. Bueno, significa que los datos enviados por el hub se envían a todos los hubs y dispositivos secundarios, mientras que los datos enviados por los hubs y los dispositivos solo se envían "hacia arriba" a Root Hub.

Entonces, si varios dispositivos están conectados a puertos que llevan al mismo Root Hub (todos están controlados por el mismo Host Controller), entonces cualquiera de los dispositivos puede detectar los datos. sólo en la dirección Ordenador - > Dispositivo.

En mi computadora portátil, por ejemplo, los puertos en el lado derecho están controlados por un Controlador Host, y los puertos en el lado izquierdo están controlados por otro Controlador Host.

Loquesignificaquelosdatosenviadosacualquierdispositivoenelladoderechopuedenserdetectadosporcualquierdispositivoenelladoderecho,peronolosdispositivosconectadosalladoizquierdo.

RecuerdoqueuncolegamíomodificóunamemoriaUSBparaevitarqueignoraralosdatosenviadosaotrosdispositivos.Entonces,siconectaesamemoriaUSBmodificadaaunacomputadora,puedecapturartodoslosarchivoscopiadosenotrasmemoriasUSBenlamismacomputadora.

Actualizar:

Elcomentariode@Polynomialmehizocuestionartodalarespuesta,yaquemiinformaciónsebasaenladescripcióndemicolega.Paraestarseguro,tratédeencontraralgunareferencia.Busquéen especificaciones de USB y encontré esto:

  

  ...  Enladireccióndescendente,losconcentradoresoperanenunmododetransmisión.Cuandoun  hubdetectaeliniciodeunpaqueteensupuertoorientadohaciaarriba,  establecelaconectividadatodoslospuertosorientadoshaciaabajohabilitados.Siun  elpuertonoestáhabilitado,nopropagalaseñalizacióndepaquetesensentidodescendente.

Además,un artículo de KB de la FASE TOTAL parece estar de acuerdo

  

USB 2.0 funciona a través de un sistema de transmisión unidireccional. Cuando un host   envía un paquete, todos los dispositivos posteriores verán ese tráfico. Si el   El anfitrión desea comunicarse con un dispositivo específico, debe incluir el   Dirección del dispositivo en el paquete del token. Tráfico ascendente (el   respuesta de los dispositivos) solo son vistos por el host o los hubs que están   directamente en la ruta de retorno al host.

    
respondido por el Adi 24.06.2013 - 12:56
fuente
6

La respuesta de Adnan es correcta. Sin embargo, para completar la imagen, para el modo de súper velocidad en Usb3.0, los paquetes en sentido descendente son enrutados por el concentrador en lugar de ser transmitidos a diferencia de usb2.0.

Tenga en cuenta que el concentrador usb3.0 consta de la parte usb2.0 y una parte separada de supervelocidad. La parte usb2.0 del concentrador de supervelocidad funciona en modo de transmisión como antes.

En resumen, los contenidos que escribes en una unidad que se ejecuta en modo de supervelocidad no pueden ser rastreados.

    
respondido por el Linus kerk 02.07.2013 - 16:31
fuente

Lea otras preguntas en las etiquetas