web-dev-qa-db-fra.com

Comment vérifier si le firmware de ma clé USB peut être réécrit via le port USB?

Comment puis-je savoir sous Linux (ou autre), si le firmware de ma clé USB peut être réécrit en utilisant le port USB (en le collant dans un port USB)? Par exemple. pour un EMTEC 16GB pas cher.

Je pensais utiliser udevadm monitor, mais je n'ai aucune idée de l'apparence d'un ID de contrôleur USB (et s'il est imprimé par udevadm) et où chercher plus de détails pour ce contrôleur USB. J'ai lu dans Comment empêcher les attaques BadUSB sur le bureau Linux que c'est l'une des conditions derrière l'attaque BadUsb.

19
Andrei I

Bref, il n'y a aucun moyen de le savoir.

Il existe de nombreuses puces de contrôleur USB "mal écrites" qui ne signalent pas que vous pouvez leur écrire. ou pire rapport que vous pouvez. mais ignorez simplement toute tentative de leur écrire.

Donc, sans savoir précisément de quelle puce il s'agit, vous ne pouvez pas savoir comment il réagit à une telle instruction.

Pire encore, il existe des périphériques USB qui sont des clés USB ou des disques durs USB qui, lorsqu'ils sont écrits à une adresse extrême au lieu de l'écrire sur le disque, l'écrivent dans la mémoire interne (par exemple, l'EEPROM flash) et vous ne pouvez tout simplement pas vérifiez-le sans écrire votre propre logiciel pour le faire et testez-le en téléchargeant votre propre firmware. (ou briquez le périphérique USB).


La seule méthodologie fiable pour savoir si un périphérique USB peut être utilisé de cette manière est liste blanche les contrôleurs USB connus qui permettent l'écriture. et écrire votre propre logiciel de test pour vérifier cela.

11
LvB