Dongle USB dans une machine virtuelle

lot

Demi-dieu
12 Août 2007
214
238
108
Ile de france
Ma banque ICBC fournit un boitier USB (Tendyron) pour autoriser les paiements en ligne.

Seul Internet Explorer est supporte, ce qui est un defaut remarquable de beaucoup de banques chinoises. Du coup, avant de changer de disque dur, j'ai realise une image de ma partition Windows, que je peux maintenant lancer avec VirtualBox (dans Xubuntu)

Le seul truc qui marche pas, c'est l'utilisation du boitier USB de ICBC pour les virements.
C'est un peu technique, mais je souhaite savoir si certains d'entre vous ont reussi a payer dans une machine virtuelle.

Merci beaucoup pour vos retours.

[Descripion Technique]
J'ai installe les "guest addition" dans la machine Windows, installe l'extension pack, active le USB 2.0 (ou 3.0) et ajoute un filtre pour capter le boitier USB dans la machine virtuelle. A chaque insertion, j'obtiens un message "failed to created a proxy device for the usb device"

La description est tres similaire a ce ticket
[/Descripion Technique]

 
D'expérience, la plupart de ces dongles utilisent un système matériel et ne fonctionnent pas dans une VM.
Certains sont même précisément conçus pour ne pas fonctionner dans ce contexte. Si IE accepte qu'un logiciel autre que l'OS opère entre lui et le dongle, la sécurité apportée est réduite à pas grand chose.
 
D'expérience, la plupart de ces dongles utilisent un système matériel et ne fonctionnent pas dans une VM.
Certains sont même précisément conçus pour ne pas fonctionner dans ce contexte. Si IE accepte qu'un logiciel autre que l'OS opère entre lui et le dongle, la sécurité apportée est réduite à pas grand chose.

Ta reponse ne me parrait pas du tout correcte:
- Le dongle protege une clef secrete qui sert a signer une transaction. Le site web verifie avec la clef publique. C'est juste de l'authentification. La securite reste la meme tant que le dongle ne devoile pas la clef secrete.
- Ce n'est pas IE qui accepte ou non un autre OS.
- Le probleme c'est que VirtualBox n'arrive pas a monter le dongle USB en tant que systeme de fichier (ce qui est probablement normal). Je veux juste savoir comment transmettre les transactions USB a travers VirtualBox quand le montage de fichier echoue. C'est VirtualBox qui bloque l'acces, pas IE, ni le dongle.
 
Tu peux aussi essayer les methodes moins "traditionelles", y a des bons tuto en ligne!

h987DAEF6
 
VirtualBox gère très mal tout ce qui est USB device. Je te conseillerais donc d'utiliser plutôt wine pour lancer IE sur ton ubuntu directement.
 
Avant que je me lance dans cette galere, as-tu reussi par cette methode ?
Honnêtement ce n'est pas plus galère que d'installer un logiciel sur windows... surtout aujourd'hui !!
Et non je n'ai pas testé mais c'est comme ca que je le ferais personnellement car comme dit précédemment c'est très simple (limite tu clic ca marche...) et au moins tu n'auras plus de limitation matérielle.
 
Dans ma boite on utilise VM Ware pour la gestion et la creation de machines virtuelles.
On a un dongle qui sert a l'authentification de notre systeme ERP (en gros sans le dongle le systeme ne peut pas se lancer).
Ca fonctionne, on a juste eu a parametrer un port USB virtuel avant de brancher le dongle sur la machine physique.

Je saurais pas dire comment faire dans ton cas vu que tu utilises un autre logiciel, mais il doit forcement y avoir un moyen.
 
J'utilise mes dongles ICBC ainsi que China Construction Bank sans problèmes dans Virtualbox. Il faut juste avoir pris soin d'installer l'extension pack de virtualbox (coté host), et coté guest (j'utilise windows 7) il faut installer les guest addition. Ensuite, tu pourra configurer virtualbox pour qu'il rende visible un device USB que tu choisis (device -> USB -> coche le device qui semble être le dongle) auprès de l'OS guest (windows 7), de là tu n'aura plus qu'a installer les driver du dongle (normalement en allant sur le site de la banque, il te les ferons télécharger). Ca marche avec IE et avec firefox (sans doute chrome également)
 
