1 points par GN⁺ 2024-10-18 | 1 commentaires | Partager sur WhatsApp
  • Invex Gaming a exploité des serveurs communautaires CSGO en Australie et en Nouvelle-Zélande de 2014 à 2019, et l’évitement répété des bans alourdissait fortement la charge de revue manuelle des démos pour les administrateurs
  • Les bans existants suivaient surtout l’adresse IP et le Steam ID, mais si un tricheur changeait les deux en même temps, le serveur avait du mal à vérifier qu’il s’agissait du même joueur
  • IdentityLogger utilisait les cookies persistants du navigateur VGUI intégré à CSGO pour stocker un Tracking ID, puis employait l’adresse IP, le Steam ID et le Tracking ID ensemble comme empreinte
  • Après son déploiement sur tous les serveurs en février 2017, même les joueurs ayant changé à la fois leur Steam ID et leur adresse IP étaient réidentifiés via le Tracking ID et bannis immédiatement
  • Cette méthode a fonctionné jusqu’au retrait du navigateur VGUI par Valve en octobre 2017 pour renforcer la sécurité, après quoi la technique et le plugin ont été rendus publics

Exploitation d’Invex Gaming et charge liée à la lutte contre la triche

  • Invex Gaming était un serveur communautaire CSGO basé en Australie et en Nouvelle-Zélande, exploité de 2014 à 2019
  • Les tâches d’exploitation couvraient les forums, la maintenance de l’infrastructure serveur, la gestion des coûts et des dons, l’ajout de modèles de joueurs, la correction des hitboxes, l’automatisation du système VIP, l’écriture de plugins personnalisés, les correctifs d’exploits et de bugs du jeu, la défense contre les DDoS et le traitement des signalements
  • Parmi elles, l’identification et le bannissement répétés des tricheurs étaient de loin la tâche la plus monotone et la plus épuisante
  • Pour la détection automatique, il existait du code côté serveur et des approches comme Valve Anti-Cheat, mais en raison du cycle permanent entre développeurs de cheats et développeurs d’anti-cheat, il était difficile de détecter automatiquement tous les cheats
  • En dernier recours, il fallait donc passer par l’analyse manuelle des démos CSGO, les administrateurs devant juger eux-mêmes si un joueur trichait

Là où les bans par adresse IP et Steam ID échouent

  • Un ban classique consiste à stocker des informations identifiables afin de bloquer l’accès à un service
  • Les serveurs d’Invex Gaming utilisaient principalement deux identifiants
    • Adresse IP : identifiant Internet attribué par un FAI ou un hébergeur
    • Steam ID : identifiant unique lié à un compte Steam
  • Lorsqu’un joueur était banni, son adresse IP et son Steam ID étaient enregistrés dans la liste des bans, puis toute tentative ultérieure avec la même adresse IP ou le même Steam ID entraînait son expulsion du serveur
  • Si quelqu’un revenait avec un nouveau Steam ID mais la même adresse IP, il était possible de rattacher ce nouveau Steam ID au ban existant et de le rebannir
  • Même chose si seule l’adresse IP changeait mais que le même Steam ID était utilisé : la nouvelle adresse IP était associée au ban existant
  • Le problème apparaissait lorsqu’un tricheur changeait simultanément de Steam ID et d’adresse IP
    • Du point de vue du serveur, il s’agissait d’une combinaison jamais vue d’adresse IP et de Steam ID
    • Il n’existait alors aucun moyen de la relier au ban précédent, ce qui lui permettait de rejouer
    • Même après un nouveau ban, il pouvait continuer à l’éviter en changeant à chaque fois les deux identifiants
  • La possibilité de maintenir une liste de VPN populaires et des adresses IP associées a aussi été étudiée, mais l’équipe d’exploitation ne l’appréciait pas en raison de la charge de maintenance continue
  • Une analyse ultérieure a montré que le tricheur le plus notoire avait accès à des adresses IP géographiquement dispersées ainsi qu’à plus de 87 comptes Steam ayant acheté CSGO

