Ingeniería inversa de señales USB

8

Digamos que hay una memoria USB que es específicamente para almacenar fechas o días o algún tipo de datos arbitrarios. Para acceder a los datos debe tener el software.

¿Hay alguna forma de analizar las señales USB y hacer su propio hardware para leer los valores en la unidad flash? ¿Qué métodos existen para hacerlo?

stevenvh
fuente

Respuestas:

7

Si.

Estoy muy satisfecho con el software de HHD . Hace unos años, utilicé el monitor de puerto serie para realizar ingeniería inversa pesada y el software HHD estaba bien adaptado para el trabajo.

Me metí en su versión sniffer USB pero nunca compré la versión completa. En el pasado había una versión de prueba gratuita que era algo útil. Puede que aún lo tengan.

En cualquier caso, me enamoré del USB porque no sabía cómo hacer el "controlador" en Windows. Si está utilizando Linux, el proyecto puede ser bastante más fácil, ya que toda esa lógica de E / S del controlador de bajo nivel es fácilmente accesible en el código del kernel. Además, Linux 2.6 ofrece algunos dispositivos en / dev que se pueden usar para enviar / recibir directamente al dispositivo USB sin la necesidad de ningún módulo / controlador especial. Genial para el desarrollo.

Brad Hein
fuente
Estoy interesado en hacer una ingeniería inversa de la comunicación usb de la placa de desarrollo MSP430 launchpad en Linux. ¿Sabes dónde puedo encontrar más información sobre los dispositivos en / dev con la que puedo comunicarme directamente?
pfyon
1
Estaba investigando la interfaz USB del espacio de usuario de Linux hace algún tiempo. (Terminé programando solo para Windows y OS X) La única información que pude encontrar sobre la interfaz / proc estaba en la biblioteca libusb (usa la interfaz) y las fuentes del núcleo en sí (no recuerdo el enlace o el nombre de archivo nunca más).
jpc
4

La ingeniería inversa USB puede ser un desafío; Hay muchos datos para clasificar.

Primero, debes entender el protocolo; Encontré que USB in a Nutshell es bastante bueno.

Entonces necesita alguna forma de recopilar el tráfico y analizarlo. Requiere al menos algo de software y posiblemente algo de hardware. Utilizo un analizador USB de hardware en el trabajo, pero son caros. Sé que es posible usar Virtualbox y recopilar el tráfico USB en Linux, pero nunca lo he hecho. Puede comenzar con Virtual USB Analyzer .

Shawn J. Goff
fuente
Yo uso un analizador USB Ellisys de vez en cuando. Cuando alguien dice "El dispositivo X es caro", la respuesta correcta es "¿Comparado con qué?" (En un caso reciente en el trabajo, me dijeron que algo en mi código no estaba funcionando. Me tomó un par de minutos con Ellisys para demostrar que el problema estaba en otro lugar, y la mayor parte del tiempo fue conectar las cosas a ejecutar la prueba.)
John R. Strohm
2

Creo que se refiere a los dongles USB utilizados para la protección del software. No utilizan clases estándar de dispositivos USB HID o MASS STORAGE, y generalmente implementan su propio protocolo y proporcionan su propio controlador lateral de PC para comunicarse con ellos. La aplicación para PC generalmente les pide que respondan correctamente al mensaje cifrado enviado, o proporcionan información crítica que no existe en la aplicación para PC, que la aplicación necesita para funcionar correctamente. Estos mensajes se pueden rastrear, como cualquier otra cosa a través de USB, pero tenga cuidado ya que podría estar caminando al límite. Educar sobre USB es una cosa, pero publicar trabajos que rompan la protección del software no es legal y será procesado. No lo hagas Pido disculpas si entendí mal la pregunta.

avra
fuente
Es ilegal en algunos países, pero no en todos.
pfyon
Decodificar el tráfico no será trivial de todos modos.
Erik Friesen
2

Puede analizar el tráfico USB con Wireshark: http://wiki.wireshark.org/CaptureSetup/USB

Wireshark es un software gratuito, mejor conocido por sus capacidades de análisis de red, pero desde hace un tiempo también detecta el USB.

jippie
fuente
Vale la pena señalar que la captura USB básicamente requiere Linux. Puede capturar el tráfico USB de Windows ejecutando Windows en una máquina virtual, en Linux .
Connor Wolf
Si desea una solución de detección de USB de Windows, VMWare puede registrar el tráfico usb con un host de Windows, aunque aún debe tener el dispositivo usb real conectado a una VM.
Connor Wolf
2

Pocos hackers famosos (que utilizan consolas de juegos de ingeniería inversa) están desarrollando una herramienta para analizar el protocolo USB. Se llama OpenVizsla. Actualmente está en desarrollo, pero pronto se completará. Es un proyecto completo de código abierto.

Consulte este enlace http://www.kickstarter.com/projects/bushing/openvizsla-open-source-usb-protocol-analyzer/posts

robomon
fuente
Los enlaces actualizados para este proyecto son: openvizsla.org y github.com/openvizsla/ov_ftdi
Glenn 'devalias'
0

Hay toneladas de soluciones de software y hardware. Capturar los datos y analizarlos no es un problema, sin embargo, debe comprender qué hay en la memoria USB. He visto personas desarrollando memorias USB con procesadores integrados y cifrado AES. (Encriptado / descifrado localmente). Sin saber qué es exactamente este dispositivo USB, es difícil saber qué puede aprender del tráfico.

Ktc
fuente