De acordo com dados divulgados por Alfredo Deak Junior, diretor de justiça e segurança pública da Microsoft, o site oficial das Olimpíadas do Rio de Janeiro em 2016 sofreu mais de 23 milhões de tentativas de ataques virtuais nas duas semanas em que ficou no ar. Mesmo com os ataques, o site se manteve estável.
Os dados foram compartilhados por Deak durante um evento por ocasião da inauguração de um centro de transparência da Microsoft em Brasília. Segundo ele, a Microsoft foi responsável pelo sistema de gerenciamento de conteúdo do site em parceria com a Atos, e por isso teve que lidar com as situações técnicas e de segurança envolvidas no desenvolvimento.
Ondas de ataque
Dos mais de 23 milhões de tentativas de ataque, 223 foram tentativas de derrubar o site por meio de ataques DDoS. Segundo Deak, a intensidade e a quantidade de ataques aumentava durante momentos de tensão política no Brasil. Durante um dia das Paralimpíadas, foram registrados mais de 1,4 milhões de ataques diferentes.
Um dos grupos que a empresa conseguiu identificar como autores dos ataques foi o Anonymous. Segundo Deak, as tentativas do grupo tinham motivação política. Apesar das turbulências, de acordo com o executivo da Microsoft, o tempo de resposta do site nunca foi superior a 150 milissegundos.
Segurança
O sistema de gerenciamento de conteúdo foi responsável por permitir que outros jornalistas e profissionais de comunicação publicassem notícias e fotos ao site. Para garantir que esse sistema era acessado apenas por jornalistas credenciados, todo o site tinha autenticação multifator.
Cada notícia e foto subida no site passava por um filtro da Azure que conseguia identificar e bloquear conteúdos de ódio ou inapropriados. Dados identificados assim não entravam no ar e eram enviados para auditoria, para impedir que o site sofresse defacing. Mesmo assim, segundo Deak, o tempo de publicação ficou sempre inferior a um minuto.
Também foi utilizada a tecnologia de telemetria para garantir a autenticidade dos usuários cadastrados. O sistema media o tempo de resposta dos dispositivos que tentavam acessar o site, e caso houvesse muita variação nesse tempo, o site era carregado com funções limitadas. Os IPs também eram cruzados com uma base de dados de IPs conhecidamente infectados para reduzir seu acesso ao site.
No pior dos casos, ainda que um hacker conseguisse burlar a autenticação multifator e inserir um conteúdo inapropriado que passasse pelos filtros da Azure, o sistema ainda verificava o protocolo de criptografia das páginas. Um código HTML que não seguisse o protocolo de criptografia da Microsoft não entraria no ar.
Escala da operação
Segundo Deak, o site precisou ser desenvolvido em 4 línguas diferentes, para iOS, Android, Windows Phone e 5 navegadores diferentes. Ele ainda precisava ter, em todos os casos, integração com redes sociais e flexibilidade para receber novas funções.
Conforme os jogos avançaram, o site precisou receber um total de 600 novas funcionalidades, de acordo com o executivo. Um total de 184 pessoas trabalhando em 7 países diferentes foi responsável por garantir que essas novidades levassem, nos piores casos, 6 horas para ser implementadas. Apenas 0,5% das solicitações de novas funções não ficaram prontas a tempo, segundo ele.
Além disso, eles precisavam se integrar com sensores presentes nos campos de jogos que permitiam atualização quase instantânea das informações. Por exemplo, sensores nos campos de futebol poderiam atualizar automaticamente os placares do jogo quando detectassem que a bola atravessou a linha do gol, e mandavam informações sobre o pódio automaticamente.
Inicialmente, foram usados 4 data centers da Azure, mas com o passar do tempo esse número foi expandido para 5 data centers em 3 continentes diferentes. As 1.200 páginas HTML desenvolvidas inicialmente se expandiram para 50 mil durante as duas semanas dos jogos, totalizando 4TB de conteúdo.
Atualização: uma versão anterior desta nota informava que o site havia resistido a 223 milhões de ataques, e não 23 milhões. O número de data centers usados inicialmente também foi atualizado de 3 para 4. A pedido da Microsoft, os números foram corrigidos. Lamentamos o incidente.