Les risques de faux positifs créés par l’empreinte d’adresse IP

  • Le Steam ID identifie un joueur de manière unique, mais une adresse IP n’est pas un identifiant unique
  • Si deux frères se connectaient au serveur depuis le même foyer et qu’un seul trichait, leurs empreintes pouvaient se retrouver mêlées à cause de la même adresse IP, menant au ban des deux
  • Le problème existait aussi sur des réseaux partagés, comme une université, où tout le trafic externe sort via une seule adresse IP
    • Une personne est bannie pour triche depuis le réseau du campus
    • Le Steam ID d’un autre joueur utilisant le même réseau peut alors être relié à ce ban, ainsi que son adresse IP domestique, et être injustement banni
  • Invex Gaming avait mis en place un système d’exceptions pour ces cas rares et recommandait de ne pas jouer depuis des réseaux non fiables

Utiliser les cookies du navigateur VGUI comme troisième identifiant

  • Début 2017, le problème d’évitement des bans sur les serveurs s’est fortement aggravé, obligeant les administrateurs à continuer de revoir manuellement les démos
  • L’enjeu central était d’identifier un même joueur même lorsque son Steam ID et son adresse IP changeaient simultanément
  • CSGO disposait d’un navigateur web intégré permettant aux opérateurs de serveur d’afficher un MOTD à la connexion, appelé navigateur VGUI
  • Ce navigateur VGUI permettait aux opérateurs de serveur d’ouvrir n’importe quel site web sur l’écran du joueur, avec la possibilité de masquer la fenêtre
  • Le navigateur était préauthentifié via les cookies Steam, pouvait être automatiquement connecté aux domaines Steam et autorisait aussi l’exécution côté client du JavaScript envoyé par l’opérateur du serveur
  • Le point clé d’IdentityLogger était que le navigateur VGUI prenait en charge les cookies et les conservait entre les sessions
    • Les tests ont montré qu’un cookie enregistré par le navigateur VGUI restait présent même après avoir quitté puis relancé CSGO
    • Il ne semblait pas y avoir de limite réelle sur la date d’expiration, et des cookies expirant dans plus de 10 ans pouvaient être enregistrés
    • Les données des cookies étaient stockées dans un fichier du répertoire d’installation Steam du joueur
  • Cette méthode permettait d’attribuer à chaque joueur un troisième identifiant appelé Tracking ID
  • Pour apparaître comme un nouveau joueur, il fallait alors changer à la fois de Steam ID, d’adresse IP et de dossier d’installation Steam, et l’équipe estimait qu’aucun joueur n’irait jusqu’à modifier aussi son dossier d’installation Steam

Fonctionnement d’IdentityLogger

  • IdentityLogger est un système unifié d’empreinte des joueurs basé sur l’adresse IP, le Steam ID et le Tracking ID
  • Lorsqu’un joueur se connecte au serveur, un contrôle de ban est d’abord effectué dans la base de données
    • L’adresse IP, le Steam ID et le Tracking ID sont vérifiés
    • Si un ban existant est trouvé, le joueur est expulsé du serveur et le nouvel identifiant est rattaché au ban existant
  • Pour les joueurs non bannis, le serveur ouvre une page web secrète dans une fenêtre VGUI masquée
  • La requête incluait une valeur secrète pour l’authentification et, même si la requête VGUI était générée côté client, le trafic était chiffré en HTTPS
  • Un script PHP vérifie si un cookie Tracking ID existe déjà
    • S’il n’existe pas, un nouveau Tracking ID est généré et enregistré
    • Le Tracking ID est une chaîne alphanumérique aléatoire de 64 caractères comme TeStsCOhZO1TQsumJkDUOdMMo13ReRLEngrQTg7S49LKT2rBvgPhauzSYbegscOT
    • Le cookie est finalement stocké dans le fichier vgui.browser.cookies.dat du répertoire d’installation Steam du joueur
  • Le Steam ID, l’adresse IP et le Tracking ID sont enregistrés dans la base de données à chaque connexion du joueur au serveur
  • Cette base de données était intégrée à un panneau web permettant aux administrateurs d’examiner les empreintes des joueurs, ainsi qu’à un plugin SourceBans modifié, basé sur un logiciel de gestion des bans pour les jeux utilisant Source

