DDoS et latence

DDoS et latence

Les coulisses – DDoS et latence

L'article est trop long ? Les attaques DDoS, c'est pas la joie. Les joueurs râlent, et nous, ça nous attriste. Mais bonne nouvelle : on a fait des ajustements aux petits oignons... et on en est plutôt fiers.

Bonjour à tous ! L'équipe des J-Mods de l'infrastructure revient avec un nouvel article sur les coulisses. Au menu : les attaques DDoS et la latence. Comme toujours, ce sera un article un peu technique, mais promis, on va rendre tout ça digeste. Et si des questions vous viennent après coup, faites-nous signe sur Reddit. On se fera peut-être un plaisir d'y répondre dans un futur article !

Les flics du trafic

Cet été, nos jeux adorés ont franchi de nouveaux sommets. Et ça nous a fait chaud au cœur à tous, J-Mods comme fans. Mais qui dit succès dit aussi parasites : plusieurs fois, RuneScape et Old School RuneScape ont été mis à genoux par d'énormes attaques DDoS hyper-volumétriques (Hyper Volumetric Distributed Denial of Service, pour les intimes).

Ici dans les coulisses, notre boulot, c'est de faire en sorte que vos clics ultra-précis arrivent jusqu'à nous, pile à temps, même quand tout s'acharne contre les serveurs. Alors voyons un peu pourquoi ces attaques ont tout chamboulé.

Une attaque DDoS, qu'est-ce que c'est ?

Commençons par la base : qu'est-ce qu'une attaque par déni de service (DoS) ? C'est quand un client malveillant bombarde un serveur de requêtes jusqu'à ce que celui-ci ne puisse plus répondre aux véritables joueurs. Ces attaques se classent généralement en trois types :

  • Volumétriques – En gros, on noie le serveur sous un flot de données qu'il ne peut plus encaisser. Imaginez des toilettes bouchées : c'est le même principe.
  • Protocolaires – Ici, le pirate abuse du fonctionnement normal du serveur pour lui grignoter tout son temps et ses ressources. C'est un peu comme une mamie à la caisse qui paie ce qu'elle doit une pièce à la fois, pendant que tout le monde ronge son frein derrière.
  • Applicatives – Là, on s'en prend directement à l'application elle-même : on exploite ses failles ou on l'assaille de vraies requêtes, mais à répétition. C'est comme un client qui passe en caisse, paie correctement... puis revient aussitôt avec un seul article, encore et encore, jusqu'à ce que le caissier dégoupille.

Les attaques DoS sont plutôt faciles à gérer : elles viennent d'une seule source. Un seau de crottin d'ugthanki, une mamie à la caisse ou un client un peu zinzin. Bref, rien qu'on ne puisse repérer et bloquer rapidement.

Les attaques DDoS (Distributed Denial of Service), elles, corsent un peu la donne. Même principe, mais à grande échelle : des dizaines, voire des milliers de sources différentes (souvent des appareils connectés piratés, comme ceux du célèbre botnet Mirai) qui rendent le tri entre bon et mauvais trafic bien plus compliqué.

C'est quoi, une attaque hyper-volumétrique ?

C'est la catégorie reine des attaques DDoS : la plus énorme, la plus brutale et la plus compliquée à stopper. Là, on parle de plus d'un térabit de trafic indésirable par seconde. Autrement dit, plus de mille fois le volume normal de notre trafic quotidien.

Imaginez le réseau Jagex comme une autoroute locale à quatre voies menant tout droit à nos serveurs de jeu. Les voitures qui y circulent symbolisent les paquets de données envoyés par des milliers de joueurs à travers le monde.

Avant d'y entrer, chaque voiture passe un poste de contrôle : c'est là que l'on trie le bon trafic du mauvais. Ces points de filtrage sont très efficaces... mais pas parfaits. Quelques voitures indésirables réussissent toujours à passer entre les mailles.

