Pular para o conteúdo

Incidente · Pleno

CrowdStrike 2024: Channel File 291 derruba 8,5 milhões de máquinas

Incidente real. Pontos centrais: deploy progressivo e arquitetura em células.

12 min de leitura · Incidente em 2024, durou · Fonte: CrowdStrike · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Incidente real. Pontos centrais: deploy progressivo e arquitetura em células. Em 19 de julho de 2024, uma atualização de conteúdo do sensor Falcon, da CrowdStrike, derrubou hosts Windows. A fonte deste caso é o relatório de causa raiz (RCA) publicado pela própria empresa, complementado por seu relatório preliminar de incidente.

01 · CONTEXTO

Um sensor em kernel e dois caminhos de atualização

Em 19 de julho de 2024, uma atualização de conteúdo do sensor Falcon, da CrowdStrike, derrubou hosts Windows. A fonte deste caso é o relatório de causa raiz (RCA) publicado pela própria empresa, complementado por seu relatório preliminar de incidente. O sensor chega ao cliente por dois caminhos: o Sensor Content, enviado junto com o sensor, e o Rapid Response Content, entregue da nuvem para reagir rápido a novas ameaças.

O Rapid Response Content é configuração, não código. Já o Sensor Content segue uma liberação em estágios, com uso interno, adotantes iniciais e só depois disponibilidade geral, e o cliente escolhe qual versão instalar. O RCA trata justamente de levar essa disciplina de estágios ao caminho rápido.

  1. Engenheiros de detecção criam novas regras, e o sistema de configuração as transforma em instâncias de template.

    Diagrama da arquitetura: Entrega de conteúdo de detecção ao sensor
    CLEngenharia de detecção
    CPSistema de configuração de conteúdo
    CPValidador de conteúdo
    EDGDistribuição de channel files
    CPSensor no host Windows
  2. Antes da publicação, o validador confere o conteúdo contra a definição do tipo de template.

    Diagrama da arquitetura: Entrega de conteúdo de detecção ao sensor
    CLEngenharia de detecção
    CPSistema de configuração de conteúdo
    CPValidador de conteúdo
    EDGDistribuição de channel files
    CPSensor no host Windows
  3. O channel file é publicado e entregue aos sensores online.

    Diagrama da arquitetura: Entrega de conteúdo de detecção ao sensor
    CLEngenharia de detecção
    CPSistema de configuração de conteúdo
    CPValidador de conteúdo
    EDGDistribuição de channel files
    CPSensor no host Windows
  4. No host, o sensor roda como driver de kernel: um erro nele derruba o sistema inteiro, não só o aplicativo.

    Diagrama da arquitetura: Entrega de conteúdo de detecção ao sensor
    CLEngenharia de detecção
    CPSistema de configuração de conteúdo
    CPValidador de conteúdo
    EDGDistribuição de channel files
    CPSensor no host Windowskernel

02 · O INCIDENTE

Uma janela curta, uma frota inteira de Windows

A atualização defeituosa foi publicada às 04:09 UTC de 19 de julho de 2024 e revertida às 05:27 UTC. Quem estava online nessa janela e recebeu o channel file foi afetado; quem conectou depois da reversão, ou não conectou durante a janela, não foi.

Dentro do escopoFora do escopo
SistemaWindows com sensor 7.11 ou superiorMac e Linux
MomentoOnline entre 04:09 e 05:27 UTC e com a atualização recebidaOnline só depois da reversão, ou sem conexão durante a janela

Em 29 de julho, a empresa informou que cerca de 99% dos sensores Windows estavam online em comparação com antes da atualização.

03 · A CAUSA RAIZ

Vinte valores entregues, vinte e um esperados

A causa não foi um único erro, e sim a combinação de três: a definição do tipo de template falava em 21 entradas enquanto o código de integração fornecia 20, o interpretador tinha uma leitura fora dos limites latente, e nenhum teste exercitava um critério não coringa no 21º campo.

  1. A definição do tipo de template dizia que ele recebia 21 campos de entrada, e o validador conferia o conteúdo contra essa definição.

    Diagrama da arquitetura: Template, validador e interpretador
    DBDefinição do tipo de template
    CPValidador de conteúdo
    DBChannel file
    CPCódigo de integração do sensor
    CPInterpretador de conteúdo
  2. O código de integração do sensor entregava ao interpretador só 20 valores, um a menos do que a definição prometia.

    Diagrama da arquitetura: Template, validador e interpretador
    DBDefinição do tipo de template
    CPValidador de conteúdo
    DBChannel file
    CPCódigo de integração do sensorum valor a menos
    CPInterpretador de conteúdo
  3. Nos testes e nas primeiras instâncias, o 21º campo usava coringa, então o teste não expunha o valor ausente.

    Diagrama da arquitetura: Template, validador e interpretador
    DBDefinição do tipo de template
    CPValidador de conteúdo
    DBChannel file
    CPCódigo de integração do sensor
    CPInterpretador de conteúdo
  4. Em 19 de julho entrou uma instância com critério não coringa no 21º campo. O validador, que assumia 21 entradas, a aprovou.

    Diagrama da arquitetura: Template, validador e interpretador
    DBDefinição do tipo de template
    CPValidador de conteúdoassumia o contrato errado
    DBChannel fileinstância nova
    CPCódigo de integração do sensor
    CPInterpretador de conteúdo
  5. O interpretador tentou ler o 21º valor, que não existia: leitura fora dos limites, exceção sem tratamento e queda do sistema.

    Diagrama da arquitetura: Template, validador e interpretador
    DBDefinição do tipo de template
    CPValidador de conteúdo
    DBChannel file
    CPCódigo de integração do sensor
    CPInterpretador de conteúdoleitura fora dos limites

A análise do dump de memória aponta o driver csagent.sys, um driver de kernel, como o autor da leitura inválida.

É um caso clássico de contrato inconsistente: duas partes do sistema discordavam sobre o formato do dado, e cada uma passava nas verificações que se baseavam na própria suposição.

04 · POR QUE NINGUÉM VIU

Testes que passavam e confiança herdada

Os testes automatizados usavam um conjunto estático de 12 casos, e o canal de teste incluía um critério coringa no 21º campo de todas as instâncias. Por isso a leitura fora dos limites nunca foi exercitada. Entre 8 e 24 de abril de 2024, três instâncias adicionais foram implantadas e funcionaram como esperado.

Na decisão de implantar as instâncias de julho pesaram os testes feitos antes do lançamento do tipo de template, a confiança nas checagens do validador e as implantações anteriores bem-sucedidas.

05 · O QUE MUDOU

Fechar a causa e reduzir o raio de impacto

O que faltavaCorreção anunciada
Compilação do sensorO número de campos do tipo de template não era validadoUm patch do compilador passou a validar o número de entradas
InterpretadorNão havia checagem de limites no vetor de entradaChecagem de limites adicionada à função que lê as entradas
TestesSó critérios coringa no último campoTestes automatizados com critério não coringa em cada campo
ValidadorAprovava conteúdo sobre mais campos do que o sensor forneciaNovas checagens contra critérios além dos campos fornecidos

Além de fechar a causa, o RCA trata de limitar o dano de uma próxima falha. O achado é direto: cada instância de template deve ser implantada em estágios. As instâncias aprovadas no canário são promovidas a anéis cada vez mais amplos, ou revertidas se surgirem problemas, e a promoção para o anel seguinte é acompanhada de um tempo extra de observação, em que se coleta telemetria.

  1. O conteúdo validado vai primeiro a um anel canário, um grupo pequeno de sensores.

    Diagrama da arquitetura: Implantação de conteúdo em anéis com telemetria
    CPSistema de configuração de conteúdo
    CPAnel canário
    CPAnéis intermediários
    CPFrota completa
    NWTelemetria de saúde
    CLPolítica do cliente
  2. A telemetria do canário mostra se há quedas de sistema, alta no volume de detecções falsas ou problemas de desempenho.

    Diagrama da arquitetura: Implantação de conteúdo em anéis com telemetria
    CPSistema de configuração de conteúdo
    CPAnel canário
    CPAnéis intermediários
    CPFrota completa
    NWTelemetria de saúde
    CLPolítica do cliente
  3. Com sinais saudáveis, o sistema promove o conteúdo. Com sinais ruins, reverte.

    Diagrama da arquitetura: Implantação de conteúdo em anéis com telemetria
    CPSistema de configuração de conteúdo
    CPAnel canário
    CPAnéis intermediários
    CPFrota completa
    NWTelemetria de saúde
    CLPolítica do cliente
  4. A promoção segue anel a anel até a frota completa, e cada anel acumula tempo de observação antes do próximo.

    Diagrama da arquitetura: Implantação de conteúdo em anéis com telemetria
    CPSistema de configuração de conteúdo
    CPAnel canário
    CPAnéis intermediários
    CPFrota completapor último
    NWTelemetria de saúde
    CLPolítica do cliente
  5. O cliente também ganha controle sobre onde e quando o conteúdo é implantado.

    Diagrama da arquitetura: Implantação de conteúdo em anéis com telemetria
    CPSistema de configuração de conteúdo
    CPAnel canário
    CPAnéis intermediários
    CPFrota completa
    NWTelemetria de saúde
    CLPolítica do cliente

06 · LIÇÕES

O que levar para o seu desenho

A primeira lição é de disponibilidade: todo caminho que atinge a frota inteira deve ter um estágio que limite o dano antes do sinal de falha, seja código, seja configuração. A segunda é de observabilidade: promover um conteúdo só faz sentido se a telemetria do estágio anterior puder dizer que ele está saudável.

A terceira é de recuperação: reverter o conteúdo na origem não conserta, por si só, as máquinas que já carregaram o arquivo defeituoso. Um plano de recuperação de desastres precisa prever o caso em que o agente que falhou está em todos os hosts ao mesmo tempo.

Perguntas frequentes

O que é CrowdStrike 2024: Channel File 291 derruba 8,5 milhões de máquinas?

Incidente real. Pontos centrais: deploy progressivo e arquitetura em células.

O que o design de CrowdStrike 2024: Channel File 291 derruba 8,5 milhões de máquinas cobre?

Ele está organizado nestas seções: Um sensor em kernel e dois caminhos de atualização, Uma janela curta, uma frota inteira de Windows, Vinte valores entregues, vinte e um esperados, Testes que passavam e confiança herdada, Fechar a causa e reduzir o raio de impacto e O que levar para o seu desenho.

Quanto tempo leva CrowdStrike 2024: Channel File 291 derruba 8,5 milhões de máquinas e qual é o nível?

Leva cerca de 12 minutos para ler e tem nível Pleno.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.