A Siemens enviou na sexta-feira atualizações de firmware para resolver uma vulnerabilidade grave nos controladores lógicos programáveis ​​(PLCs) SIMATIC S7-1200 e S7-1500 que poderiam ser explorados por um agente malicioso para obter acesso remoto a áreas protegidas da memória e obter código irrestrito e não detectado enquanto em execução, no que os pesquisadores descrevem como o “Santo Graal” de um invasor.

A vulnerabilidade de desvio de proteção de memória, rastreada como CVE-2020-15782 (pontuação CVSS: 8.1), foi descoberta por alguns especialistas de segurança que utilizaram engenharia reversa da linguagem de bytecode MC7 / MC7 + usada para executar programas PLC no microprocessador.

Em um comunicado emitido pela Siemens, a empresa alemã de automação industrial disse que um invasor remoto não autenticado com acesso à rede da porta TCP 102 poderia escrever dados e códigos arbitrários em áreas de memória protegidas ou ler dados confidenciais para lançar novos ataques.

“Alcançar a execução de código nativo em um sistema de controle industrial, como um controlador lógico programável, é um objetivo final que poucos atacantes avançados alcançaram”, relata os pesquisadores. “Esses sistemas complexos têm inúmeras proteções na memória que teriam que ser superadas para que um invasor não apenas executasse o código de sua escolha, mas também permanecesse sem ser detectado.”

A nova falha não apenas permite que um adversário obtenha a execução de código nativo em PLCs Siemens S7, mas o ataque remoto sofisticado também evita a detecção pelo sistema operacional subjacente ou qualquer software de diagnóstico, escapando da caixa de proteção do usuário para gravar dados arbitrários e código diretamente no protegido regiões de memória.

Claroty, no entanto, observou que o ataque exigiria acesso de rede ao PLC, bem como “direitos de download do PLC”. Ao fazer o jailbreak da sandbox nativa do PLC, a empresa disse que foi capaz de injetar um programa malicioso em nível de kernel no sistema operacional de tal forma que permitiria a execução remota de código.

Isso está longe de ser a primeira vez que a execução de código não autorizado foi realizada em PLCs Siemens. Em 2010, o infame worm Stuxnet aproveitou várias falhas no Windows para reprogramar sistemas de controle industrial, modificando o código em PLCs da Siemens para espionagem cibernética e sabotagem encoberta.

Então, em 2019, os pesquisadores demonstraram uma nova classe de ataques chamada “Rogue7” que explorava vulnerabilidades em seu protocolo de comunicação S7 proprietário para “criar uma estação de engenharia desonesta que pode se mascarar como o TIA para o PLC e injetar qualquer mensagem favorável ao invasor.”

A Siemens está recomendando “fortemente” aos usuários que atualizem para as versões mais recentes para reduzir o risco. A empresa disse que também está reunindo novas atualizações e está pedindo aos clientes que apliquem contramedidas e soluções alternativas para produtos onde as atualizações ainda não estão disponíveis.

REFERÊNCIAS:

https://cert-portal.siemens.com/productcert/pdf/ssa-434534.pdf

https://thehackernews.com/2021/05/a-new-bug-in-siemens-plcs-could-let.html

https://www.blackhat.com/us-19/briefings/schedule/#rogue-rogue-engineering-station-attacks-on-s-simatic-plcs-16049