Na quinta-feira, 16 de agosto de 2007, o Skype — o serviço de telefonia pela internet sediado em Luxemburgo e pertencente ao eBay, que então contava com 220 milhões de usuários — parou de funcionar durante a maior parte do dia, e a perturbação se estendeu por uma interrupção prolongada de quase dois dias. O gatilho foi comum: a atualização mensal Patch Tuesday da Microsoft distribuiu atualizações de segurança que exigiam reinicialização, e milhões de máquinas Windows reiniciaram e tentaram fazer login novamente na rede ponto a ponto do Skype dentro de poucas horas umas das outras. O Skype chamou isso de "uma reinicialização massiva dos computadores de nossos usuários em todo o globo em um intervalo de tempo muito curto".

A arquitetura ponto a ponto do Skype tinha, nas palavras da empresa, uma "capacidade inata de autocura" — a rotatividade de clientes entrando e saindo era normalmente absorvida automaticamente. A tempestade de reinicializações revelou um bug de software até então desconhecido no algoritmo de alocação de recursos da rede que impedia a autocura de funcionar rapidamente. O próprio mecanismo de recuperação falhou diante de uma escala de falha que nunca havia presenciado. Como o Skype declarou, o serviço ficou "indisponível para a maioria de seus usuários por aproximadamente dois dias".

À medida que a interrupção se prolongava, pesquisadores de segurança especularam que uma vulnerabilidade de negação de serviço divulgada na mesma semana era a culpada; o Skype negou — a rede não foi atacada, ela simplesmente não conseguia se recuperar rápido o suficiente. O episódio tornou-se uma lição canônica inicial de que distribuído não significa à prova de falhas: sistemas ponto a ponto ainda enfrentam eventos globalmente correlacionados, e a capacidade de autocura precisa ser dimensionada e testada para eles.

Serviço indisponível para a maioria dos 220 milhões de usuários do Skype por cerca de dois dias; pequenas empresas que haviam abandonado linhas fixas perderam seu serviço telefônico

A Patch Tuesday criou um evento global correlacionado: milhões de máquinas Windows reiniciaram e fizeram login novamente em poucas horas, muito além da rotatividade que a rede normalmente absorvia.

Um bug até então desconhecido no algoritmo de alocação de recursos da rede fez com que a função de autocura integrada "não funcionasse rapidamente" quando a tempestade atingiu — o próprio caminho de recuperação falhou sob carga.

A escala da falha nunca havia sido exercitada: a capacidade de autocura foi implicitamente dimensionada para padrões comuns de entrada e saída, não para reinicializações sincronizadas de toda a base de clientes.

Uma vulnerabilidade de negação de serviço divulgada na mesma semana embaralhou o diagnóstico, forçando o Skype a negar publicamente a teoria de um ataque enquanto depurava seu próprio software.

Ponto a ponto não significa livre de manutenção. Dimensione o caminho de recuperação para eventos correlacionados — um ciclo de patches pode atingir todos os clientes ao mesmo tempo — e exercite-o antes que toda a rede dependa dele.

O serviço foi restaurado e o Skype publicou um postmortem detalhado em seu blog Heartbeat, assumindo a responsabilidade: o gatilho foi o ciclo de patches da Microsoft, mas a falha era do próprio código de alocação de recursos do Skype, e a empresa enfatizou que nada tinha relação com segurança. A interrupção ainda é citada como o caso clássico de falha correlacionada em redes ponto a ponto — e da lacuna entre "distribuído, portanto resiliente" e uma resiliência que de fato foi testada.

CONFIRA AS EVIDÊNCIAS

As fontes

  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 ·