Quand à faire marcher le dongle via wine, je doute fortement que ça marche, car les dongles requièrent un driver, wine ne fait que faire tourner les applications windows sous linux, pas les drivers. Donc pas la peine de perdre ton temps à essayer ça ...
 
Ca fonctionne, on a juste eu a parametrer un port USB virtuel avant de brancher le dongle sur la machine physique.
Je saurais pas dire comment faire dans ton cas vu que tu utilises un autre logiciel, mais il doit forcement y avoir un moyen.
C'est la même. Soit tu ajoutes un port virtuel, soit tu ajoutes un filtre pour capter automatiquement. Il dit que c'est paramétré.

Sinon, d'autres pistes:
USB subsystem is not working on the host or guest
Your user must be in the vboxusers group, and you need to install the extension pack if you want USB 2 support. Then you will be able to enable USB 2 in the VM settings and add one or several filters for the devices you want to access from the guest OS.

If VBoxManage list usbhost does not show any USB devices even if run as root, make sure that there is no old udev rules (from VirtualBox 4.x) in /etc/udev/rules.d/. VirtualBox 5.0 installs udev rules to /usr/lib/udev/rules.d/. You can use command like pacman -Qo /usr/lib/udev/rules.d/60-vboxdrv.rules to determine if the udev rule file is outdated.

Sometimes, on old Linux hosts, the USB subsystem is not auto-detected resulting in an error Could not load the Host USB Proxy service: VERR_NOT_FOUND or in a not visible USB drive on the host, even when the user is in the vboxusers group. This problem is due to the fact that VirtualBox switched from usbfs to sysfs in version 3.0.8. If the host does not understand this change, you can revert to the old behaviour by defining the following environment variable in any file that is sourced by your shell (e.g. your ~/.bashrc if you are using bash):

~/.bashrc
VBOX_USB=usbfs
Then make sure, the environment has been made aware of this change (reconnect, source the file manually, launch a new shell instance or reboot).

Also make sure that your user is a member of the storage group.
 
Merci pour toutes ces informations.
Je verifie ce soir les quelques points que je n'ai pas checke:
- modules dans systemd?
- /dev/vboxusb
- usbfs et sysfs

A ce soir.
 
Ta reponse ne me parrait pas du tout correcte:
- Le dongle protege une clef secrete qui sert a signer une transaction. Le site web verifie avec la clef publique. C'est juste de l'authentification. La securite reste la meme tant que le dongle ne devoile pas la clef secrete.
- Ce n'est pas IE qui accepte ou non un autre OS.
- Le probleme c'est que VirtualBox n'arrive pas a monter le dongle USB en tant que systeme de fichier (ce qui est probablement normal). Je veux juste savoir comment transmettre les transactions USB a travers VirtualBox quand le montage de fichier echoue. C'est VirtualBox qui bloque l'acces, pas IE, ni le dongle.
Je me suis sans doute mal exprimé.

Le problème est que si ça marche avec VirtualBox au milieu, ça veut dire qu'en traffiquant Virtualbox un hacker pourrait écouter, modifier voire simuler les messages échangés avec le dongle. Outre les risques de retro-engineering que cela présente, un petit malin pourrait sans doute arriver à créer un faux dongle logiciel afin de faire "croire" à la machine virtuelle que le dongle est présent même si ce n'est pas le cas (de la même manière qu'on peut monter une ISO dans le virtualiseur et faire croire l'OS à l'intérieur qu'un CD physique a été inséré dans un lecteur).

Bref le rôle d'un dongle est généralement de s'assurer que l'utilisateur dispose d'une clef physique unique et non-duplicable, dans le cadre d'une authentification multi-facteurs. Le fait que ça marche dans une VM viendrait compromettre la vérification que tu disposes réellement du dongle avec toi, branché sur la machine depuis laquelle tu accèdes au site.

