.

Imagens Getty
A Microsoft disse que a conta corporativa de um de seus engenheiros foi invadida por um agente de ameaças altamente qualificado que adquiriu uma chave de assinatura usada para hackear dezenas de contas do Azure e do Exchange pertencentes a usuários importantes.
A divulgação resolve dois mistérios que estão no centro de uma divulgação que a Microsoft fez em julho. A empresa disse que os hackers rastreados como Storm-0558 estiveram dentro de sua rede corporativa por mais de um mês e obtiveram acesso a contas Azure e Exchange, várias das quais foram posteriormente identificadas como pertencentes aos Departamentos de Estado e Comércio dos EUA. Storm-0558 realizou a façanha ao obter uma chave de assinatura de consumidor de conta Microsoft expirada e usá-la para forjar tokens para o serviço de nuvem Azure AD supostamente fortificado da Microsoft.
A divulgação deixou duas das questões mais importantes sem resposta. Especificamente, como uma credencial tão sensível quanto a chave de assinatura do consumidor foi roubada da rede da Microsoft e como ela poderia assinar tokens para o Azure, que é construído em uma infraestrutura totalmente diferente?
Na quarta-feira, a Microsoft finalmente resolveu os enigmas. A conta corporativa de um de seus engenheiros foi hackeada. Storm-0558 então usou o acesso para roubar a chave. Essas chaves, disse a Microsoft, são confiadas apenas a funcionários que passaram por uma verificação de antecedentes e somente quando usam estações de trabalho dedicadas protegidas por autenticação multifatorial usando dispositivos de token de hardware. Para proteger esse ambiente dedicado, e-mail, conferências, pesquisas na Web e outras ferramentas de colaboração não são permitidos porque fornecem os vetores mais comuns para ataques bem-sucedidos de malware e phishing. Além disso, esse ambiente é segregado do restante da rede da Microsoft, onde os funcionários têm acesso a email e outros tipos de ferramentas.
Essas salvaguardas foram quebradas em abril de 2021, mais de dois anos antes de Storm-0558 obter acesso à rede da Microsoft. Quando uma estação de trabalho no ambiente de produção dedicado travava, o Windows executava um “crash dump” padrão, no qual todos os dados armazenados na memória eram gravados em disco para que os engenheiros pudessem posteriormente diagnosticar a causa. O despejo de memória foi posteriormente movido para o ambiente de depuração da Microsoft. O hack da conta corporativa de um engenheiro da Microsoft permitiu que Storm-0558 acessasse o crash dump e, com ele, a chave de assinatura expirada do Exchange.
Normalmente, os crash dumps eliminam as chaves de assinatura e dados igualmente confidenciais. Neste caso, no entanto, uma vulnerabilidade anteriormente desconhecida conhecida como “condição de corrida” impediu que esse mecanismo funcionasse corretamente.
Membros do Centro de Resposta de Segurança da Microsoft escreveram:
Nossa investigação descobriu que uma falha no sistema de assinatura do consumidor em abril de 2021 resultou em um instantâneo do processo travado (“crash dump”). Os despejos de memória, que editam informações confidenciais, não devem incluir a chave de assinatura. Nesse caso, uma condição de corrida permitiu que a chave estivesse presente no crash dump (esse problema foi corrigido). A presença do material chave no crash dump não foi detectada pelos nossos sistemas (esse problema foi corrigido).
Descobrimos que esse despejo de memória, que na época se acreditava não conter material chave, foi posteriormente movido da rede de produção isolada para nosso ambiente de depuração na rede corporativa conectada à Internet. Isso é consistente com nossos processos de depuração padrão. Nossos métodos de verificação de credenciais não detectaram sua presença (esse problema foi corrigido).
Depois de abril de 2021, quando a chave vazou para o ambiente corporativo no crash dump, o ator Storm-0558 conseguiu comprometer com sucesso a conta corporativa de um engenheiro da Microsoft. Esta conta teve acesso ao ambiente de depuração que contém o despejo de memória que continha incorretamente a chave. Devido às políticas de retenção de logs, não temos logs com evidências específicas dessa exfiltração por esse ator, mas esse foi o mecanismo mais provável pelo qual o ator adquiriu a chave.
Abordando o segundo mistério, a postagem explicava como uma chave de assinatura expirada para uma conta de consumidor foi usada para falsificar tokens para ofertas empresariais confidenciais. Em 2018, a Microsoft introduziu uma nova estrutura que funcionava com aplicativos em nuvem para consumidores e empresas. Erros humanos impediram que uma interface de programação projetada para validar criptograficamente qual ambiente uma chave funcionasse corretamente.
A postagem continuou:
Para atender à crescente demanda dos clientes para oferecer suporte a aplicativos que funcionam com aplicativos de consumo e corporativos, a Microsoft introduziu um ponto final de publicação de metadados de chave comum em setembro de 2018. Como parte dessa oferta convergente, a Microsoft atualizou a documentação para esclarecer os requisitos para validação de escopo de chave – qual chave usar para contas empresariais e quais usar para contas pessoais.
Como parte de uma biblioteca pré-existente de documentação e APIs auxiliares, a Microsoft forneceu uma API para ajudar a validar as assinaturas criptograficamente, mas não atualizou essas bibliotecas para executar essa validação de escopo automaticamente (esse problema foi corrigido). Os sistemas de correio foram atualizados para usar o endpoint de metadados comum em 2022. Os desenvolvedores no sistema de correio assumiram incorretamente que as bibliotecas realizaram a validação completa e não adicionaram a validação de emissor/escopo necessária. Assim, o sistema de correio aceitaria uma solicitação de email corporativo usando um token de segurança assinado com a chave do consumidor (esse problema foi corrigido usando as bibliotecas atualizadas).
.