Ciência e Tecnologia

Dentro dos 78 minutos que derrubaram milhões de máquinas Windows

.

Na manhã de sexta-feira, pouco depois da meia-noite em Nova York, o desastre começou a se desenrolar ao redor do mundo. Na Austrália, os compradores foram recebidos com mensagens de Tela Azul da Morte (BSOD) nos corredores de autoatendimento. No Reino Unido, a Sky News teve que suspender sua transmissão depois que servidores e PCs começaram a falhar. Em Hong Kong e na Índia, os balcões de check-in do aeroporto começaram a falhar. Quando a manhã chegou em Nova York, milhões de computadores Windows haviam travado, e um desastre tecnológico global estava em andamento.

Nas primeiras horas da interrupção, houve confusão sobre o que estava acontecendo. Como tantas máquinas Windows estavam de repente mostrando uma tela azul de travamento? “Algo super estranho acontecendo agora”, escreveu o especialista australiano em segurança cibernética Troy Hunt em um post no X. No Reddit, os administradores de TI deram o alarme em um tópico intitulado “Erro BSOD na atualização mais recente do CrowdStrike” que já acumulou mais de 20.000 respostas.

Os problemas levaram as principais companhias aéreas dos EUA a aterrar suas frotas e os trabalhadores na Europa em bancos, hospitais e outras grandes instituições a não conseguirem fazer login em seus sistemas. E rapidamente ficou claro que tudo era devido a um pequeno arquivo.

Às 12:09AM ET em 19 de julho, a empresa de segurança cibernética CrowdStrike lançou uma atualização defeituosa para o software de segurança Falcon que ela vende para ajudar as empresas a evitar que malware, ransomware e quaisquer outras ameaças cibernéticas derrubem suas máquinas. Ele é amplamente usado por empresas para sistemas Windows importantes, e é por isso que o impacto da atualização ruim foi tão imediato e sentido tão amplamente.

A atualização da CrowdStrike deveria ser como qualquer outra atualização silenciosa, fornecendo automaticamente as últimas proteções para seus clientes em um pequeno arquivo (apenas 40 KB) que é distribuído pela web. A CrowdStrike emite essas regularmente sem incidentes, e elas são bastante comuns para software de segurança. Mas esta foi diferente. Ela expôs uma falha enorme no produto de segurança cibernética da empresa, uma catástrofe que estava sempre a apenas uma atualização ruim de distância — e que poderia ter sido facilmente evitada.

Como isso aconteceu?

O software de proteção Falcon da CrowdStrike opera no Windows no nível do kernel, a parte central de um sistema operacional que tem acesso irrestrito à memória do sistema e ao hardware. A maioria dos outros aplicativos é executada no nível do modo de usuário e não precisa ou obtém acesso especial ao kernel. O software Falcon da CrowdStrike usa um driver especial que permite que ele seja executado em um nível mais baixo do que a maioria dos aplicativos para que ele possa detectar ameaças em um sistema Windows.

Rodar no kernel torna o software da CrowdStrike muito mais capaz como uma linha de defesa — mas também muito mais capaz de causar problemas. “Isso pode ser muito problemático, porque quando uma atualização chega que não está formatada da maneira correta ou tem algumas malformações, o driver pode ingerir isso e confiar cegamente nesses dados”, Patrick Wardle, CEO da DoubleYou e fundador da Objective-See Foundation, conta A Beira.

O acesso ao kernel torna possível que o driver crie um problema de corrupção de memória, que foi o que aconteceu na manhã de sexta-feira. “Onde o travamento estava ocorrendo era em uma instrução em que ele estava tentando acessar alguma memória que não era válida”, diz Wardle. “Se você estiver executando no kernel e tentar acessar memória inválida, isso causará uma falha e isso fará com que o sistema trave.”