Lors d'une journée normale, la circulation est fluide : la plupart des voitures sont légitimes et une seule voie de notre autoroute suffit largement pour absorber le trafic. Imaginez le pire embouteillage possible (le périphérique parisien en pleine heure de pointe pour nos amis français) et vous aurez une bonne idée d'une attaque DDoS hyper-volumétrique. Le filtre à l'entrée fait toujours ce qu'il a à faire, mais le flot est si massif que laisser passer même une petite part suffit à saturer notre autoroute à quatre voies. Toutes les voies sont bouchées, la file d'attente ne désemplit pas, et il faut une éternité pour passer.

Les vrais joueurs finissent par baisser les bras et partir. Côté technique, cela se manifeste par des timeouts, c'est-à-dire des requêtes qui expirent faute de réponse.

Comment Jagex fait-elle face aux attaques DDoS ?

Chaque année, Jagex essuie des centaines d'attaques DDoS. Et comme partout dans le secteur, elles deviennent à la fois plus nombreuses et plus agressives. Heureusement, la quasi-totalité est bloquée automatiquement par nos défenses.

Notre réseau est sous surveillance constante : 24 heures sur 24, 7 jours sur 7, 365 jours par an. Quand une attaque parvient tout de même à impacter les joueurs, nos ingénieurs d'infrastructure, avec ceux de nos partenaires, se jettent aussitôt dans la bataille. Nous ne pouvons pas dévoiler nos contre-mesures (vous devinez pourquoi), mais nos équipes passent alors en mode analyse et ripostent jusqu'à neutralisation complète.

Comment Jagex se prépare-t-elle aux prochaines attaques ?

Trois grands axes nous permettent de renforcer notre infrastructure face à ce genre de menace.

  1. Renforcer nos capacités mondiales de filtrage du trafic (c'est le fameux poste de contrôle de notre autoroute) et affiner nos règles pour que le moins possible de trafic indésirable se faufile sur notre réseau local pendant une attaque.
  2. Élargir notre propre autoroute réseau pour disposer d'un peu plus de marge lorsque les attaques frappent.
  3. Muscler nos réseaux dorsaux (nos routes privées) afin de mieux encaisser la ruée de joueurs légitimes qui tentent de se reconnecter en masse pendant, ou juste après, une attaque.

Face aux dernières attaques, notre équipe de J-Mods de l'infrastructure s'est retroussé les manches :

  1. Nous avons remanié de fond en comble notre système mondial de filtrage du trafic (nos postes de contrôle) et multiplié sa capacité.
  2. Notre autoroute locale a vu sa bande passante grimper de 300 %.
  3. Nos routes privées, elles, ont gagné 400 % de capacité supplémentaire.

Alors, fini les DDoS ?

On aimerait pouvoir le promettre... mais non. Notre ancienne infrastructure faisait parfaitement l'affaire... jusqu'au jour où elle n'a plus suffi.

Protéger nos jeux, c'est une bataille sans fin, une course à l'armement technologique. Et tant qu'il le faudra, nous continuerons à surveiller, renforcer et perfectionner nos défenses.

Et ma latence, dans tout ça ?

« Mais enfin, vilaine pelure de patate anonyme qui rédiges ce blog, tu avais promis de parler de latence ! Pourquoi est-ce qu'elle est restée si élevée plusieurs semaines après les attaques ? »

Excellente question, ô joueur curieux.

Et quelle belle occasion d'introduire une transition pleine de féculents : le hot-potato routing (ou routage à la patate chaude, pour les puristes). C'est une méthode de routage très courante chez les fournisseurs d'accès : elle consiste à faire passer vos paquets de données par la route la moins chère, pas forcément la plus rapide, à chaque saut de réseau.

Dans l'exemple ci-dessous, le FAI A pourrait envoyer vos paquets plus rapidement... mais à cause de cette stratégie de la « patate chaude », il choisira un détour un peu plus long, histoire de réduire ses propres coûts.

Pour garantir aux joueurs les trajets les plus efficaces jusqu'à nos mondes de jeu, Jagex utilise l'adressage Anycast, qui diffuse chaque monde depuis plusieurs points de présence régionaux (PoPs). Résultat : grâce au hot-potato routing, les fournisseurs d'accès sortent de leur réseau le plus tôt possible pour nous remettre vos paquets, et de là, notre dorsale réseau prend le relais pour les livrer directement à bon port.

Nous avons remarqué que certaines attaques ne touchaient qu'une seule région à la fois. Le problème, c'est qu'avec l'anycast, le flot de trafic malveillant se propageait à tous nos points de présence (PoPs), impactant aussi des joueurs qui n'étaient même pas visés.

Pour limiter les dégâts, nous avons temporairement mis l'anycast en pause pendant quelques semaines. Résultat : les attaques restaient confinées à leur région d'origine et notre dorsale respirait un peu... mais au prix d'une hausse de latence pour pas mal de joueurs.

Une fois nos nouvelles défenses déployées, nos PoPs renforcés et notre capacité réseau augmentée, nous avons remis l'anycast en service. La latence est ainsi revenue à la normale pour la plupart d'entre vous, même si les changements de routage provoqués par l'expansion des PoPs n'avantagent pas tous les FAI de la même façon. Et ce n'est qu'un début : d'autres améliorations sont déjà prévues, que nous dévoilerons dans un futur article.

FAQ

On adore se perdre dans les terriers de Reddit... Et on a repéré quelques questions qui reviennent souvent. Voici donc une petite foire aux questions maison.

Pourquoi ne pas faire appel à la société XYZ, tout simplement ?

On a étudié plusieurs options, des spécialistes DDoS indépendants jusqu'aux grands noms du secteur, tout en renforçant nos propres outils et process internes. Mais nos jeux ont leurs particularités, et ce qui marche ailleurs ne marche pas forcément chez nous. Quoi qu'il en soit, nous sommes confiants : la solution que nous avons retenue est celle qui répond le mieux à nos défis.

Alors, qui est derrière tout ça ?

Difficile à dire : il est presque impossible de relier la location de botnets à des personnes ou des groupes identifiables. Pour les attaques les plus sérieuses, Jagex travaille main dans la main avec les autorités compétentes pour remonter la piste et enquêter.

Et les mondes hébergés dans le Cloud ? Ils vont aider contre tout ça ?

Plus de capacité, c'est toujours bon à prendre, mais les solutions de protection DDoS des géants du Cloud, comme AWS Shield Advanced ou Azure DDoS Protection, ne font pas forcément mieux que ce que nous avons déjà en place.

Cela dit, le travail avance bien sur nos mondes Cloud, et les progrès sont au rendez-vous. Restez à l'affût.

Pourquoi ne pas avoir mis en place de meilleures défenses plus tôt ?

Nous faisons face à des centaines d'attaques DDoS chaque année. Dans la grande majorité des cas, nos défenses automatiques protègent Giélinor sans qu'on ait besoin d'intervenir, et seules quelques attaques parviennent à causer de vraies perturbations.

Or, les attaquants évoluent sans cesse et montent toujours d'un cran. Nous, on continue d'apprendre, d'adapter nos systèmes et d'investir pour que Giélinor reste protégée.

Ça a l'air d'un sacré défi ! Je peux donner un coup de main ?

Si ce genre de casse-tête technique vous passionne et que vous rêvez d'y contribuer, jetez donc un œil à nos postes ouverts sur https://www.jagex.com/careers.

Qui est Mod 🐹 ?

Une force de calcul exprimée en couinements par seconde et des crocs affûtés par la justice divine... bref, un hamster vengeur que les DDoSers feraient bien de craindre !

« Vous pourriez faire un article sur XYZ ? » / « Ma question n'est pas dans la liste ! »

Glissez-nous un mot sur le subreddit ou le Discord officiel. On essaiera d'y répondre dans un futur article.


Mods Kraken, Vxp, Bash, Maniac, Vallcore, Haydon, Cky, Qwert, Drax, M0iqp, Ibex, Adad, Roman... et 🐹

- Les J-Mods de l'infrastructure

Haut de la page