banner

Notícias

Oct 25, 2023

Pesquisadores extraem chave mestra de criptografia de PLCs da Siemens

Por Lucian Constantin

CSO Escritor Sênior, CSO |

Pesquisadores de segurança descobriram uma maneira de extrair uma chave de criptografia global que foi codificada nas CPUs de várias linhas de produtos de controladores lógicos programáveis ​​(PLC) da Siemens, permitindo que eles comprometam suas comunicações e autenticação seguras. A Siemens aconselha todos os clientes a atualizar o firmware dos dispositivos afetados, bem como o software TIA Portal que os engenheiros usam para se comunicar com eles e implantar seus programas.

De acordo com pesquisadores de segurança da Claroty, a Siemens introduziu a criptografia assimétrica em suas CPUs SIMATIC S7-1200/1500 PLC há quase uma década para proteger sua configuração, programas e comunicações. No entanto, a empresa optou por fazer isso usando uma chave privada global codificada para todos os dispositivos dessas famílias de produtos porque, naquela época, a distribuição dinâmica de chaves e o gerenciamento não eram uma prática comum e um fardo potencial para os clientes.

“Desde então, no entanto, os avanços em tecnologia, pesquisa de segurança e um cenário de ameaças em rápida mudança tornaram essas chaves criptográficas codificadas um risco inaceitável”, disseram os pesquisadores em seu relatório. “Um ator mal-intencionado capaz de extrair uma chave global codificada pode comprometer a segurança de toda a linha de produtos do dispositivo de maneira irreparável”.

De acordo com a Claroty, os PLCs Siemens S7-1200 e S7-1500 usam várias chaves. Uma chave "por família" é compartilhada por todos os dispositivos de uma linha de produtos e uma chave "por modelo/firmware" é usada para criptografar configurações e manter a integridade do código, e uma chave de conexão que é usada no processo de autenticação, bem como para criptografar as comunicações com os clientes. A chave de conexão é derivada das chaves de configuração e é usada para criptografia baseada em curva elíptica.

Isso significa que os invasores obtêm a chave de configuração, eles podem potencialmente descriptografar a senha do usuário da configuração de um PLC, bem como lançar ataques man-in-the-middle, mesmo que não tenham acesso para ler a configuração criptografada.

O problema é que essa chave de configuração familiar não é armazenada no firmware do dispositivo – o sistema operacional em execução no dispositivo – mas na própria CPU, portanto, sua leitura requer acesso para interagir diretamente com a CPU por meio de opcodes. Isso só precisa ser feito uma vez em um dispositivo porque todos compartilham a chave.

No ano passado, os pesquisadores da Claroty encontraram uma vulnerabilidade de execução remota de código (CVE-2020-15782) afetando os PLCs S7 que permitiam a execução de código nativo nos dispositivos. Normalmente, os programas ou a lógica que os engenheiros escrevem e implantam nos PLCs por meio do software de engenharia especializado são executados em uma caixa de proteção no sistema operacional do PLC. O CVE-2020-15782 permitiu que os pesquisadores ignorassem essa camada de segurança e lessem e gravassem diretamente em qualquer endereço de memória normalmente protegido no PLC.

“Usando a permissão de leitura DA [acesso direto à memória] que obtivemos, fomos capazes de extrair todo o firmware do PLC criptografado (SIMATIC S7-1500) e mapear suas funções”, disseram os pesquisadores. "Durante o processo de mapeamento, encontramos uma função que lia a chave privada no PLC. Uma vez que tínhamos o endereço da função, reescrevemos a funcionalidade de opcodes específicos do MC7+ com nosso código shell, forçando-os a chamar a função nativa que lê a chave privada . Em seguida, copiamos a chave para um endereço de memória conhecido e a lemos a partir daí. A execução da função substituída nos deu a chave privada completa do PLC."

A interação com os PLCs da Siemens requer uma senha, mas as permissões que o cliente concede ao dispositivo são definidas por quatro níveis de proteção que podem ser configurados. Se o nível de proteção for inferior a três, um invasor pode extrair a configuração do CP sem nenhuma permissão especial. Essa configuração contém o hash da senha, mas é criptografada. No entanto, se tiverem a chave privada global, os invasores podem descriptografar o hash da senha e usá-lo para autenticar no PLC com privilégios mais altos.

COMPARTILHAR