Comment le système empêchait l’évitement des bans

  • Par exemple, si un joueur se connecte d’abord avec l’adresse IP 198.51.100.1 et le Steam ID STEAM_1:1:1111, un Tracking ID est créé
  • Si ce joueur est ensuite banni pour triche, l’adresse IP, le Steam ID et le Tracking ID sont tous ajoutés à la base de données des bans
  • Plus tard, si ce même joueur se connecte avec l’adresse IP 100.64.50.74 et le Steam ID STEAM_1:1:3333, la nouvelle adresse IP et le nouveau Steam ID passent le contrôle de ban initial
  • Mais le Tracking ID déjà enregistré est relié au ban précédent, ce qui empêche de passer la vérification
  • Le système rebannit alors immédiatement le joueur et rattache la nouvelle adresse IP et le nouveau Steam ID au ban existant
  • Par la suite, quel que soit l’adresse IP ou le Steam ID utilisés, ce joueur est banni dès la connexion à cause du même Tracking ID

Résultats du déploiement en 2017 et publication

  • Après les tests, Invex Gaming a déployé IdentityLogger sur tous ses serveurs CSGO en février 2017
  • Juste après le déploiement, le nombre de tricheurs bannis a fortement augmenté
  • Il est aussi apparu que certains membres de confiance de longue date de la communauté trichaient sur des comptes secrets
  • Certains tricheurs ont même demandé directement pourquoi ils avaient été détectés pour évitement de ban alors qu’ils avaient changé de Steam ID et d’adresse IP
  • D’autres opérateurs de serveurs ont également manifesté de l’intérêt pour le plugin, certains allant jusqu’à proposer de l’argent
  • Comme la technique aurait pu être contournée simplement en supprimant le fichier de cookies si elle avait été largement connue, son implémentation est restée secrète au sein de l’équipe d’administration
  • Cette méthode a continué de fonctionner jusqu’au retrait complet du navigateur VGUI par Valve en octobre 2017, dans le cadre d’un renforcement de la sécurité du jeu
  • Après la suppression du navigateur VGUI, la technique a été rendue publique et le plugin a lui aussi été publié en open source

1 commentaires

 
GN⁺ 2024-10-18
Commentaires sur Hacker News
  • Dans UT2004, on peut bannir des joueurs par GUID (hachage de clé CD) ou par IP, mais après qu’Epic a abandonné le jeu, les générateurs de clés se sont multipliés, rendant les bannissements par GUID inefficaces, et aujourd’hui les VPN coûtent 2 dollars, donc les bannissements IP ont aussi leurs limites
    La principale solution utilisée actuellement consiste à combiner les bannissements IP avec un blocage des VPN en injectant dans le pare-feu toute une base de données de sous-réseaux VPN connus, ainsi qu’une technique d’empreinte similaire qui parcourt la structure de certains dossiers système

    • Si le problème est que « les VPN limitent l’efficacité des bannissements IP », alors https://redman.xyz/doku.php/schachtmeister2 a justement été conçu pour bloquer ce type de personnes
      Il a été créé pour Tremulous (un fork d’ioquake3) parce que les gens contournaient sans cesse les bannissements IP, mais il peut aussi servir pour d’autres jeux. Ce n’est pas mon projet, mais je connais son auteur, et s’il y a de la demande, on pourrait le forker et l’adapter à un jeu précis ou à un usage plus générique
      schachtmeister2 peut aussi utiliser des heuristiques comme whois -10 "Hosting", whois -13 "VPN", whois +7 "residential"
      P.-S. : en voyant que le dépôt Git renvoyait une 502, j’ai contacté l’administrateur
    • Ce serait bien si je pouvais aider à la maintenance d’UT2004. J’adore vraiment ce jeu
      Je n’y joue plus en ligne parce que je n’ai plus le niveau, mais quand il me reste 30 minutes, faire rapidement une partie contre l’IA est toujours amusant
    • Il arrive aussi que des cheaters débarquent sur le serveur Counter-Strike 1.6 que j’aide à administrer, et étonnamment il y a beaucoup de « ragehackers » qui ne cherchent même pas à se cacher, du genre à aligner des headshots de sniper sans lunette en plein saut
      Le propriétaire du serveur autorise les connexions avec des comptes non-Steam (versions piratées), donc on ne peut pas s’appuyer sur les bannissements par SteamID comme avec les GUID d’Unreal. Changer un faux ID est probablement un peu pénible car ça se trouve quelque part au fond du dossier d’installation, mais c’est faisable. Le jeu reste assez populaire en Afrique du Nord, dans les anciens pays baltes et les régions alentour, ainsi qu’en Asie du Nord et de l’Ouest, donc sans ces joueurs le serveur serait vide
      Du coup, on utilise à la fois la carotte et le bâton. Les joueurs Steam obtiennent presque instantanément le rechargement, sont exemptés de certaines fonctions automatiques un peu agressives de modération/kick, et reçoivent un pseudo réservé avec un tag « VIP ». En gros, pour le prix de quelques clés VPN, ils obtiennent un avantage légitime et la propriété du jeu, avec un coût unique qui va directement au développeur. Sinon, on peut aussi l’obtenir gratuitement en jouant au moins une partie par semaine pendant 5 semaines et en contactant l’équipe via les réseaux sociaux
      Côté bâton, au lieu de simplement kick ou bannir, on cherche à bien montrer qu’ils ne sont pas les bienvenus en les rendant volontairement pénibles, pour qu’ils n’aient pas envie de revenir. On peut les désarmer et leur donner l’arme la plus nulle, les téléporter aléatoirement hors de la carte ou coincés dans le sol, lancer amx_rocket en boucle pour faire un feu d’artifice, utiliser amx_drug pour pousser au maximum l’angle de vue et leur donner un effet d’ivresse, ou les traiter de loser sans skill qui a besoin qu’une IA joue à sa place pour s’amuser
      Il existe aussi des plugins amx et des commandes considérés comme « illégaux », qu’on évite en général à cause du risque d’abus, mais qui sont utiles dans ce genre de situation. En particulier, amx_exec est assez effrayant, car il permet à un admin d’accéder directement à la console en jeu du client pour exécuter des commandes ou changer des réglages arbitraires
      Par exemple, avec des commandes comme rate 1000, name iCaNtAiM, unbind all, bind y quit, fps_max 50, on peut saboter leur débit réseau, changer leur nom, effacer leurs raccourcis clavier, lier la touche de chat par défaut à la fermeture du jeu, et baisser le FPS maximal à un niveau pas immédiatement visible mais suffisamment agaçant. Revenir aux valeurs par défaut est facile en supprimant le fichier de configuration, mais sans sauvegarde cela peut être très frustrant
      Fait intéressant, beaucoup de serveurs vendent des avantages VIP jusqu’à 20 dollars par mois. Au début, ça m’a choqué, mais j’ai découvert qu’il existe une sorte de cartel opaque où il faut payer assez cher pour être mis en avant à une position correcte dans les navigateurs de serveurs tiers, et qu’une grande partie des revenus part dans ces « boosts »
      Quand le propriétaire de notre serveur a arrêté de payer les « boosts » pendant deux mois, le nombre moyen de joueurs est tombé de 14/32 à 3/32, et le pic habituel du week-end, qui montait souvent à 28/32, est devenu au mieux 12/32 un vendredi soir avec un peu de chance. Dès qu’il a recommencé à payer, le nombre de joueurs est reparti à la hausse, et le plus fou, c’est que ça coûte 180 dollars par mois
      Avant de participer à l’exploitation du serveur, je pensais qu’un deathmatch amusant, une bonne modération, une faible latence, un serveur performant et le fait d’être dédié à un remake/remix de la deuxième carte la plus populaire du jeu suffiraient à le rendre populaire. Mais pour être visible de la plupart des joueurs, il semble qu’il faille payer un prix excessif aux gardiens déjà en place
    • Je ne comprends pas pourquoi le bannissement des cheaters est un problème si compliqué. Au lieu de les bannir, il suffirait de les marquer comme cheaters en arrière-plan et de ne les laisser entrer que sur des serveurs réservés aux cheaters ; ils arrêteraient vite
      C’est comparable au fait d’annoncer à un scraper web que son IP a été bloquée : une telle stratégie ne rapporte rien. Mieux vaut marquer l’IP du scraper en arrière-plan et ne lui servir que des données poubelles mélangées aléatoirement dans la page
      À mon avis, la détection de cheat devrait fonctionner pareil. Bannir ne fait que faire perdre un avantage stratégique, et changer d’IP, de clé CD ou de compte n’est qu’un désagrément mineur pour un cheater
    • Cette méthode reste contournable par les cheaters qui utilisent le partage de connexion mobile et des proxys. Je me demande si vous avez envisagé une analyse réseau plus avancée
      C’est un domaine qui m’intéresse à la fois professionnellement et personnellement, donc si vous avez besoin de suggestions, je peux aider
  • J’aime que l’auteur ait utilisé une adresse TEST-NET-2 de la RFC5737 comme exemple d’adresse IPv4 : « An example of an IPv4 IP address is 198.51.100.1. »
    https://www.rfc-editor.org/rfc/rfc5737

    • J’aime beaucoup l’usage d’identifiants réservés pour les exemples. J’utilise toujours des IP TEST-NET-2 et example.com dans la documentation
    • Ce qui est intéressant, c’est quand des documents utilisent une adresse réservée avec une faute de frappe. Par exemple 189.51.100.1 ou 198.15.100.1, et il existe effectivement plusieurs RFC avec ce genre d’erreur
  • J’aimerais vraiment, un jour dans ma carrière, travailler sur un anti-cheat uniquement côté serveur. Ce genre de course aux armements adverse a l’air vraiment passionnant à creuser longtemps et en profondeur.

    • Le problème, c’est que beaucoup d’entreprises ne veulent pas en payer le coût. C’est un « travail de tapis roulant » : peu importe combien de personnes et d’argent on y met, on revient toujours au point de départ
      C’est une bataille perdue d’avance, parce qu’il y a bien plus de joueurs que de développeurs.
    • C’est le domaine sur lequel je travaille en ce moment. Le vrai problème, c’est que faire passer tous les traitements importants côté serveur a un coût en performance élevé, et les développeurs sont devenus paresseux en refilant trop de travail au client, au point que c’est devenu une sorte de norme
      Déplacer toutes les actions importantes vers le serveur n’est ni simple ni économique, mais c’est une manière de bloquer la triche de façon plus globale
      Et ça devient vraiment difficile si on vise en plus des jeux riches en calculs physiques, un tickrate de 120 (voire plus après des tests supplémentaires), un combat d’action basé sur des contrôles précis, et une montée en charge à l’échelle d’un MMORPG.
    • L’état de l’art actuel est assez ennuyeux, et on peut apprendre les payloads des commandes utilisateur en un après-midi
      Maintenant qu’il existe des aimbots basés sur YOLO, le monde est devenu bien plus compliqué, et la conclusion réaliste, c’est qu’un anti-cheat finit toujours par pouvoir être cassé
      Côté client, on peut produire un binaire privé dont le hash n’est pas enregistré par les principaux services anti-cheat, et côté serveur, on ne peut voir que ce que les règles du jeu autorisent
      Il n’existe aucun mécanisme pour empêcher des temps de réaction surhumains, et il ne devrait probablement pas y en avoir, donc c’est devenu un problème sans solution
      Il faut donc en venir au jugement de la communauté, ce qui est tout aussi ennuyeux. Dans Counter-Strike, le fait que de bons joueurs soient accusés d’être des tricheurs est un vieux problème, et en même temps un problème amusant.
    • Ce travail améliore aussi pas mal la vie des gens. Des jeux en ligne entiers deviennent parfois des no man’s lands à cause des tricheurs
      J’ai acheté plusieurs jeux Battlefield il y a quelques années, et certains étaient injouables à cause des tricheurs au speedhack et à l’aimbot. Ça me semblait facile à détecter côté serveur, et je me demandais pourquoi rien n’était fait.
    • Je ne l’ai fait que sur Minecraft, mais c’était assez amusant.
  • Si le site est hors ligne ou lent et que vous voulez lire l’article, il y a une capture d’écran de la page entière : https://i.imgur.com/SPp6IHX.jpeg
    Je ne pensais pas que cet article recevrait autant de trafic.

  • Cet article ne parle pas d’empêcher les tricheurs, c’est-à-dire de la détection de triche, mais d’empêcher les tricheurs bannis de revenir sans cesse, donc du contournement de bannissement
    Surtout aujourd’hui, avec même des cheats matériels comme le DMA, la détection de triche est un tout autre jeu. Personnellement, je pense qu’un des moyens les plus efficaces pour empêcher le contournement de bannissement, c’est simplement de faire réellement payer le jeu.

    • Au moment des faits racontés sur le blog, CS:GO n’était pas gratuit, et pourtant il y avait des tricheurs qui semblaient avoir accès à plus de 80 comptes.
    • Les tricheurs ne sont pas sensibles au prix. Leur loisir préféré, c’est de régner en rois dans une petite pataugeoire, donc dépenser 60 dollars par mois pour un nouveau compte ou une nouvelle clé de jeu ne les dérange pas
      Dans CS:GO, les gens se soucient assez peu du bannissement d’un compte avec des skins valant des centaines de dollars. Soit ils ont acheté un compte volé pour environ 5 dollars, soit ils paient déjà 30 dollars par mois pour un service de triche
      Il y a probablement un énorme recoupement entre les tricheurs fréquents et les baleines pay-to-win
      Une manière plus fiable de réduire les tricheurs dans un jeu, c’est le honeypot à tricheurs. Au lieu de bannir un tricheur puis de suivre à nouveau sa trace après l’achat d’un nouveau compte, on le place discrètement dans un matchmaking peuplé uniquement d’autres tricheurs, de bots volontairement agaçants, de faux lag, ou avec parfois des entrées clavier ignorées
      Si vous gâchez leur plaisir, ils arrêtent de gâcher le jeu. Et là, la guerre de l’information s’inverse : pour savoir s’ils doivent racheter un compte, ils doivent d’abord déterminer s’ils jouent régulièrement contre des tricheurs ou des bots.
    • Le bannissement basé sur le TPM rend aussi le contournement assez coûteux. À partir de là, le tricheur doit acheter une nouvelle carte mère ou souder une nouvelle puce TPM sur la carte mère
      Bien sûr, si un fournisseur négligent finit un jour par faire fuiter des clés TPM, ça pourra devenir falsifiable.
  • Les joueurs des grands pays passent facilement à côté du sentiment de communauté qu’on trouve dans les petits pays
    Quand il n’y a chaque jour que l’équivalent de 3 ou 4 serveurs de joueurs, on apprend vite à se connaître, et ça ajoute énormément de blagues et de plaisir.

    • J’ai un peu retrouvé cette sensation en jouant à de vieux jeux multijoueur avec une petite base de joueurs
      C’est bien mieux que les jeux à l’échelle de millions de joueurs où l’on ne reverra probablement jamais les personnes avec qui l’on a fait une partie. Pour la même raison, j’aime aussi les jeux avec des serveurs gérés par la communauté.
    • Si vous avez un certain âge, vous vous souvenez probablement de l’époque où l’on mettait des serveurs en favoris sur Gamespy
      On finissait par revenir toujours sur les mêmes serveurs selon qui était connecté, et surtout selon la qualité de sa propre connexion.
  • L’approche qui consiste à « re-bannir quelqu’un s’il se connecte avec un autre Steam ID mais utilise une adresse IP déjà bannie » fonctionne bien jusqu’à ce qu’on réalise qu’elle punit des joueurs innocents à cause du CGNAT et de la rotation des adresses IP
    Les tricheurs savent généralement comment forcer leur routeur à demander une nouvelle IP, et cette IP est ensuite attribuée à quelqu’un d’autre.

    • C’est effectivement arrivé en pratique, et j’ai traité ces cas un par un pour débannir des utilisateurs ou créer des exceptions
      Cela dit, c’était assez rare, avec seulement une poignée de signalements en plusieurs mois. Si le serveur avait été plus populaire, je l’aurais rencontré bien plus souvent.
    • J’ai traité ce problème dans la section « Problematic cases of IP address fingerprinting » de l’article.
    • Dans ce genre de situation, je me serais probablement appuyé sur un cookie secret afin de réduire les faux positifs.
  • Si « je n’ai partagé la solution et les techniques qu’avec un seul autre administrateur de serveur au Royaume-Uni, en qui j’avais une confiance totale », alors c’était probablement nous
    On l’a finalement combiné avec d’autres signaux de fingerprinting, mais la méthode utilisant VGUI était étonnamment efficace. Je crois me souvenir que le navigateur web a été retiré vers 2018, ce qui était dommage. C’était extrêmement puissant pour créer des arbres de compétences personnalisés liés au serveur ou d’autres intégrations amusantes.

  • « Le trafic lui-même est chiffré en HTTPS, donc même avec un outil de sniffing de paquets comme Wireshark, on ne peut pas trouver le token brut » : si le navigateur intégré utilisait le proxy système et la liste des certificats système, il était alors très facile de déchiffrer le HTTPS avec des outils comme Fiddler ou Burp Suite

    • L’essentiel, c’est à quel point le problème saute aux yeux quand on lance Wireshark. Comme il ne saute pas aux yeux, il faut beaucoup plus de travail pour comprendre ce qui se passe réellement
      La requête se fond aussi banalement parmi les autres, et ces requêtes sont prévisibles. En général, une requête MOTD est tout à fait attendue, donc elle ne paraît pas suspecte
      Dans une situation où la méthode de contournement est bien plus simple, comme supprimer un simple fichier local, cela fonctionnait déjà largement assez bien sans avoir à identifier la vraie requête ni à configurer Fiddler ou Burp Suite
      Pas besoin de surconcevoir
    • La cible envisagée par l’auteur n’était probablement pas le lectorat de HN, mais le script kiddie moyen
    • Exporter la clé secrète depuis Firefox pour l’importer dans Wireshark est aussi assez simple
      Cela se fait en quelques clics et, selon le TLS utilisé, il peut falloir le refaire pour chaque connexion, mais ce n’est pas si compliqué
  • Je sais bien que « il aurait fallu déposer un brevet » était une plaisanterie, mais s’il l’avait fait, il aurait dû divulguer la technique et elle serait immédiatement devenue inutile
    Cela n’enlève absolument rien au billet lui-même. C’était une lecture amusante