Después de encontrarme - casi - sin buscarlo con la historia que os narré en "
Tu industria en mis manos", como dice un gran amigo, no podía dejar de “
pegar botonazos”,
con lo que he continuado en la misma línea de pruebas. Como se
desprende de aquel artículo, existen multitud de sistemas de
automatización industrial expuestos en
Internet con credenciales de acceso configuradas con sus valores por defecto, lo cual ya sabemos lo peligroso que puede llegar a ser.
Aunque esto suele ser debido a la mala praxis o a puro desconocimiento
de los riesgos por parte del integrador, pero lo más grave es cuando
los propios fabricantes no se preocupan por la seguridad de sus sistemas.
En esta ocasión nos vamos a centrar en los autómatas
industriales de la firma
Omron. He realizado un pequeño estudio utilizando las capacidades de
zmap y
masscan, además de un pequeño programa propio, para buscar este tipo de controladores expuestos en
Internet. Tras los resultados iniciales se puede concluir que, de los sistemas encontrados, aproximadamente el
10% están protegidos mediante el uso de una clave mientras que el resto no tiene ningún tipo de protección para acceder.
Centrándosos ya solo en ese
10%, la pregunta que nos podemos realizar es:
"¿Como de segura es la clave de protección de este tipo de dispositivos?" Para
intentar responder a esta cuestión, he realizado una pequeña prueba de
concepto, concretamente con un controlador de tipo “
CP1L-EM”.
 |
Figura 1: Controladores Omron gama CP1L |
Para la prueba de concepto simplemente vamos a hacer un esquema típico de ataque en red de datos de
man in the middle envenenando la tabla
ARP con mensajes
spoofeados. Con esto nos colocaremos entre el
PLC (Programable Logic Controller) y el usuario que está conectado a él. Lo que se espera no es nada más que capturar el momento en el que el
software de programación del
PLC intercambie la clave de acceso con dicho
PLC.
 |
Figura 2: Haciendo un man in the middle con arpspoof en Kali Linux |
Como se puede ver, se ha utilizado
arpspoof de
Kali Linux para hacer el ataque. Ahora solo hay que esperar el momento en el que el programador bloquee o desbloquee el acceso al
PLC
mediante su software de programación para capturar la negociación de
acceso, para lo que se debe capturar todo el tráfico de red utilizando
un programa como
Wireshark.
 |
Figura 3: Configuración de claves de acceso en el software de programación del PLC |
Aplicando los filtros pertinentes por dirección
IP podemos observar que la clave que se envía desde el software de programación hasta el dispositivo
PLC se pasa en texto claro, sin usar ningún tipo de cifrado o algoritmo de seguridad.
 |
Figura 4: La clave de acceso va en texto claro entre el dispositivo PLC y el software de programación |
Como podemos observar, la clave se pasa en claro entre el software de
programación y el autómata programable, con lo que la interceptación de
ésta es tremendamente sencillo.
Afortunadamente, hace tiempo que se están dando pasos por parte de la
UE
para que se tome conciencia del riesgo que entraña el tener
desprotegidos este tipo de sistemas, pero aún así parece que no
aprendemos. Ahora que “
todo el mundo” se preocupa de si la
NSA tiene a su
PRISM espiando la cuenta de
Facebook,
muchas de las grandes empresas tienen los sistemas que controlan sus
máquinas y procesos al alcance de cualquier desaprensivo con tiempo
libre.
Saludos,
Juan Luis Valverde Padilla
jl.valverde@jvalverde.es