A CrowdStrike identificou os problemas rapidamente, mas o dano já estava feito. A empresa emitiu uma correção 78 minutos após a atualização original ter sido lançada. Os administradores de TI tentaram reinicializar as máquinas várias vezes e conseguiram colocar algumas de volta online se a rede pegasse a atualização antes que o driver da CrowdStrike matasse o servidor ou o PC, mas para muitos trabalhadores de suporte, a correção envolveu visitar manualmente as máquinas afetadas e excluir a atualização de conteúdo defeituosa da CrowdStrike.

Enquanto as investigações sobre o incidente CrowdStrike continuam, a teoria principal é que provavelmente havia um bug no driver que estava adormecido há algum tempo. Ele pode não estar validando os dados que estava lendo dos arquivos de atualização de conteúdo corretamente, mas isso nunca foi um problema até a atualização de conteúdo problemática de sexta-feira.

“O driver provavelmente deve ser atualizado para fazer verificações de erros adicionais, para garantir que, mesmo que uma configuração problemática seja lançada no futuro, o driver tenha defesas para verificar e detectar… em vez de agir cegamente e travar”, diz Wardle. “Eu ficaria surpreso se não víssemos uma nova versão do driver eventualmente que tivesse verificações de sanidade e erros adicionais.”

A CrowdStrike deveria ter percebido esse problema antes. É uma prática bastante padrão lançar atualizações gradualmente, permitindo que os desenvolvedores testem quaisquer problemas maiores antes que uma atualização atinja toda a sua base de usuários. Se a CrowdStrike tivesse testado adequadamente suas atualizações de conteúdo com um pequeno grupo de usuários, então sexta-feira teria sido um chamado para consertar um problema de driver subjacente em vez de um desastre tecnológico que se espalhou pelo globo.

A Microsoft não causou o desastre de sexta-feira, mas a maneira como o Windows opera permitiu que todo o sistema operacional caísse. As mensagens generalizadas de Tela Azul da Morte são tão sinônimas de erros do Windows dos anos 90 em diante que muitas manchetes inicialmente diziam “interrupção da Microsoft” antes de ficar claro que a CrowdStrike era a culpada. Agora, há as perguntas inevitáveis ​​sobre como evitar outra situação de CrowdStrike no futuro — e essa resposta só pode vir da Microsoft.

O que pode ser feito para evitar isso?

Apesar de não estar diretamente envolvida, a Microsoft ainda controla a experiência do Windows, e há muito espaço para melhorias na forma como o Windows lida com problemas como esse.

No mais simples, o Windows poderia desabilitar drivers com bugs. Se o Windows determinar que um driver está travando o sistema na inicialização e forçando-o a entrar em um modo de recuperação, a Microsoft poderia construir uma lógica mais inteligente que permite que um sistema inicialize sem o driver defeituoso após várias falhas de inicialização.

Mas a mudança maior seria bloquear o acesso ao kernel do Windows para evitar que drivers de terceiros travassem um PC inteiro. Ironicamente, a Microsoft tentou fazer exatamente isso com o Windows Vista, mas encontrou resistência de fornecedores de segurança cibernética e reguladores da UE.

A Microsoft tentou implementar um recurso conhecido na época como PatchGuard no Windows Vista em 2006, restringindo o acesso de terceiros ao kernel. McAfee e Symantec, as duas grandes empresas de antivírus na época, se opuseram às mudanças da Microsoft, e a Symantec até reclamou para a Comissão Europeia. A Microsoft eventualmente recuou, permitindo que fornecedores de segurança acessassem o kernel mais uma vez para fins de monitoramento de segurança.

A Apple finalmente tomou a mesma atitude, bloqueando seu sistema operacional macOS em 2020 para que os desenvolvedores não pudessem mais ter acesso ao kernel. “Foi definitivamente a decisão certa da Apple descontinuar extensões de kernel de terceiros”, diz Wardle. “Mas o caminho para realmente conseguir isso tem sido repleto de problemas.” A Apple teve alguns bugs de kernel em que ferramentas de segurança em execução no modo de usuário ainda podiam desencadear uma falha (kernel panic), e Wardle diz que a Apple “também introduziu algumas vulnerabilidades de execução de privilégios, e ainda há alguns outros bugs que podem permitir que ferramentas de segurança no Mac sejam descarregadas por malware.”

