Rejoignez-Nous sur

Comment nous réagissons aux attaques DDoS de la semaine dernière

image 1

News

Comment nous réagissons aux attaques DDoS de la semaine dernière


Vendredi 13 mars dernier, la plate-forme BitMEX a fait l'objet de deux dénis de service distribués (DDoS) attaque à 02:16 UTC et 12:56 UTC. Ces attaques ont retardé ou empêché les demandes à destination et en provenance de la plate-forme BitMEX, provoquant une perturbation directe pour nos utilisateurs. À la suite de ces incidents, nous avons travaillé sans relâche pour recueillir les faits et post mortem de l'incident.

Pour le moment, je voudrais partager d'autres détails et répondre aux préoccupations immédiates de nos utilisateurs depuis la panne du service, ce qui s'est passé et les mesures que nous prenons pour améliorer la sécurité de notre plate-forme.

Voici un bref résumé de ce qui s'est passé et de la manière dont nous avons réagi aux attaques DDoS de la semaine dernière.

  1. À 02:16 UTC a botnet a lancé une attaque DDoS contre la plate-forme BitMEX. Nous avons découvert peu de temps après que ce botnet avait été responsable d'une attaque similaire, mais sans succès, il y a un mois, le 15 février. Sur la base de nos journaux d'accès, nous pensons que les attaquants ont identifié leur cible en février, puis attendu le moment où leur attaque aurait le plus d'impact sur le marché.
  2. Vendredi dernier, à un moment de pointe de la volatilité du marché, le botnet a submergé la plate-forme via une requête spécialement conçue pour la fonctionnalité Trollbox, invitant l'optimiseur de requêtes de la base de données à exécuter un plan de requête extrêmement inefficace. Voir ci-dessous pour plus de détails.
  3. Notre équipe de sécurité a vu l'utilisation du processeur de la base de données atteindre 100%, avec 99,6% de cette attente d'E / S du processeur (un état inactif). À l'époque, nous avons mal diagnostiqué cela comme un disque défaillant, pensant qu'il s'agissait d'une défaillance matérielle avec notre fournisseur de cloud. Les pannes de volume EBS affichent souvent des caractéristiques de performances similaires.
  4. Le DDoS a ralenti le traitement des messages dans notre couche API, les empêchant de frapper notre moteur de trading. Une fois l'attaque DDoS identifiée et arrêtée, l'API a pu envoyer des messages au moteur de trading sans délai.
  5. 10 heures plus tard, nous avons reçu la même attaque à 12 h 56 UTC. Dans les deux cas, nos systèmes de filtrage du trafic ont détecté et bloqué le trafic, mais le trafic a constitué une file d'attente interne importante. Tirant les leçons du premier incident, nous avons vidé la file d'attente manuellement pour reprendre les opérations du système.
  6. Des mises à jour en direct ont été publiées sur https://status.bitmex.comet des annonces de sites ont été faites pour communiquer l'incident.
  7. Dans le cadre de notre post mortem interne, l'équipe BitMEX a identifié 156 comptes pour lesquels des arrêts Last Price ont été clairement déclenchés par erreur sur ETHUSD, causés par le traitement tardif involontaire des ordres de marché lors du premier temps d'arrêt à 02:16 UTC. Pour chaque arrêt qui s'est déclenché par erreur au cours de cette période, BitMEX a calculé le delta du prix de l'indice imprimé et a remboursé l'utilisateur. Un total de 40,297 XBT a été remboursé.

Mon compte et mes données financières personnelles sont-ils en sécurité?

La sécurité et la sûreté des données des utilisateurs sont notre priorité absolue. Il n'y a aucune menace pour les informations personnelles individuelles, car une attaque DDoS n'est pas un hack. Il s'agit d'un effort distribué pour ralentir un système en le submergeant de demandes. Les données utilisateur restent sécurisées.

Notre équipe de sécurité a analysé les modèles de trafic des deux attaques et identifié des points communs importants entre elles. Nous pensons que les attaques du 13 mars et du 15 février ont été orchestrées par le même acteur. Nous continuons de surveiller les récurrences de cette activité et avons pris des mesures pour bloquer de manière proactive tout impact supplémentaire.

Pourquoi la Trollbox était-elle vulnérable à une attaque DDoS?

La Trollbox (boîte de chat) est l'une des premières fonctionnalités que nous avons codées chez BitMEX et elle est depuis devenue une ancre bien connue du site. C'est là que nous avons passé beaucoup de temps à parler à nos clients au cours des premières années de la plateforme, à parler de tout: nouveaux produits, commentaires, améliorations de l'interface utilisateur et non-sens général.

