O ataque de 2016 à rede elétrica da Ucrânia, que deixou uma parte da capital do país, Kiev, sem o fornecimento de energia elétrica durante uma hora, foi causado por um ataque cibernético. Desde então, pesquisadores da ESET analisaram amostras de malware detectadas como Win32/Industroyer, capazes de realizar exatamente esse mesmo tipo de ação.

Ainda não tivemos uma confirmação se é o mesmo malware que está realmente envolvido no que os especialistas em cibersegurança consideram um teste em grande escala. Independentemente disso, o malware é capaz de prejudicar significativamente aos sistemas de energia elétrica e também pode ser reconfigurado para direcionar outros tipos de infraestrutura crítica.

O Industroyer é uma ameaça particularmente perigosa, uma vez que é capaz de controlar interruptores e disjuntores de uma subestação elétrica. Para isso, usa protocolos de comunicação industrial implementados mundialmente em infraestruturas de fornecimento de energia elétrica, sistemas de controle de transporte e outros sistemas de infraestrutura crítica como água e gás.

Esses interruptores (ou switches) e disjuntores são equivalentes digitais de interruptores analógicos; tecnicamente podem ser projetados para executar várias funções. Portanto, o impacto potencial pode variar desde simplesmente desligar a distribuição de energia, falhas em cascata e prejuízos mais graves ao equipamento. A gravidade também pode variar de uma subestação para outra. Naturalmente, a interrupção de tais sistemas pode afetar direta ou indiretamente o funcionamento de serviços vitais.

O grande perigo do Industroyer reside no fato de que usa os protocolos da forma na qual foram projetados para serem usados. O problema é que esses protocolos foram projetados há décadas, e naquela época os sistemas industriais estavam isolados do mundo exterior.

Como consequência, a sua comunicação não foi projetada tendo a segurança em mente. Isso significa que os atacantes não precisavam procurar por vulnerabilidades nos protocolos, na verdade, seria necessário apenas ensinar ao malware a "falar" esses protocolos.

O recente corte de energia ocorreu em 17 de dezembro de 2016, quase exatamente um ano após aquele ciberataque bem documentado que causou um apagão que afetou cerca de 250 mil casas em várias regiões da Ucrânia, em 23 de dezembro de 2015.

Naquela ocasião, os atacantes se infiltraram nas redes de distribuição elétrica com o malware BlackEnergy, juntamente com o KillDisk e outros componentes maliciosos e, em seguida, abusaram do software legítimo de acesso remoto para controlar as estações de trabalho das operadoras e cortar a energia. Além do fato de terem focado o ataque à rede elétrica ucraniana, não há semelhanças aparentes no código do BlackEnergy e do Industroyer.

Estrutura e funcionalidades-chave

O Industroyer é um malware modular. Seu principal componente é um backdoor usado pelos crackers para controlar o ataque; instala e controla os outros componentes e se conecta a um servidor remoto para receber comandos e informar aos atacantes.

O que diferencia o Industroyer de outros tipos de malware que têm como alvo a infraestrutura é o uso de quatro componentes maliciosos (payloads), que são projetados para ganhar o controle direto de interruptores e disjuntores em uma subestação de distribuição de energia elétrica. Cada um desses componentes visa particularmente os protocolos de comunicação especificados nas seguintes normas: IEC 60870-5-101, IEC 60870-5-104, IEC 61850 e OLE para Process Control Data Access (OPC DA).

Geralmente, os payloads trabalham em etapas cujos objetivos são o mapeamento da rede e, em seguida, encontrar e emitir os comandos que funcionarão com os dispositivos específicos para atacar. Os payloads mostram o profundo conhecimento dos criadores do malware sobre o funcionamento dos sistemas de controle industrial.

O malware contém algumas funcionalidades adicionais que estão projetados para permitir que o mesmo permaneça fora do radar, garantindo persistência, além de excluir todos os vestígios de si mesmo depois de ter feito o seu trabalho.

Por exemplo, a comunicação com os servidores C&C escondidos no Tor pode estar limitada com "horas de folga". Além disso, emprega um backdoor adicional, que se passa por um aplicativo Notepad (Bloco de Notas), projetado para recuperar o acesso à rede alvo no caso de que o backdoor principal seja detectado ou desativado.

O seu módulo de exclusão está projetado para apagar chaves de registros fundamentais para o sistema e substituir os arquivos, de forma que o sistema não possa iniciar e a recuperação do mesmo seja mais difícil. É interesse notar o scanner de portas mapeado pela rede, que tenta encontrar computadores relevantes: os atacantes fizeram a sua própria ferramenta personalizada em vez de usar um software existente.

Para finalizar, o outro módulo é uma ferramenta de Negação de Serviço que explora a vulnerabilidade CVE-2015-5374 em dispositivos Siemens SIPROTEC e pode deixá-los sem resposta.

Conclusão

O Industroyer é um malware altamente personalizável. Apesar de ser universal, já que pode ser usado para atacar qualquer sistema de controle usando alguns dos protocolos de comunicação da lista de alvos, alguns dos componentes das amostras analisadas estavam projetados para atingir particularmente um tipo de hardware.

Por exemplo, o componente de exclusão e um dos payloads está modificado para ser utilizado contra sistemas industriais que incorporam determinados produtos industriais de controle de energia do ABB, e o componente DoS funciona especificamente contra dispositivos Siemens SIPROTEC usados em subestações eléctricas e outras áreas afins de aplicação.

Embora, a princípio, seja difícil atribuir ataques a malwares sem executar um processo de resposta para incidentes no local do fato, é altamente provável que o Industroyer tenha sido usado no ataque de dezembro de 2016 à rede de energia ucraniana. Além de claramente possuir as capacidades únicas para executar esse tipo de ataque, também contém uma marca de tempo de ativação em 17 de dezembro de 2016, o mesmo período do corte de energia.

O ataque de 2016 à rede de elétrica da Ucrânia teve muito menos repercussão que o que ocorreu um ano antes. No entanto, a ferramenta que provavelmente foi utilizada, Win32/Industroyer, é um malware avançado nas mãos de um atacante sofisticado e com profundo conhecimento.

Graças à sua capacidade de persistir no sistema e fornecer informações valiosas para refinar os payloads personalizados, os atacantes podem adaptar o malware para qualquer ambiente, o que o torna extremamente perigoso. Independentemente do recente ataque à rede elétrica da Ucrânia ter sido um simples teste ou não, deve servir como uma alerta para os responsáveis pela segurança dos sistemas críticos em todo o mundo.

Mais detalhes técnicos sobre esse malware e os Indicadores de Sistemas Comprometidos (IoC) podem ser encontrados no nosso white paper (em inglês) ou no GitHub. Para qualquer esclarecimento, ou para o envio de amostras relacionadas com o assunto, envie um email para threatintel@eset.com.