Un dispositivo USB collegato può leggere tutti i dati dal bus USB?

31

È possibile che un dispositivo USB (hardware) (dannoso) acceda a tutti i dati trasferiti tramite il bus USB e poi legge / memorizza queste informazioni, essenzialmente annusando tutti i dati trasferiti? Oppure il bus USB è commutato e invia solo i dati al destinatario corretto, cioè consentendo solo al destinatario di leggerlo?

    
posta user1049697 24.06.2013 - 10:33
fonte

2 risposte

22

Molto probabilmente sì, ma dipende

Molto simile ai dispositivi PATA, SCSI ed Ethernet, i dispositivi USB non si collegano direttamente al computer. Si collegano a un controller host che gestisce tutte le segnalazioni e le comunicazioni. Tutte le porte sono connesse a qualcosa chiamato Root Hub e ad ogni Root Hub è possibile connettere altri hub e successivamente più hub.

Ciascuno di questi hub ha più downstream e esattamente uno upstream. "Cosa significa?" tu chiedi. Bene, significa che qualsiasi dato inviato dall'hub viene inviato a tutti gli hub e dispositivi figlio, mentre i dati inviati dagli hub e dai dispositivi vengono inviati "verso l'alto" solo all'Hub principale.

Quindi, se un numero di dispositivi è collegato a porte che conducono allo stesso Root Hub (sono tutti controllati dallo stesso controller host), allora qualsiasi dispositivo può annusare i dati solo nella direzione Computer - > Dispositivo.

Nel laptop mio , ad esempio, le porte sul lato destro sono controllate da un controller host e le porte sul lato sinistro sono controllate da un altro controller host.

Significacheidatiinviatiaqualsiasidispositivosullatodestropossonoessereannusatidaqualsiasidispositivosullatodestro,manondadispositivicollegatisullatosinistro.

RicordocheunmiocollegahamodificatounachiavettaUSBperimpedirglidiignorareidatiinviatiadaltridispositivi.Quindi,secolleghilachiavettaUSBmodificataauncomputer,puoiacquisiretuttiifilecopiatisualtrechiavetteUSBsullostessocomputer.

Aggiornamento:

Ilcommentodi

@Polynomialmihafattodubitaredell'interarisposta,poichélemieinformazionisibasanosulladescrizionedelmiocollega.Peresseresicuro,hocercatoditrovarequalcheriferimento.Hotrovatole specifiche USB e ho trovato questo:

enter image description here ... In the downstream direction, hubs operate in a broadcast mode. When a hub detects the start of a packet on its upstream facing port, it establishes connectivity to all enabled downstream facing ports. If a port is not enabled, it does not propagate packet signaling downstream.

Inoltre, un articolo KB TOTAL PHASE sembra essere d'accordo

USB 2.0 works through a unidirectional broadcast system. When a host sends a packet, all downstream devices will see that traffic. If the host wishes to communicate with a specific device, it must include the address of the device in the token packet. Upstream traffic (the response from devices) are only seen by the host or hubs that are directly on the return path to the host.

    
risposta data 24.06.2013 - 12:56
fonte
6

La risposta di Adnan è corretta. Tuttavia per completare l'immagine, per la modalità superspeed in Usb3.0, i pacchetti downstream vengono instradati dall'hub invece di trasmettere diversamente da usb2.0.

Si noti che l'hub usb3.0 è costituito dalla porzione usb2.0 e da una porzione superspeed separata. La porzione usb2.0 dell'hub superspeed funziona in modalità broadcast come prima.

In breve, il contenuto che scrivi su un'unità in esecuzione in modalità superspeed non può essere snoopato.

    
risposta data 02.07.2013 - 16:31
fonte

Leggi altre domande sui tag