O ataque ao SolarWinds finalmente revela dois pesadelos: o que foi feito certo e o que foi errado

Sergio De Los Santos    15 enero, 2021
O ataque ao SolarWinds finalmente revela dois pesadelos: o que foi feito certo e o que foi errado

Até agora, todos os profissionais de segurança cibernética sabem pelo menos parte do que inicialmente se acreditava ser “apenas” um ataque à SolarWinds, mas que resultou em uma das operações mais interessantes dos últimos anos. Detenhamo-nos nos detalhes mais curiosos do incidente, mas também nos concentraremos na gestão desta crise. O que foi bem feito e o que foi errado para medir a maturidade de um setor que sofrerá mais e piores golpes no futuro.

O FireEye dispara o alarme na terça-feira, 8 de dezembro. Eles foram atacados. Mas a indústria não culpa a FireEye por isso, eles os endossam e apoiam em geral, sua resposta é exemplar. Já aconteceu com muitos e pode acontecer com todos nós, então o importante é como você responde e é resiliente.

Como os invasores têm acesso a ferramentas confidenciais dentro de sua empresa, a FireEye faz algo que é honrado pela indústria: eles publicam as regras da Yara necessárias para detectar se alguém está usando essas ferramentas roubadas da equipe ofensiva da FireEye contra uma empresa. Um bom gesto que mais uma vez é publicamente reconhecido. Não se sabe muito mais sobre o incidente e a investigação continua.

Mas então tudo se complica e de que maneira. A notícia começa: o Departamento do Tesouro dos EUA e muitos outros departamentos do governo também reconhecem um ataque. No mesmo dia 13, a FireEye oferece um detalhe muito importanteo problema está na Trojanização do software Orion da SolarWinds. Um pacote de atualização, assinado pela própria SolarWinds, continha uma porta dos fundos. Estima-se que 18.000 empresas usam este sistema. A caixa de Pandora é descoberta devido às características do ataque e por ser um software usado em muitas grandes empresas e governos.E como os problemas globais exigem reações globais e coordenadas, é aqui que algo parece ter dado errado.

A coordenação falhou?

No dia seguinte, 14 de dezembro, com as informações necessárias para atingir o “marco zero” do ataque, os métodos reativos ainda não funcionaram. Em concreto:

  • Os mecanismos antivírus ainda não detectavam o malware (que passou a ser conhecido como SUNBURST). Na mesma segunda-feira, ele não estava nas assinaturas estáticas dos motores populares.
  • O certificado com o qual os invasores assinaram o software ainda não foi revogado. Independentemente de eles terem acesso à chave privada ou não (desconhecido), esse certificado teve que ser revogado caso o invasor pudesse assinar outro software em nome da SolarWinds.

Aqui, podemos apenas elucidar por que esse elemento “reativo” da cadeia falhou. SolarWinds estava atrasado para o ataque? A FireEye publicou os detalhes para pressionar SolarWindws quando estava começando a ser visto que o ataque ocultava uma ofensa muito mais complexa?  É claro que o mercado de ações “puniu” as duas empresas de maneira diferente, se isso puder ser usado como um método rápido de avaliar a reação do mercado a compromissos sérios. FireEye acabou por ser o herói. SolarWinds, o vilão.

No entanto, houve reações que funcionaram, como o sequestro do domínio sob o qual todo o ataque se baseia (avsavmcloud.com). Que, a propósito, foi enviado da Espanha para o urlscan.io manualmente em 8 de julho. Alguém pode ter notado algo estranho. A campanha estava ativa desde março.

O próprio malware e a comunidade

O “bom” do SUNBURST é que ele foi criado na linguagem .NET, o que o torna relativamente fácil de descompilar e saber o que o invasor programou. E assim a comunidade começou a analisar o software de cima a baixo e as ferramentas do programa para melhor entendê-lo.

malware é extremamente discreto. Não fez efeito até cerca de duas semanas depois de se encontrar na vítima. Ele modificou as tarefas agendadas do sistema para serem iniciadas e, em seguida, as retornou ao estado original. Mas uma das características mais interessantes do malware é a capacidade de ocultar os domínios que usa e que exigia força bruta para revelá-los (eram hashes). Além disso, ele continha o hash de outros domínios que não queria infectar. Qual? Costin Riau de Kasperksy os expõe:

Todos, provavelmente, internos à rede SolarWinds, para passar despercebidos em sua rede interna. Uma indicação de que a vítima inicial era o SolarWinds e que, para isso, os invasores deveriam conhecer bem a vítimaUm código foi publicado para obter toda a lista de ferramentas (cujos nomes também foram hash) para descobrir o que o Trojan não queria ver na máquina. Muitas das ferramentas e domínios com hash foram revelados em tempo recorde e reconheceram o que esses invasores tinham em mente. Outra ferramenta foi publicada para descriptografar o DGA (Domain Generator Algorithm) onde tentou entrar em contato com o malware. Um dos pontos fortes do algoritmo era justamente o DGA, mas também seu ponto fraco (o domínio de primeiro nível era sempre o mesmo).

No final, o malware acabou compondo URLs como este:

  • hxxps: // 3mu76044hgf7shjf [.] appsync-api [.] eu-west-1 [.] avsvmcloud [.] com /swip/upd/Orion[.obiliarioWireless[.obiliarioxml

Onde ele “exfiltrou” as informações e se comunicou com o Comando e Controle. Bem pensado do ponto de vista do atacante porque passa despercebido pela sua “normalidade”, mas mal pensado do ponto de vista da persistência.

Outro ponto muito interessante que parece ter passado despercebido é que os invasores pareciam “inflar” o módulo trojanizado de 500 para 900k durante 2019 , sem injetar código relevante, mas aumentando o tamanho da DLL. Em fevereiro de 2020, a carga de espionagem foi introduzida naquele mesmo DLL, obtendo assim uma invisibilidade extra sem levantar suspeitas devido ao aumento de tamanho.

Não vá ainda, tem mais

Mais recentemente, parece que o Orion da SolarWinds não foi apenas trojanizado com o SUNBURST, mas também com o que veio a ser chamado de SUPERNOVATalvez outro ator também tenha a capacidade de entrar na rede e implantar um Trojan diferente na ferramenta. Embora muitos detalhes de seu funcionamento ainda não estejam disponíveis, este é o segundo pesadelo de que ainda se pode falar.

Conclusões

Estamos perante um dos ataques mais sofisticados dos últimos tempos que não só colocou em xeque uma empresa que se dedica a defender outras empresas, mas também governos, grandes como a Microsoft e outros que nem sequer podemos imaginar. Eles deram um passo adiante com uma campanha quase perfeita para seu impacto e execução. Em outras ocasiões (RSA, Kaspersky, Bit9, Operação Aurora…), grandes empresas foram atacadas e também às vezes apenas como um efeito colateral para atingir terceiros, mas desta vez um passo adiante foi dado no discrição, precisão e “bom trabalho” dos atacantes. E tudo graças a uma única falha, é claro: o ponto mais fraco que eles conseguiram detectar na cadeia de suprimentos da qual dependem grandes players. E sim, SolarWinds parecia um elo muito fraco. Em seu site recomendaram a desativação do antivírus (embora isso infelizmente seja comum para certos tipos de ferramentas) e mostraram que usam senhas fracas em suas operações, além do fato de haver indícios de que foram comprometidos por mais de um ano… duas vezes.

Devemos nos surpreender com esses elos fracos na cadeia de segurança cibernética, da qual tanto depende? Dependemos de um cenário certamente desigual para as habilidades de segurança cibernética. Capacidade de resposta, defesa e prevenção assimétrica, tanto para vítimas quanto para atacantes… mas muito democrática na importância de cada peça na indústria. Não há escolha a não ser responder de maneira coordenada e conjunta para mitigar o risco. Não é difícil encontrar semelhanças fora do domínio da segurança cibernética. De qualquer forma, e felizmente, mais uma vez, o setor se mostrou maduro e capaz de uma resposta conjunta, não só da comunidade, mas dos principais players. Talvez seja a mensagem positiva que podemos tirar de uma história que ainda parece não ter acabado completamente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *