Projet BADCACA – Monero (XMR) est attaqué, mais ne rompt pas
L’arroseur arrosé – Il y a quelques jours, le réseau Monero a été la cible d’une attaque Sybil permettant à son initiateur de révéler des données sensibles. Du moins, c’est ce qu’il a cru.
Attaque Sybil contre Monero
Le 5 novembre dernier, un mystérieux hacker caché derrière le pseudonyme « Fireice UK » a publié une série d’informations supposément issue de transactions Monero.
« Vous pouvez maintenant vérifier combien de pédophiles pensaient qu’il était anonyme. 100 nouvelles adresses IP, détails de transaction et préférences des utilisateurs en matière de pornographie sont publiés chaque jour. » – Fireice UK sur Twitter
Ainsi, ce dernier prétend avoir réussi à briser l’anonymat des transactions Monero et à récupérer des informations sensibles, telles que l’adresse IP, la localisation ou encore les préférences pornographiques de l’utilisateur.
Pour ce faire, l’attaquant aurait mené une attaque dite Sybil. Ce type d’attaque vise les systèmes pair-à-pair et consiste à créer un grand nombre de nœuds pour submerger le réseau de nœuds « espions ».
Une fois les transactions propagées, si celles-ci passent par un nœud vérolé, en mesure de récupérer des informations relatives à l’adresse IP. En effet, Fireice UK explique être à l’origine de problèmes de transactions bloquées dans la mempool. Transactions qui, en pratique, auraient été interceptées par BADCACA, son programme de surveillance.
Des informations complètement erronées
Il aura fallu attendre 5 jours pour avoir une réponse de la part de Monero. Riccardo Spagni, principal responsable du développement de Monero, a publié un thread Twitter expliquant l’attaque et pourquoi celle-ci fut un échec, soulignant « l’incompétence de l’attaquant ».
Ce dernier explique que l’attaque a pu être contrée par Dandelion++, une technologie implémentée dans Monero qui permet de diffuser de manière aléatoire les transactions, de manière à ne pas pouvoir identifier l’émetteur :
« Dandelion++ fonctionne en ‘diffusant’ aléatoirement les transactions. Cela signifie que pour qu’une attaque Sybil puisse relier une transaction à l’adresse IP d’un nœud, elle doit être interceptée au tout premier nœud de la phase ‘tige’ d’une diffusion de Dandelion++. »
Bien qu’il ne soit pas impossible que BADCACA ait réussi à intercepter des transactions dès le premier nœud, il lui est impossible de savoir si celles-ci ont transité par un autre nœud auparavant.
« Ils n’auraient toujours pas été en mesure de prouver un lien entre un nœud et une transaction et il s’agirait uniquement d’une heuristique de ‘meilleure estimation’. » – Riccardo Spagni
En pratique, l’attaquant aurait dû déployer un plus grand nombre de nœuds pour avoir une chance que son attaque soit efficace.
Il finit par lister l’ensemble des familles de nœuds qui n’auraient pas pu être impactées par cette attaque :
« Cette attaque a été totalement inutile contre quiconque utilise un light node (par exemple, MyMonero), contre toute personne utilisant Tor / i2p pour son nœud, contre toute personne qui utilise son nœud derrière un VPN,ou contre toute personne utilisant pushtx sur un explorateur de blocs Monero pour diffuser ses transactions. Il était également largement inutile pour quiconque utilisant un nœud à distance (par exemple Monerujo ou l’interface graphique). »
Autrement dit, l’attaquant s’est peut-être fait une belle pub, mais n’aura pas réussi à réellement mettre à mal l’anonymat de Monero. Bien essayé !