Vendredi dernier, c'est devenu un vecteur d'attaque. Voici l'explication technique: le chat a sept langues, chacune avec un ID de canal simple de 1 à 7. Le premier est l'anglais et les deux derniers sont l'espagnol et le français. Nous avons travaillé sur les traductions de l'ensemble du site pour ces deux-là, mais elles sont dans notre file d'attente de développement.

Le point de terminaison / chat permet d'interroger les 100 dernières lignes par ID de canal. Il existe un index pour cela, mais l'optimiseur de requêtes l'utilise rarement en raison de son faible cardinalité. Compte tenu de la taille de la table (environ 50 millions de lignes), il est en fait plus rapide de faire un balayage séquentiel inverse, puis de filtrer. L'optimiseur de requêtes a la capacité de discriminer et de construire différents plans de requête en fonction de l'ID du canal, mais pour ce faire, il a besoin des statistiques à jour. Il obtient ces statistiques via un ANALYSER (ou VACUUM ANALYZE), qui ne fonctionnait pas assez fréquemment dans cet environnement.

Par conséquent, l'optimiseur de requêtes s'est tenu à son plan de jeu et a effectué des analyses séquentielles inverses pour toutes les langues, jusqu'à ce qu'il trouve finalement 100 lignes à renvoyer. Dans le cas de l'espagnol, cela faisait très longtemps que personne n'avait discuté. Combien de temps, en fait? Il a numérisé 849 748 lignes avant d'en trouver suffisamment pour répondre aux critères:

image 1

Cette analyse séquentielle coûteuse a alloué et désalloué de grandes quantités de mémoire rapidement, débordant sur le disque et submergeant rapidement le système par des appels système. Au moment de l'attaque, la base de données ne dépensait que 0,6% de ses demandes de service et les 99,4% restants en attente d'E / S. Cela a causé toutes les requêtes, pas seulement les requêtes / chat, à être extrêmement lentes.

Comment une attaque sur le stockage de chat affecte-t-elle le trading?

BitMEX exploite une plateforme où les données sont séparées: les données relatives aux utilisateurs (e-mails, activité, chats, événements de connexion, etc.) sont séparées des données de trading (positions, exécutions, marge, etc.). Mais les discussions concernent les utilisateurs, tout comme les jetons d'accès et les clés API. Cela signifie que cet épuisement des ressources a causé de graves problèmes au niveau de la couche d'authentification et de contrôle d'accès, qui se trouve devant le moteur de trading. Le moteur de négociation fonctionnait normalement et les données du marché n'étaient pas perturbées, pas plus que les dépôts et retraits. Mais il est devenu presque impossible d'atteindre le moteur pendant ces périodes, entraînant une grave dégradation du service.

Cette attaque pourrait-elle se reproduire?

Aucun système n'est à l'abri des perturbations via DDoS. Il existe de nombreuses techniques qui peuvent être utilisées pour réduire ou éliminer l'impact. Nous avons résolu le problème sous-jacent et avons travaillé 24 heures sur 24 pour introduire des couches de détection et de réponse supplémentaires. Des efforts supplémentaires sont en cours pour augmenter l'évolutivité automatisée sous charge et isoler davantage les systèmes critiques.

Que fait BitMEX pour améliorer la sécurité?

Dans le cadre des efforts continus de surveillance et d'atténuation mentionnés ci-dessus, notre équipe de sécurité examine les parties les plus anciennes et, par conséquent, les plus vulnérables du système pour simplifier, dissocier, améliorer les performances et isoler les systèmes.

Dans le même temps, l'équipe développe des protocoles destinés au public concernant les temps d'arrêt, la suspension du marché, la reprise et la communication. Cela offrira encore plus de transparence à nos utilisateurs si nous sommes confrontés à une interruption de notre service à l'avenir.

Certains commerçants ont accusé BitMEX de provoquer délibérément la panne – comment réagissez-vous?

Nous exploitons une plateforme équitable et efficace. Les temps d'arrêt des échanges dégradent l'expérience de tous les clients et réduisent notre stature sur le marché. Il serait contraire à nos propres intérêts de fabriquer des temps d'arrêt. Cela dit, il est clair que la communauté veut en savoir plus sur la façon dont les liquidations interagissent avec le fonds d'assurance, en particulier dans ce scénario très exigeant. Nous partagerons plus de détails à ce sujet très bientôt.

Dans les prochains jours, nous publierons une série d'articles sur ce qui n'a pas fonctionné et les mesures que nous prenons. En plus de moi, vous entendrez d'autres dirigeants de notre entreprise.

Comme toujours, vous pouvez nous demander n'importe quoi en contacter le support.

Merci,

Arthur Hayes
Co-fondateur et PDG



Traduction de l’article de Arthur Hayes : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top