A comédia de erros que permitiu que hackers apoiados pela China roubassem a chave de assinatura da Microsoft
Em março de 2021, a Microsoft divulgou um ataque cibernético maciço que comprometeu seu software de e-mail Exchange Server e afetou dezenas de milhares de organizações em todo o mundo. O ataque, que foi atribuído a um grupo de hackers chinês patrocinado pelo Estado, conhecido como Hafnium, explorou quatro vulnerabilidades anteriormente desconhecidas no Exchange Server para obter acesso a contas de e-mail, roubar dados e instalar malware.
Mas o ataque também teve outra consequência mais alarmante: os hackers conseguiram roubar a chave de assinatura da Microsoft, que é usada para verificar a autenticidade e a integridade das atualizações de software. Isso significa que os hackers poderiam usar a chave roubada para assinar códigos maliciosos e distribuí-los como atualizações legítimas para usuários desavisados.
Como isso aconteceu? Como uma empresa sofisticada como a Microsoft pôde perder o controle de um ativo tão importante? E o que isso significa para a segurança das cadeias de suprimentos de software?
A resposta está em uma comédia de erros envolvendo erro humano, falha técnica e falha organizacional. Esses são alguns dos principais fatores que contribuíram para essa violação sem precedentes:
– A Microsoft usou um certificado autoassinado para suas atualizações do Exchange Server, em vez de um certificado emitido por uma autoridade externa confiável. Isso facilitou para os hackers se fazerem passar pela Microsoft e induzir os usuários a instalar atualizações maliciosas.
– A Microsoft armazenou sua chave de assinatura em um servidor conectado à Internet, em vez de isolá-la em um ambiente off-line seguro. Isso expôs a chave a um possível comprometimento por qualquer pessoa que pudesse acessar o servidor.
– A Microsoft não implementou controles de segurança adequados em seu servidor de assinaturas, como criptografia, autenticação, registro e monitoramento. Isso permitiu que os hackers obtivessem acesso não detectado ao servidor e alterassem sua configuração.
– A Microsoft não seguiu o princípio do menor privilégio, que significa conceder apenas o nível mínimo de acesso necessário para cada usuário ou processo. Em vez disso, concedeu ao servidor de assinaturas privilégios administrativos totais, o que permitiu que os hackers executassem comandos arbitrários e roubassem a chave.
– A Microsoft não tinha um plano robusto de resposta a incidentes que a teria ajudado a detectar, conter e mitigar o ataque. A Microsoft levou várias semanas para descobrir a violação e notificar seus clientes, o que deu aos hackers tempo suficiente para explorar a chave roubada.
Esses erros ilustram como um único elo fraco pode comprometer toda uma cadeia de suprimentos de software e colocar milhões de usuários em risco. Eles também destacam a necessidade de os desenvolvedores e fornecedores de software adotarem práticas recomendadas para proteger suas chaves e processos de assinatura, tais como:
– Use certificados de autoridades credenciadas que aplicam políticas rígidas de verificação e revogação.
– Armazenamento de chaves de assinatura em módulos de segurança de hardware (HSMs) que oferecem proteção física e lógica contra acesso não autorizado.
– Implemente controles de segurança, como criptografia, autenticação, registro e monitoramento em servidores e redes de assinatura.
– Siga o princípio do menor privilégio e aplique o princípio da defesa em profundidade, o que significa usar várias camadas de segurança para proteger os ativos essenciais.
– Tenha um plano claro e abrangente de resposta a incidentes, incluindo testes e atualizações regulares.
O roubo da chave de assinatura da Microsoft foi um alerta para o setor de software e um lembrete da importância de proteger as cadeias de suprimentos de software. Ao aprender com esse incidente e aplicar essas práticas recomendadas, os desenvolvedores e fornecedores de software podem evitar ataques semelhantes no futuro e garantir a confiabilidade de seus produtos.