Le jeudi 16 août 2007, Skype — le service de téléphonie par internet basé au Luxembourg, alors détenu par eBay et comptant 220 millions d'utilisateurs — a cessé de fonctionner pendant la majeure partie de la journée, et la perturbation s'est prolongée en une panne de près de deux jours. Le déclencheur était banal : le Patch Tuesday mensuel de Microsoft a déployé des mises à jour de sécurité nécessitant un redémarrage, et des millions de machines Windows ont redémarré et tenté de se reconnecter au réseau pair-à-pair de Skype à quelques heures d'intervalle. Skype l'a décrit comme « un redémarrage massif des ordinateurs de nos utilisateurs à travers le monde dans un laps de temps très court ».

L'architecture pair-à-pair de Skype disposait, selon ses propres termes, d'une « capacité intégrée d'auto-réparation » — le renouvellement des clients qui se connectent et se déconnectent était normalement absorbé automatiquement. La tempête de redémarrages a révélé un bug logiciel jusqu'alors inconnu dans l'algorithme d'allocation des ressources du réseau, qui empêchait l'auto-réparation de fonctionner rapidement. Le mécanisme de rétablissement lui-même a échoué face à une échelle de défaillance qu'il n'avait jamais connue. Comme l'a formulé Skype, le service a été « indisponible pour la majorité de ses utilisateurs pendant environ deux jours ».

Alors que la panne se prolongeait, des chercheurs en sécurité ont supposé qu'une vulnérabilité de déni de service divulguée la même semaine en était la cause ; Skype l'a démenti — le réseau n'avait pas été attaqué, il ne pouvait simplement pas se réparer assez vite. L'épisode est devenu une leçon canonique précoce : distribué ne signifie pas à l'épreuve des pannes ; les systèmes pair-à-pair restent confrontés à des événements corrélés à l'échelle mondiale, et la capacité d'auto-réparation doit être dimensionnée et testée face à ceux-ci.

Service indisponible pour la majorité des 220 millions d'utilisateurs de Skype pendant environ deux jours ; les petites entreprises qui avaient abandonné les lignes fixes ont perdu leur service téléphonique

Le Patch Tuesday a créé un événement mondial corrélé : des millions de machines Windows ont redémarré et se sont reconnectées en quelques heures, bien au-delà du renouvellement que le réseau absorbait normalement.

Un bug jusqu'alors inconnu dans l'algorithme d'allocation des ressources du réseau a fait que la fonction d'auto-réparation intégrée « n'a pas fonctionné rapidement » une fois la tempête survenue — le mécanisme de rétablissement lui-même a échoué sous la charge.

L'échelle de la défaillance n'avait jamais été éprouvée : la capacité d'auto-réparation était implicitement dimensionnée pour des schémas ordinaires de connexion/déconnexion, et non pour des redémarrages synchronisés de l'ensemble de la base de clients.

Une vulnérabilité de déni de service divulguée la même semaine a brouillé le diagnostic, obligeant Skype à démentir publiquement la thèse d'une attaque pendant qu'il déboguait son propre logiciel.

Le pair-à-pair ne signifie pas l'absence de maintenance. Dimensionnez le mécanisme de rétablissement pour des événements corrélés — un seul cycle de correctifs peut toucher tous les clients à la fois — et éprouvez-le avant que l'ensemble du réseau n'en dépende.

Le service a été rétabli et Skype a publié un postmortem détaillé sur son blog Heartbeat, assumant la responsabilité : le déclencheur était le cycle de correctifs de Microsoft, mais la faute incombait au propre code d'allocation des ressources de Skype, et l'entreprise a souligné que rien n'était lié à la sécurité. La panne est encore citée comme le cas d'école de la défaillance corrélée dans les réseaux pair-à-pair — et de l'écart entre « distribué, donc résilient » et une résilience réellement éprouvée.

VÉRIFIEZ LES SOURCES

Les sources

  1. Patch Tuesday update triggered Skype outage The Register · theregister.co.uk ·
  2. Windows Users Caused Skype Outage TechCrunch · techcrunch.com ·
  3. Error in Skype's Software Shuts Down Phone Service The New York Times · nytimes.com ·