Vulnerabilidad generalizada en PLCs de Siemens podría conducir a un ataque similar a Stuxnet
En 2009, el gusano informático Stuxnet paralizó cientos de centrifugadoras dentro de la planta de enriquecimiento de uranio de Natanz en Irán. El gusano atacó el software que se ejecutaba en las computadoras industriales de la instalación, conocidas como controladores lógicos programables (PLC). Los PLC explotados fueron fabricados por el gigante de la automatización Siemens y eran todos modelos de la omnipresente serie de productos SIMATIC S7 de larga duración de la empresa. Ahora, más de una década después, Siemens reveló recientemente que un atacante podría explotar una vulnerabilidad en su serie S7-1500 para instalar silenciosamente firmware malicioso en los dispositivos y tomar el control total de ellos.
La vulnerabilidad fue descubierta por investigadores de la empresa de seguridad de dispositivos integrados Red Balloon Security después de pasar más de un año desarrollando una metodología para evaluar el firmware del S7-1500. Siemens ha cifrado el S7-1500 desde 2013 para mayor protección. El firmware es el código de bajo nivel que coordina hardware y software en una computadora.
La vulnerabilidad se deriva de un error básico en la forma en que se implementa el cifrado. No obstante, Siemens no puede solucionarlo mediante un parche de software porque el esquema se graba físicamente en un chip ATECC CryptoAuthentication dedicado. Como resultado, Siemens dice que no tiene una solución planificada para ninguno de los 122 modelos de PLC S7-1500 que la compañía listó como vulnerables.
Vulnerabilidad sin solución
Siemens afirmó que debido a que la vulnerabilidad requiere acceso físico para explotarla, los clientes deben mitigar la amenaza. En primer lugar, deben evaluar “el riesgo de acceso físico al dispositivo en la implementación de destino”; en segundo lugar, deben implementar “medidas para asegurarse de que solo el personal de confianza tenga acceso al hardware físico.”
Sin embargo, los investigadores señalan que la vulnerabilidad podría estar potencialmente encadenada con otras vulnerabilidades de acceso remoto en la misma red que los PLC S7-1500 vulnerables. Es decir, pueden implementar el firmware malicioso sin contacto en persona.
Los atacantes de Stuxnet utilizaron memorias USB maliciosas como un vector creativo para introducir su malware en redes con “espacio vacío” y, en última instancia, infectar los PLC de las series S7-300 y 400.
“Los PLC de Siemens se utilizan en capacidades industriales muy importantes en todo el mundo, muchas de las cuales son objetivos de ataques potencialmente muy atractivos, como sucedió con Stuxnet y las centrifugadoras nucleares”. Grant Skipper, científico investigador de Red Balloon Security.
La ubicuidad y la criticidad de los PLC S7-1500 son las dos características que motivaron a los investigadores a profundizar en la seguridad de los dispositivos. Para un atacante motivado y con buenos recursos, vale la pena explotar cualquier defecto.
“El firmware cifrado significa que,superficialmente, no había ninguna información dentro de un dispositivo, por lo que queríamos ver qué se escondía en la línea de productos 1500. Los dispositivos usan un coprocesador de criptografía dedicado para verificar el firmware cifrado que está cargado en el dispositivo, descifrar el firmware y permitir que el dispositivo arranque. Sin embargo, encontramos vulnerabilidades de las que un atacante podría abusar para hacer que el coprocesador criptográfico actúe como un oráculo para descifrar el firmware y luego ayudar a manipularlo para realizar modificaciones maliciosas”.
Posibles ataques
Dado que el firmware es la base de las funciones de un dispositivo, la capacidad de modificar el firmware de forma silenciosa socavaría todas las demás protecciones de seguridad. Es decir, le daría a un atacante el control total del dispositivo sin que su propietario se dé cuenta de que algo ha cambiado.
“Este núcleo criptográfico separado es un chip muy rudimentario. No es como un gran procesador, por lo que realmente no sabe con quién está hablando o qué está pasando en un contexto más amplio. Entonces, si puede decirle las cosas correctas que observó que el procesador le decía, le hablará como si fuera el procesador. Entonces podemos interponernos entre el procesador y el núcleo criptográfico y luego básicamente le decimos: ‘Oye, somos el procesador y te daremos algunos datos y queremos que los cifres’. Y el pequeño núcleo criptográfico no va a cuestionar eso. Simplemente lo hará”.
Siemens señala que las vulnerabilidades no están relacionadas con el propio proceso de actualización de firmware de la empresa y no dan a los atacantes la capacidad de secuestrar ese canal de distribución. Pero el hecho de que cualquier S7-1500 pueda convertirse en un oráculo de firmware es significativo y otorga un poder que los dispositivos individuales no deberían tener, socavando todo el propósito de cifrar el firmware en primer lugar.
“Los S7 no deberían poder volver a cifrar el firmware de otros S7. Esta es una vulnerabilidad de diseño fundamental y un error de implementación significativo”.
Mitigaciones
Si bien Siemens no ha lanzado directamente ninguna corrección para la vulnerabilidad, la compañía dice que está en proceso de lanzar hardware de procesador de nueva generación que corrige la vulnerabilidad para varios modelos S7-1500. Y la compañía dice que está “trabajando en nuevas versiones de hardware para los tipos de PLC restantes para abordar esta vulnerabilidad por completo”.
Los investigadores de Red Balloon dicen que aún no han podido validar de forma independiente que la vulnerabilidad se haya solucionado en este último hardware S7-1500.
Aún así, afirman que sería posible que Siemens lanzara una herramienta de auditoría de firmware para cualquier PLC para verificar si se ha manipulado el dispositivo. Dado que la vulnerabilidad persistirá en los dispositivos afectados, dicha característica les daría a los propietarios de S7-1500 más información sobre sus PLCs y la capacidad de monitorearlos en busca de actividad sospechosa.
“Es la misma película, solo que en un día diferente. ¿La seguridad de hardware exótica y muy complicada mejora la seguridad general? Bueno, si lo haces bien, podría ayudar, pero no he visto a ningún humano hacerlo bien. Cuando lo haces mal, siempre se convierte en una espada de doble filo, y el filo de esa espada es muy afilado”.
Aunque Siemens dice que está abordando la vulnerabilidad S7-1500 en nuevos modelos, el uso de estos en sistemas de control industrial e infraestructura crítica en todo el mundo es extensa. Y, estas unidades permanecerán en uso durante décadas.
“Siemens dice que esto no se solucionará, por lo que no es solo un día cero, seguirá siendo un día para siempre hasta que todos los S7-1500 vulnerables queden fuera de servicio. Podría ser peligroso dejar esto sin abordar”.