Pressões regulatórias ainda podem estar impedindo a Microsoft de agir aqui. Jornal de Wall Street relatou no fim de semana que “um porta-voz da Microsoft disse que ela não pode legalmente bloquear seu sistema operacional da mesma forma que a Apple faz por causa de um acordo que chegou com a Comissão Europeia após uma reclamação”. Diário parafraseia o porta-voz anônimo e também menciona um acordo de 2009 para fornecer aos fornecedores de segurança o mesmo nível de acesso ao Windows que a Microsoft.

A Microsoft chegou a um acordo de interoperabilidade com a Comissão Europeia em 2009 que era um “empreendimento público” para permitir que desenvolvedores tivessem acesso à documentação técnica para construir aplicativos sobre o Windows. O acordo foi formado como parte de um acordo que incluía a implementação de uma tela de escolha do navegador no Windows e o oferecimento de versões especiais do Windows sem o Internet Explorer empacotado no SO.

O acordo para forçar a Microsoft a oferecer opções de navegador terminou cinco anos depois, em 2014, e a Microsoft também parou de produzir suas versões especiais do Windows para a Europa. A Microsoft agora inclui seu navegador Edge no Windows 11, sem ser contestada pelos reguladores europeus.

Não está claro por quanto tempo esse acordo de interoperabilidade esteve em vigor, mas a Comissão Europeia não parece acreditar que ele esteja impedindo a Microsoft de revisar a segurança do Windows. “A Microsoft é livre para decidir sobre seu modelo de negócios e adaptar sua infraestrutura de segurança para responder a ameaças, desde que isso seja feito de acordo com a lei de concorrência da UE”, diz a porta-voz da Comissão Europeia, Lea Zuber, em uma declaração à A Beira. “A Microsoft nunca levantou quaisquer preocupações sobre segurança com a Comissão, nem antes do incidente recente nem depois.”

A reação negativa ao bloqueio do Windows

A Microsoft pode tentar seguir o mesmo caminho da Apple, mas a resistência de fornecedores de segurança como a CrowdStrike será forte. Ao contrário da Apple, a Microsoft também compete com a CrowdStrike e outros fornecedores de segurança que fizeram negócios protegendo o Windows. A Microsoft tem seu próprio serviço pago Defender for Endpoint, que fornece proteções semelhantes para máquinas Windows.

O CEO da CrowdStrike, George Kurtz, também critica regularmente a Microsoft e seu histórico de segurança e se gaba de conquistar clientes para longe do software de segurança da própria Microsoft. A Microsoft teve uma série de contratempos de segurança nos últimos anos, então é fácil e eficaz para os concorrentes usarem isso para vender alternativas.

Toda vez que a Microsoft tenta bloquear o Windows em nome da segurança, ela também enfrenta reações adversas. Um modo especial no Windows 10 que limitava as máquinas aos aplicativos da Windows Store para evitar malware era confuso e impopular. A Microsoft também deixou milhões de PCs para trás com o lançamento do Windows 11 e seus requisitos de hardware que foram projetados para melhorar a segurança dos PCs com Windows.

O CEO da Cloudflare, Matthew Prince, já está alertando sobre os efeitos do bloqueio adicional do Windows pela Microsoft, enquadrado de uma forma que a Microsoft favorecerá seus próprios produtos de segurança se tal cenário ocorrer. Toda essa resistência significa que a Microsoft tem um caminho complicado a trilhar aqui se quiser evitar que o Windows esteja no centro de um incidente do tipo CrowdStrike novamente.

A Microsoft está presa no meio, com pressão de ambos os lados. Mas em um momento em que a Microsoft está revisando a segurança, tem que haver algum espaço para que os fornecedores de segurança e a Microsoft concordem em um sistema melhor que evitará um mundo de interrupções de tela azul novamente.

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo