Vue normale
-
Les news de Korben
- 5 ans de prison pour avoir codé un portefeuille Bitcoin un peu trop respectueux de la vie privée
5 ans de prison pour avoir codé un portefeuille Bitcoin un peu trop respectueux de la vie privée
Keonne Rodriguez, le développeur derrière Samourai Wallet, vient de se prendre 5 ans de taule pour avoir créé un portefeuille Bitcoin qui protégeait un peu trop bien l'anonymat de ses utilisateurs.
Samourai Wallet, c'était un portefeuille Bitcoin open source lancé en 2015 avec comme promesse de permettre aux gens d'utiliser leurs bitcoins sans que le monde entier puisse tracer chacune de leurs transactions. Le truc utilisait une technique appelée le "coin mixing" qui, pour faire simple, mélange les transactions de plusieurs personnes pour brouiller les pistes et rendre le traçage quasi impossible.
Grave erreur car ça les États n'aiment pas !
Et voilà pourquoi en avril 2024, le FBI a débarqué chez Rodriguez à 6h du matin, arme au poing, devant sa femme et ses enfants. L'accusation ? Blanchiment d'argent et exploitation d'une entreprise de transmission monétaire non autorisée. Le Département de la Justice américain affirme que plus de 237 millions de dollars de "produits criminels" seraient passés par Samourai, provenant selon eux du trafic de drogue, de marchés du darknet, de fraudes diverses et même d'un site pédopornographique.
Rodriguez maintient qu'il a juste créé un logiciel, point. Dans l'interview ci-dessous accordée à Reason Magazine juste avant son incarcération ce 19 décembre, il explique qu'il n'a jamais eu accès aux fonds des utilisateurs et qu'il ne savait pas qui utilisait son outil ni pourquoi.
Sauf que le gouvernement américain voit pas les choses comme ça et pour eux, proposer un service qui rend les transactions Bitcoin intraçables, c'est forcément faciliter le crime. Peu importe que la plupart des gens voulaient juste protéger leur vie financière des regards indiscrets. Comme le dit Rodriguez : "Si vous dites que la vie privée financière est un crime, alors vous dites que la liberté est un crime."
Aussi, le dossier d'accusation contient des éléments qui vont au-delà du simple "j'ai codé un logiciel". D'abord, Samourai n'était pas qu'un bout de code open source tournant en local puisque l'équipe opérait des serveurs centralisés indispensables au fonctionnement du mixing et collectait des frais sur chaque transaction (environ 4,5 millions de dollars au total). Ensuite, certaines communications publiques des fondateurs étaient... comment dire... pas très smart. Par exemple, en juin 2022, après l'invasion de l'Ukraine et les sanctions internationales, le compte Twitter de Samourai (géré par Rodriguez) postait un message accueillant explicitement les oligarques russes cherchant à contourner les sanctions. Et quand Europol a identifié Samourai comme une "top threat", Hill a répondu de manière provocante en mode "venez nous chercher". Des documents marketing internes destinés aux investisseurs ciblaient même explicitement les "Dark/Grey Market participants".
Bref, la défense "j'ai juste écrit du code innocent" est un peu plus compliquée à tenir quand on tweete qu'on accueille les fraudeurs fiscaux russes à bras ouverts.
Ce qui pose quand même question, c'est le précédent. Où trace-t-on la ligne entre un outil de privacy légitime et une infrastructure criminelle ? Rodriguez n'a pas volé d'argent directement, mais il a opéré un service qui facilitait sciemment le blanchiment, tout en étant rémunéré pour ça. C'est différent de Tor ou Signal, dont les créateurs ne collectent pas de frais sur chaque utilisation et ne font pas de com' pour attirer les criminels.
Son avocat a bien évidemment tenté de négocier une peine plus légère en invoquant l'absence d'antécédents criminels et le fait qu'il soit père de famille, mais le juge a choisi d'appliquer le maximum prévu. William Hill, le cofondateur et CTO de Samourai, a lui aussi écopé de 4 ans pour les mêmes charges.
Après y'a quand même une lueur d'espoir pour lui car Trump a récemment laissé entendre qu'il pourrait examiner le dossier pour une éventuelle grâce présidentielle. Rodriguez reste optimiste là-dessus, même s'il sait que ça peut prendre du temps...
Bref, l'affaire Samourai Wallet n'est probablement pas le meilleur étendard pour défendre la vie privée financière car même si les outils de privacy sont légitimes et nécessaires, quand on opère une infrastructure centralisée, qu'on collecte des millions en frais, et qu'on fait ouvertement de la pub pour attirer les criminels... faut pas s'étonner que ça finisse mal...
Article mis à jour le 21 décembre pour y intégrer le dossier d'accusation à côté duquel j'étais totalement passé. Toutes mes excuses pour ça et merci au gentil lecteur qui m'a averti par mail de son existence.

Enregistrement de vidéo à la demande avec Xephyr et PulseAudio
Sommaire
- Description du besoin
- Élements de solution
- Partie graphique : Xephyr
- Partie son : PiweWire
- Lecture vidéo
- Ffmpeg
- Post-production
La copie privée a l'honneur de figurer parmi les sujets qui me tiennent à cœur. Concrètement, dans la mesure où, comme tout le monde en France je paie pour bénéficier de ce droit, je ne me prive pas de télécharger ce qui est disponible sur YouTube, et d'enregistrer aussi bien les CD et DVD que j'emprunte à la bibliothèque de ma ville, ainsi que les films en ligne dont je bénéficie grâce à cette même bibliothèque.
Pour ceux que cela intéresserait, je détaillerai un peu plus les aspects légaux de cette pratique dans un commentaire dédié. Ce journal a plutôt vocation à présenter ma technique d'enregistrement de vidéo à la demande DRMisée.
Description du besoin
J'ai donc accès à un film, en l'occurrence sur Arte VOD, mais ça pourrait être sur n'importe quelle plate-forme. Si les distributeurs perçoivent la redevance pour copie privée, en revanche ils n'apprécient pas du tout que leurs utilisateurs exercent le droit correspondant. Les vidéos sont donc verrouillées, de sorte qu'on ne peut pas simplement les télécharger. Même VideoDownloadHelper échoue à cela. En revanche, la lecture se déroule sans problème avec Firefox équipe d'un module Widevine, ou un truc comme ça. Bref, ça marche, du coup on peut au moins enregistrer l'image et le son, le seul inconvénient étant que ça implique de recoder les flux.
Ajoutons quelques critères supplémentaires :
- Pendant que ça enregistre, je voudrais pouvoir faire autre chose avec mon ordinateur. Y compris le laisser passer en verrouillage d'écran, sans que ça interrompe la capture vidéo.
- Je voudrais aussi que les éventuels sons émis par mes autres activités ne viennent pas polluer la capture de la bande son.
- Tant qu'à faire, j'aimerais faire une capture vidéo sans la moindre interpolation, c'est à dire que si la vidéo streamée fait 1280×720, je voudrais l'enregistrer avec exactement cette résolution.
Élements de solution
Xephyr, PulseAudio ou PipeWire module-null-sink et ffmpeg !
Xephyr est un serveur X11 dont l'écran est une fenêtre dans votre affichage X11 actuel. Cela va permettre d'y lancer la lecture vidéo et de capturer cet affichage. À noter qu'on peut très facilement lancer de façon semblable un compositeur Wayland dans une fenêtre, mais que l'enregistrement d'un affichage Wayland est moins bien supporté : je m'en tiendrai donc à Xephyr.
PulseAudio est un serveur de son ; PipeWire est son successeur, qui l'a désormais remplacé sur la plupart des distributions. Parmi leurs sorties sons, il y a notamment un module-null-sink, qui absorbe et jette le son qu'on lui envoie tout en fournissant un « moniteur », c'est à dire une entrée sur laquelle on peut récupérer – et enregistrer – tout ce qu'il reçoit. À noter qu'avec PipeWire, ce genre d'artifice n'est même pas nécessaire puisqu'il permet carrément d'enregistrer directement le son émis par un logiciel indépendamment de toute sortie son. Sauf que l'enregistrement PipeWire, c'est également moins bien supporté : je m'en tiendrai donc à la technique module-null-sink.
Partie graphique : Xephyr
Ça se lance comme ça :
Xephyr :2 -screen 1280x720
Bon, là, vous le lancez sans aucun client dedans. Ça suffirait pour y lancer un navigateur, mais ça ne va pas permettre de lancer une lecture en plein écran. Il faut un gestionnaire de fenêtres : personnellement, j'ai choisi i3, que j'utilisais avant de passer à Wayland. Mais vous pouvez lancer un Gnome entier si ça vous chante :
xinit /usr/bin/i3 -- /usr/bin/Xephyr :2 -screen 1280x720
On peut aussi ajouter quelques extensions à Xephyr, par exemple pour pouvoir régler la disposition du clavier, permettre le redimensionnement de sa fenêtre-écran, de quoi le faire avec XRandR, activer la sécurité X11 (éviter que n'importe qui sur votre ordinateur puisse faire n'importe quoi sur ce Xephyr). On pourra en discuter en commentaire.
Partie son : PiweWire
Il y a un client PipeWire qui devrait permettre de charger ou décharger un module. Sauf que la peinture n'est visiblement pas encore sèche, ça ne marche pas :
pw-cli
>> load-module null-sink
Error: "Could not load module"
>> load-module module-null-sink
Error: "Could not load module"
>> load-module pulseaudio-module-null-sink
Error: "Could not load module"
>> unload-module
Error: "Command "unload-module" not yet implemented"
Heureusement, PipeWire est largement compatible avec le protocole de PulseAudio, en fait la plupart des usages utilisent cette compatibilité. Le chargement et déchargement de modules aussi, visiblement. En tout cas, ça marche :
pactl load-module module-null-sink
536870913
Notez le numéro que cela vous a renvoyé : c'est l'identifiant du module chargé, qui servira pour le décharger ensuite. Enfin, si vous souhaitez le décharger : personnellement, je ne vois pas l'intérêt, j'aurais plutôt tendance à le laisser en permanence, ça peut toujours servir.
Pour info, ça a demandé au serveur PulseAudio, qui est en fait un PipeWire, de charger ce module. C'est donc un module PipeWire qui vient d'être chargé. Mais peu importe, il est d'ores et déjà utilisable, c'est à dire que n'importe quel logiciel produisant du son peut désormais l'envoyer vers cette sortie virtuelle qui ne fait rien.
Lecture vidéo
Maintenant, pour enregistrer une vidéo à la demande, il va falloir la lancer. Vous pouvez lancer un navigateur depuis l'intérieur de votre Xephyr, ou depuis l'extérieur, ainsi :
DISPLAY=:2 firefox
Firefox est un peu casse-pied avec sa mutualisation d'exécution, concrètement, si vous avez déjà un Firefox lancé, vous n'allez pas pouvoir lancer une nouvelle fenêtre dans ce nouvel affichage X11. Il faut passer par un profil, et si vous faites ça, vous perdez au passage la possibilité d'ouvrir des liens depuis d'autres applications. Bref, personnellement, je lance plutôt un Chromium pour l'occasion, histoire qu'il n'interfère pas avec mon usage courant de Firefox.
À noter que si votre environnement principal est une session Wayland, il va d'abord vous falloir effacer les variables d'environnement qui permettraient au navigateur de savoir qu'il y a un serveur Wayland disponible :
unset XDG_CURRENT_DESKTOP
unset XDG_SESSION_TYPE
unset WAYLAND_DISPLAY
DISPLAY=:2 chromium
Ensuite, naviguez jusqu'au site de VOD et lancez la lecture, passez-la en plein écran pour vérifier que ça prend bien toute la place dans la fenêtre Xephyr. Il reste encore à envoyer le son sur la sortie nulle : vous pouvez faire ça avec l'outil pavucontrol, lancé depuis l'extérieur de Xephyr (ou depuis l'intérieur, peu importe en fait, c'est pour contrôler PulseAudio, ou plutôt contrôler PipeWire comme si c'était un PulseAudio, ce qui n'est pas lié à l'affichage).
Ffmpeg
Voilà, on va pouvoir enregistrer tout ça avec Ffmpeg, qui dispose de modules pour enregistrer un affichage X11 et une entrée PulseAudio. Ça donne quelque chose comme ça, qu'on peut lancer depuis l'éxtérieur de Xephyr :
ffmpeg -f x11grab -i :2 -f pulse -i null-sink.monitor \
-c:a libopus -b 128k\
-c:v libsvtav1 -preset 7 -crf 32 \
enregistrement.mkv
On peut également limiter la capture à une portion de l'écran virtuel de Xephyr. Je vous laisse regarder la documentation à ce sujet. Pareil pour les codecs et leurs options. Reste à remettre la lecture au début de la vidéo, et à attendre que ça lise jusqu'au bout en vaquant à ses activités. À la fin, il suffit d'interrompre Ffmpeg avec un simple Ctrl + C.
L'avantage d'utiliser Xephyr et module-null-sink, c'est que vous pouvez faire ce que vous voulez à côté, ça n'interférera pas avec la lecture et l'enregistrement. Enfin, tant que vous ne vous amusez pas à lancer des trucs sur l'affichage X11 :2 ou à envoyer du son sur la sortie nulle, évidemment.
Post-production
Si vous avez bien choisi la taille de l'écran de Xephyr, ou la portion de cet écran capturée par Ffmpeg, vous n'avez par besoin de rogner la vidéo. En revanche, il faut couper correctement le début et la fin. Ça peut se faire avec mkvmerge :
mkvmerge -o recoupé.mkv --split parts:0:00:02-1:38:49 enregistrement.mkv
Commentaires : voir le flux Atom ouvrir dans le navigateur
Quand l'IA écoute et analyse les appels de millions de détenus américains
Securus Technologies , le géant des télécoms pénitentiaires (il en faut…), vient de déployer un système d’intelligence artificielle destiné à analyser automatiquement les communications des détenus. Quand je dis communications, on parle des appels téléphoniques, des messages, des emails, voire des appels vidéo et le but c’est de repérer des conversations où des crimes pourraient être envisagés ou planifiés, puis signaler ces passages à des agents humains.
Le modèle a notamment été entraîné sur 7 années d’appels du système pénitentiaire du Texas et comme Securus est l’un des plus gros fournisseurs du pays, son IA s’appuie sur un volume colossal de données captées dans les prisons, et autres centres de détention ICE. Les détenus, qui n’ont généralement aucune alternative pour parler à leurs proches, sont bien sûr prévenus que leurs communications sont enregistrées… mais pas forcément que ces enregistrements servent aussi à entraîner des modèles d’IA…
Pour les associations de défense des droits, c’est donc un problème très grave puisque pour communiquer avec sa famille, il faut forcement passer par ces outils, qu’on le veuille ou non, et souvent en payant. L’ACLU rappelle d’ailleurs que Securus s’est déjà fait épingler par le passé pour avoir enregistré des milliers d’appels entre détenus et avocats alors qu’ils n’en ont pas du tout le droit.
Et Securus n’est pas seul puisque LEO Technologies pousse son propre système d’analyse, Verus , déjà déployé dans des dizaines d’établissements répartis sur une dizaine d’États. Leur argument marketing c’est de détecter plus vite les menaces ou les incidents. Et dans sa grande bonté, la Floride leur a même attribué un contrat de plusieurs millions de dollars, et l’État de New York est aussi client. Bref, c’est un marché bien juteux !
Et du côté de la régulation, il y a une réforme de la FCC sortie en 2024 qui normalement, devait empêcher les entreprises de répercuter les coûts de surveillance sur les détenus et leurs familles. Mais sous la direction de Brendan Carr, nommé à la FCC sous Trump, ces protections ont été suspendues, puis partiellement annulées à la fin de cette année… Du coup, les entreprises peuvent de nouveau facturer aux détenus une partie des coûts liés à l’enregistrement, au stockage et même au développement de systèmes comme cette IA.
Ces décisions ont donc été critiquées par plusieurs organisations de défense des droits, qui estiment que la surveillance devient non seulement plus intrusive, mais aussi plus coûteuse pour des familles déjà fragilisées.
Bref, on se retrouve face à un cocktail bien connu avec d’un côté, une population captive sans alternative, des entreprises privées qui disposent de volumes gigantesques de données, et une surveillance algorithmique qui s’étend, et de l’autre, une régulation qui recule à fond la caisse.
Et tout ça se passe dans l’indifférence générale, parce que ce sont “juste” des prisonniers…

