Cybersécurité

Comment un faux test de codage a permis de dérober 11,8 millions de dollars à une société de crypto-monnaies

Les autorités de Singapour révèlent comment une fausse offre d'emploi sur LinkedIn et un test de codage malveillant ont entraîné une perte de 11,8 millions de dollars en crypto-monnaies via le vol de jetons de session.
Comment un faux test de codage a permis de dérober 11,8 millions de dollars à une société de crypto-monnaies

J'ai reçu un message sur Signal le mois dernier de la part d'un développeur qui a failli tomber dans un piège similaire. Le recruteur avait un profil soigné, un historique de recommandations de noms reconnus dans l'espace Web3, et une description de poste qui offrait une augmentation de salaire de 40 %. Le développeur ne s'est rétracté que parce que l'« évaluation de codage » exigeait qu'il télécharge un environnement personnalisé au lieu d'utiliser un IDE standard basé sur un navigateur. Cette intuition a sauvé son entreprise. D'autres n'ont pas eu cette chance. La police de Singapour et l'Agence de cybersécurité de Singapour ont récemment détaillé une brèche où le désir d'un seul employé pour un meilleur plan de carrière a entraîné une perte de 11,8 millions de dollars US.

Cet incident est un exemple d'école de la manière dont les acteurs malveillants modernes contournent les défenses sophistiquées en ciblant l'élément humain à la périphérie du réseau. Les attaquants n'ont pas cherché de faille « zero-day » dans un pare-feu ou un défaut dans un protocole cryptographique. Ils ont cherché une personne prête à prouver sa valeur technique sur un appareil fourni par l'entreprise. Au moment où le centre des opérations de sécurité a remarqué l'activité inhabituelle, les attaquants étaient déjà passés d'une boîte de réception LinkedIn au cœur de l'infrastructure financière de l'entreprise.

L'accroche psychologique du job de rêve

L'ingénierie sociale réussit parce qu'elle exploite l'ambition professionnelle. La campagne a débuté sur LinkedIn, où un escroc se faisant passer pour un recruteur d'une société de crypto-monnaies a approché la victime. Cette phase consistait à instaurer un climat de confiance et de légitimité. L'attaquant a déplacé la conversation vers les e-mails, en utilisant un domaine usurpé qui imitait l'adresse d'une véritable entreprise. Pour un employé parcourant rapidement sa boîte de réception, une différence d'une seule lettre dans un nom de domaine est presque invisible.

Le processus d'entretien a encore renforcé la tromperie. La victime a participé à plusieurs sessions sur Google Meet. L'interlocuteur gardait sa caméra éteinte, invoquant des problèmes techniques ou de confidentialité, une tactique courante utilisée pour masquer l'identité d'acteurs malveillants opérant depuis des juridictions comme la Corée du Nord. Cette étape est le cheval de Troie numérique. L'objectif est de donner à la victime l'impression d'être dans une évaluation professionnelle à enjeux élevés, ce qui fait baisser sa garde lorsque l'« évaluation technique » arrive.

Quand l'évaluation de codage devient une arme

Lors de l'étape finale du processus de recrutement, la victime a reçu un lien vers un site web usurpé. On lui a demandé d'effectuer une tâche de codage sur son ordinateur portable professionnel. Cette demande est standard dans l'industrie du logiciel, ce qui en fait un mécanisme de distribution idéal pour les charges utiles malveillantes. Pendant que la victime exécutait le code fourni ou installait l'environnement logiciel suggéré, un logiciel malveillant s'exécutait en arrière-plan.

Ce malware spécifique était conçu pour récolter des jetons de session (session tokens). D'un point de vue de la gestion des risques, c'est un scénario cauchemardesque pour tout département informatique. Les jetons de session sont l'équivalent numérique d'un videur de club VIP qui reconnaît votre visage après que vous avez déjà montré votre pièce d'identité. Comme le jeton prouve que l'utilisateur s'est déjà authentifié, l'attaquant n'a pas besoin de connaître le mot de passe ou d'avoir accès à l'appareil MFA physique de la victime. Il lui suffit d'injecter le jeton volé dans son propre navigateur pour hériter de la session active de la victime.

Empoisonnement du pipeline de déploiement logiciel

Une fois que les attaquants ont obtenu le jeton de session, ils ont accédé au compte Bitbucket de la victime. Bitbucket est la « matière noire » d'un environnement de développement ; il est souvent invisible pour le personnel général mais contient la logique de base des activités de l'entreprise. L'accès à un dépôt est une défaillance systémique car il permet aux attaquants de voir comment l'entreprise construit et déploie ses logiciels.

En coulisses, les intrus ont modifié les instructions de déploiement automatique des logiciels. En changeant le code dans le dépôt ou les scripts qui indiquent aux serveurs comment exécuter ce code, les attaquants ont pris pied dans l'infrastructure interne. Ce mouvement latéral leur a permis de passer d'un seul ordinateur portable compromis aux serveurs de production qui gèrent l'argent réel. Dans le cas d'une brèche comme celle-ci, le modèle de confiance de l'ensemble du cycle de vie du développement est brisé. Les attaquants n'étaient plus seulement des invités sur un ordinateur portable ; ils étaient devenus les administrateurs effectifs du code de l'entreprise.

