.
A computação em nuvem surgiu como um elemento crucial na tecnologia de hoje, servindo como a espinha dorsal para a conectividade global. Ela capacita empresas, governos e indivíduos a empregar e construir serviços baseados em nuvem e forma a base para uma enorme variedade de sistemas que usamos todos os dias, incluindo telecomunicações, transporte, saúde, serviços bancários e até mesmo serviços de streaming.
Tais sistemas, como qualquer hardware ou software, são suscetíveis a falhas e ataques cibernéticos que podem ocorrer de forma imprevisível. Os criminosos cibernéticos estão se tornando ainda mais determinados, e seus ataques cada vez mais sofisticados e frequentes. Uma das táticas que esses grupos frequentemente empregam são os ataques de negação de serviço distribuído (DDoS), que inundam os sistemas das empresas com mais solicitações e tráfego do que seus sistemas de TI podem suportar.
Isso bloqueia usuários legítimos do serviço, causando problemas significativos para as empresas, incluindo perda de receita e diminuição da fidelidade do cliente. Esse problema pode causar grandes dificuldades para empresas como Google e Amazon, que oferecem serviços de computação em nuvem para hospedar dados, sistemas e serviços dos consumidores.
Em nosso último estudo, empregamos várias estratégias para mostrar como os sistemas de computação em nuvem podem realmente ser fortalecidos pelo estresse. Empregamos algo chamado engenharia do caos e estratégias adaptativas, que ajudam o sistema a aprender com falhas e ataques cibernéticos.
Em sua análise trimestral mais recente de ameaças à segurança cibernética, a empresa de segurança de computação em nuvem Cloudflare relatou um aumento de 65% em ataques DDoS no terceiro trimestre de 2023 em comparação ao trimestre anterior. De acordo com o relatório da Cloudflare para o segundo trimestre de 2024, houve quatro milhões de ataques DDoS.
Além de DDoS e outros ataques deliberados, empresas que usam software baseado em nuvem também são vulneráveis a interrupções causadas por problemas que vão de problemas de conexão a falhas físicas de servidor — algumas das quais também podem resultar de ataques cibernéticos. Às vezes, até mesmo um problema menor, como um erro de digitação, pode derrubar sites baseados em nuvem.
Em 19 de julho, falhas no sensor Falcon da CrowdStrike fizeram com que hosts Windows conectados ao sistema de computação em nuvem Microsoft Azure travassem, causando uma interrupção global de TI em todo o mundo. O sensor Falcon, projetado para evitar ataques cibernéticos, não foi comprometido por um ataque cibernético. A interrupção foi causada por um problema técnico com uma atualização. Em 31 de julho, um erro nas defesas DDoS da Microsoft causou uma interrupção de oito horas no Azure.
Desvendando a fragilidade
Resolver grandes interrupções como essas apresenta desafios significativos devido à complexidade da nuvem e suas muitas dependências de outros sistemas – incluindo para segurança cibernética. Implementar correções confiáveis pode levar de horas a vários dias ou, em alguns casos como o da CrowdStrike, até mais.
Tais incidentes demonstram a fragilidade da nossa infraestrutura tecnológica em geral, mas particularmente dos sistemas baseados em nuvem. As soluções estão atualmente focadas em gerenciar os efeitos desses incidentes em vez de abordar os problemas de raiz criando sistemas de nuvem mais confiáveis e resilientes. Para evitar falhas, uma etapa crucial é integrar como padrão testes avançados de software para avaliar sua resiliência e confiabilidade sob pressão.

Peopleimages.com – Yuri A / Shutterstock
Em nossa pesquisa, estamos ajudando os consumidores de nuvem a resistir a essas ameaças fazendo exatamente isso, tornando a computação em nuvem mais capaz de resistir a grandes ataques e interrupções e continuar funcionando. Aqueles que operam sistemas de nuvem também precisam se adaptar e aprender com incidentes anteriores para torná-los mais fortes.
Temos usado uma técnica chamada engenharia do caos – atacando e experimentando deliberadamente esses aplicativos de software baseados em nuvem – para observar como o sistema responde a esses ataques.
Um dos nossos artigos mais recentes descobriu que podemos usar essa técnica para prever com mais precisão como um sistema reagirá a um ataque. A engenharia do caos envolve introduzir falhas deliberadamente em um sistema e então medir os resultados. Essa técnica ajuda a identificar e abordar potenciais vulnerabilidades e fraquezas no design, arquitetura e práticas operacionais de um sistema.
Os métodos podem incluir desligar um serviço, injetar latência (um atraso na maneira como um sistema responde a um comando) e erros, simular ataques cibernéticos, encerrar processos ou tarefas ou simular uma mudança no ambiente em que o sistema está funcionando e na maneira como ele está configurado.
Em experimentos recentes, introduzimos falhas em sistemas baseados em nuvem ao vivo para entender como eles se comportam em cenários estressantes, como ataques ou falhas. Ao aumentar gradualmente a intensidade dessas “injeções de falhas”, determinamos o ponto de estresse máximo do sistema.
Nossa investigação revelou uma redução no desempenho e na disponibilidade de serviços como resultado. Então, esses experimentos de engenharia do caos revelaram problemas que as medições de desempenho tradicionais não conseguiam detectar.
Aprendendo com o caos
Engenharia de caos é uma ótima ferramenta para melhorar o desempenho de sistemas de software. No entanto, para atingir o que descrevemos como “antifragilidade” – sistemas que podem ficar mais fortes em vez de mais fracos sob estresse e caos – precisamos integrar testes de caos com outras ferramentas que transformam sistemas para se tornarem mais fortes sob ataque.
Em nosso trabalho mais recente, apresentamos uma estrutura adaptativa para fazer exatamente isso. Essa estrutura, chamada “Unfragile”, emprega engenharia de caos para introduzir falhas incrementalmente e avaliar a resposta do sistema sob esses estresses.
Em seguida, introduzimos novas estratégias adaptativas para eliminar as vulnerabilidades encontradas por meio da engenharia do caos. Isso pode incluir a modificação do código-fonte do próprio software para melhorar seu desempenho. Ao introduzir métricas sobre o desempenho do sistema em tempo real, o sistema pode se tornar adaptável, pois os problemas potenciais são detectados cedo e resolvidos.
Ao combinar a engenharia do caos com essas estratégias adaptativas para alertar os operadores sobre vulnerabilidades em tempo real, para que possam ser corrigidas, podemos ensinar os sistemas de nuvem não apenas a suportar o estresse, mas também a se tornarem mais fortes a partir dele.
Isso garantirá que nossa infraestrutura digital crítica se torne mais robusta, confiável e capaz de aprender com o caos para enfrentar melhor os desafios futuros.
.