Des outils de formatage de code ont exposé des milliers de mots de passe
Bon, j’étais un petit peu occupé aujourd’hui parce que c’est mercredi et c’est le jour des enfants, mais je ne pouvais pas finir ma journée sans vous parler de cette histoire incroyable.
Si vous faites partie des gens qui utilisent des sites comme JSONFormatter ou CodeBeautify pour rendre votre JSON lisible ou reformater du code, et bien figurez-vous que des chercheurs en sécu viennent de découvrir que ces outils ont laissé fuiter des tonnes de données sensibles durant des années. Et quand je dis tonnes, c’est pas une figure de style puisque ce sont plus de 80 000 extraits de code contenant des credentials en clair qui ont fuité, soit plus de 5 Go de données.
En effet, les chercheurs de WatchTowr ont découvert que la fonction “Recent Links” de ces plateformes permettait d’accéder à tous les bouts de code collés par les utilisateurs. Les URLs suivaient un format prévisible, ce qui rendait le scraping automatique hyper fastoche pour n’importe qui, et c’est comme ça qu’on a découvert que JSONFormatter a exposé durant 5 ans de données les données de ses utilisateurs. Et du côté de CodeBeautify, ça a duré 1 an.
Les chercheurs ont mis la main sur des identifiants Active Directory, des identifiants de bases de données et services cloud, des clés privées de chiffrement, des tokens d’accès à des repos Git, des secrets de pipelines CI/CD, des clés de passerelles de paiement, des tokens API en pagaille, des enregistrements de sessions SSH, et même des données personnelles de type KYC. Bref, le jackpot pour un attaquant, quoi.
Et côté victimes, c’est un festival puisqu’on y retrouve des agences gouvernementales, des banques, des assurances, des boîtes d’aéronautique, des hôpitaux, des universités, des opérateurs télécom… et même une entreprise de cybersécurité. On a même retrouvé les credentials AWS d’une bourse internationale utilisés pour leur système Splunk, ainsi que des identifiants bancaires provenant de communications d’onboarding d’un MSSP (Managed Security Service Provider). C’est cocasse comme dirait Macron.
Et pour prouver que le problème était bien réel et exploitable, les chercheurs de WatchTowr ont utilisé un service appelé Canarytokens dont je vous ai déjà parlé. Ils ont implanté de faux identifiants AWS sur les plateformes et ont attendu de voir si quelqu’un y accédait…
Résultat, quelqu’un a tenté de les utiliser 48 heures après que les liens étaient censés avoir expiré, et 24 heures après leur suppression supposée. Les données restaient donc accessibles bien au-delà de ce que les utilisateurs pouvaient imaginer.
Et le pire dans tout ça c’est qu’au moment de la publication des articles, les liens “Recent Links” étaient toujours accessibles publiquement sur les deux plateformes. Bref, aucune correction n’a été déployée.
Donc, voilà, si vous avez utilisé ces outils par le passé et que vous y avez collé du code contenant des identifiants et autres clés API (même par inadvertance), c’est le moment de faire une petite rotation de vos secrets.
Et même si c’est une évidence, de manière générale, évitez de balancer du code sensible sur des outils en ligne dont vous ne maîtrisez pas la politique de conservation des données.