Contournement de la dernière ligne de défense financière

La partie la plus dommageable de l'intrusion s'est produite lorsque les attaquants ont atteint les systèmes utilisés pour traiter les transferts de crypto-monnaies. La plupart des entreprises utilisent des limites de transaction et des vérifications d'approbation par plusieurs personnes comme contre-mesure contre la fraude interne ou les points de défaillance uniques. Cependant, les attaquants ont utilisé les identifiants collectés lors de leur progression dans le réseau pour modifier ces contrôles.

En réécrivant les règles qui régissaient la quantité d'argent pouvant quitter l'entreprise et qui devait l'approuver, les attaquants ont ouvert la voie à des transferts massifs. Les transactions résultantes ont totalisé 11,8 millions de dollars US. Cela met en évidence un paradoxe architectural : même si le périmètre de votre réseau est résilient, votre logique interne reste exploitable si un attaquant peut usurper l'identité d'un utilisateur à hauts privilèges au niveau racine. Les attaquants n'ont pas cassé le chiffrement de la blockchain ; ils ont brisé le processus humain qui gérait les clés.

L'ombre d'activités parrainées par un État

Bien que les autorités singapouriennes n'aient pas officiellement attribué cette attaque spécifique à un groupe particulier, les tactiques sont remarquablement similaires aux campagnes menées par les acteurs malveillants nord-coréens. Des groupes comme UNC4899, également connu sous le nom de TraderTraitor, se concentrent massivement sur les sociétés de crypto-monnaies et de blockchain depuis au moins 2020. Ils sont connus pour approcher les développeurs via LinkedIn et Telegram et les persuader d'exécuter des conteneurs Docker malveillants ou d'installer des « plugins communautaires » pour des applications comme Obsidian.

Lors d'incidents précédents, ces groupes ont utilisé des personas générés par IA pour usurper l'identité de contacts de confiance. Ces campagnes placent les environnements de développement au point de compromission, cherchant des jetons GitHub, des clés SSH et des identifiants cloud. D'un point de vue proactif, il ne s'agit pas d'actes de cybercriminalité aléatoires, mais d'opérations ciblées conçues pour financer des intérêts nationaux. La précision requise pour modifier les pipelines de déploiement et contourner les vérifications de transaction suggère une connaissance approfondie des flux de travail internes des entreprises de crypto-monnaies.

Renforcer le pare-feu humain et technique

Pour éviter que ce désastre de 11,8 millions de dollars ne se reproduise, les entreprises doivent aller au-delà de la formation de base à la sensibilisation à la sécurité. Compter sur un employé pour repérer un domaine usurpé est une stratégie réactive qui finira par échouer. Une approche plus granulaire consiste à sécuriser l'infrastructure de sorte qu'un seul appareil compromis ne puisse pas faire s'effondrer toute l'entreprise.

Premièrement, les entreprises doivent imposer une authentification multi-facteurs basée sur le matériel, comme les clés de sécurité FIDO2. Les jetons de session volés sont beaucoup plus difficiles à utiliser lorsque le système exige un contact physique sur un appareil dédié pour des actions sensibles comme l'accès aux dépôts de code. Deuxièmement, l'accès à Bitbucket et à d'autres outils critiques doit être géré par un provisionnement « Just-in-Time » (JIT). Aucun développeur ne devrait avoir un accès permanent et constant aux pipelines de déploiement en production.

Enfin, toute évaluation technique liée à l'emploi devrait se dérouler dans un environnement « sandbox » (bac à sable) complètement isolé du réseau de l'entreprise. Si un recruteur demande à un candidat d'exécuter du code sur un ordinateur portable professionnel, cela devrait déclencher une alerte immédiate dans le centre des opérations de sécurité. Évaluer la surface d'attaque signifie reconnaître que l'ordinateur portable d'un développeur est souvent la cible la plus précieuse du bâtiment.

Conseils pratiques pour les équipes techniques

  1. Utilisez du matériel dédié, non professionnel, pour toutes les tâches liées au recrutement, y compris les tests de codage et les entretiens.
  2. Mettez en œuvre des politiques strictes de plugins au niveau des applications pour les outils de productivité afin d'empêcher l'exécution de code non autorisé.
  3. Auditez vos journaux d'accès Bitbucket et GitHub pour détecter des signes de détournement de session, tels que des connexions à partir d'adresses IP inattendues utilisant des jetons valides.
  4. Révoquez immédiatement les sessions actives si un employé signale un comportement suspect lors d'une interaction externe.
  5. Renforcez les contrôles de transactions internes en exigeant des approbations à partir d'appareils physiquement séparés du réseau de développement.

Sources : Singapore Police Force (SPF), Cyber Security Agency of Singapore (CSA), Google Cloud Mandiant (UNC4899 Report), MITRE ATT&CK Framework.

Avertissement : Cet article est fourni à des fins d'information et d'éducation uniquement et ne remplace pas un audit de cybersécurité professionnel ou un service de réponse aux incidents.

bg
bg
bg

On se retrouve de l'autre côté.

Notre solution de messagerie cryptée de bout en bout et de stockage en nuage constitue le moyen le plus puissant d'échanger des données en toute sécurité, garantissant ainsi la sûreté et la confidentialité de vos données.

/ Créer un compte gratuit