Cela dit, tous les dongles ne sont pas fabriqués avec de telles contraintes... J'arrive à faire fonctionner la plupart de mes périphériques USB dans une VM Windows (alors que je suis sous OSX)
 
Dernière édition:
Bref le rôle d'un dongle est généralement de s'assurer que l'utilisateur dispose d'une clef physique unique et non-duplicable, dans le cadre d'une authentification multi-facteurs. Le fait que ça marche dans une VM viendrait compromettre la vérification que tu disposes réellement du dongle avec toi, branché sur la machine depuis laquelle tu accèdes au site.
Cela marche dans une VM ...

Les dongles utilisent des principe cryptographiques qui font que même si tu interceptais la communication au niveau USB (pas besoin de VM pour ça, il existe des outils pour analyser le signal USB) tu ne pourrais pas le cracker ou le dupliquer. De même que si tu interceptes la communication entre un serveur https et un client qui se connecte dessus, tu ne peux pas en déduire les clef d'encryption du serveur. C'est pareil.
 
VirtualBox gère très mal tout ce qui est USB device. Je te conseillerais donc d'utiliser plutôt wine pour lancer IE sur ton ubuntu directement.
o_O
J'utilise tous les jours VirtualBox avec un Clef usb Jamais eu de soucis. J'utilise aussi des 'programmeurs' ou convertisseurs TTL>RS232 (FTDI) dans mes VM windows XP sans aucun soucis.
Les dongles des des banques ne sont pas des protections materielles mais juste des encrypteur (le dongle contient juste la clef publique de la banque)

Edit: Oops J'avais pas vu le message de starszig
 
Re-bonjour,

Il y a deux elements de reponse a ta remarque
- Il est possible qu'un logiciel espion aille pomper la clef sur le dongle, dans le but d'usurper l'identite. Mais cela ne se limite pas a VirtualBox. C'est le meme risque pour Windows/Linux et tout logiciel installe sur ton ordinateur (host ou guest). Sur linux, l'outil le plus simple s'appelle 'dd' (disk dump).

- Concernant l'obtention de la clef par ecoute des transactions, dis toi-bien que c'est la meme technique que celle qui est utilisee pour etablir des connections securisees (en https) depuis ton ordinateur. Et pourtant, il y en a un paquet de personnes qui peuvent ecouter les paquets criptes entre ton ordi et le serveur https distant. C'est justement parce qu'il n'est pas possible (jusqu'a present) de trouver la clef de chiffrement par cette methode que l'internet est securise.

J'ai passe du temps a lire des documents sur la cryptographie (a l'epoque pour mettre en place mon VPN).

Apres, tu verras, que ceci n'est pas vrai:
"Le fait que ça marche dans une VM viendrait compromettre la vérification que tu disposes réellement du dongle avec toi, branché sur la machine depuis laquelle tu accèdes au site."

Ce qui est vrai:
- le site web genere une phrase aleatoire a signer par la clef privee que seul le dongle possede (peu importe ou il se trouve).
- seul le vrai dongle peut generer la bonne reponse en signant la phrase aleatoire. Il renvoit un message signe.
- le site web ne peut que verifier si le message signe a bien ete genere par le dongle (connaissant la phrase aleatoire, le message signe et la clef publique).

Meme si quelqu'un obtient la phrase aleatoire, le message signe, la cle publique (ou meme plusieurs triplets), il n'est pas encore possible de trouver la clef privee (c'est tout justement le but de la cryptographie).

Si quelqu'un d'autre signe avec n'importe quoi, le site web verra que la reponse n'est pas valide (avec la clef publique) et refusera la transaction (avec HTTPS, Firefox te retourne parfois "Impossible d'etablir une connection securisee")
 
Et pourquoi ne pas aller chez ICBC demander à remplacer ton usb par les nouvelles calculettes ?
C'est encore plus safe et moins lourd à gérer coté software. C'est en plus compatible avec l'app mobile du coup meme pas besoin de pc pour tes transactions.