Hallan numerosas vulnerabilidades críticas en SCADA

24/05/2017

"Detrás de las comodidades más modernas, existe un sistema SCADA que las controla", señalaron investigadores de Trend Micro en un nuevo informe que se adentra en el corazón de vulnerabilidades que afectan a las Interfaces Humano Máquina (HMIs) de sistemas SCADA.

Tiempo promedio para parchar vulnerabilidades desde el momento en que se descubrieron
Tiempo promedio para parchar vulnerabilidades desde el momento en que se descubrieron

"Los sistemas SCADA son el núcleo de plantas de tratamiento de agua, tuberías de gas, sistemas de distribución de energía eléctrica, parques eólicos, sistemas de comunicación, e incluso las alarmas de protección civil. Por lo tanto, los ataques a los sistemas SCADA tienen el potencial de afectar a una amplia gama de sistemas y numerosas piezas de la infraestructura crítica".

Las HMI son el punto más lógico de ataque: si se compromete una HMI, los atacantes pueden hacer casi cualquier cosa a la infraestructura crítica que gestiona.

Vulnerabilidades en las HMI

Los investigadores de Trend Micro revisaron publicaciones del ICS-CERT (Industrial Control Systems Cyber Emergency Response Team) del 2015 y 2016 referentes a las vulnerabilidades de las HMI, e hicieron una referencia cruzada con más de 250 vulnerabilidades de día cero adquiridas por el programa ZDI (Zero Day Initiative).

Encontraron que:

  • Alrededor de 20% de las vulnerabilidades identificadas son problemas de corrupción de memoria (problemas de seguridad de código como desbordamientos de búfer y vulnerabilidades de lectura/escritura fuera de los límites asignados).
  • 19% son cuestiones de manejo de credenciales (contraseñas en el código fuente, contraseñas almacenadas en texto, cuentas de apoyo ocultas con todos los privilegios, etcétera).
  • 23% son problemas vinculados con la falta mecanismos de autenticación/autorización y configuraciones por defecto.
  • 9% son vulnerabilidades de inyección de código que dejan a los sistemas HMI expuestos a diversos tipos de inyección.

También encontraron que el tiempo promedio para parchar las vulnerabilidades, una vez que han sido reveladas al proveedor, el promedio desde hace 4 años, es decir, alrededor de 140 días.

Naturalmente, algunos proveedores son más rápidos en corregir las fallas que otros. Cogent Real-Time Systems y Trihedral Engineering se encuentran entre los más rápidos, mientras que los proveedores más grandes como ABB, GE, Indusoft, y PTC tardan en promedio más de 200 días para producir un parche:

Tiempo promedio para parchar vulnerabilidades por vendedor
Tiempo promedio para parchar vulnerabilidades por vendedor

Los errores en el desarrollo y la aplicación de parches, y qué hacer con ellos

"Los proveedores de sistemas SCADA tienden a centrarse en el equipo industrial y no en el software que los gestiona debido a que obtienen mayores ganancias al vender el hardware", señalaron los investigadores.

"Cuando se trata del código detrás de los sistemas SCADA, la mayoría no utilizan medidas básicas de defensa en profundidad como la aleatorización del espacio de direcciones de memoria (ASLR), SafeSEH, o cookies de pilas. Esto puede estar relacionado con la creencia errónea de que estas soluciones funcionarán en un entorno completamente aislado. Los desarrolladores de soluciones SCADA a menudo tienen poca experiencia con respecto a la construcción de la interfaz de usuario (UI). A esto se suma el hecho de que los desarrolladores no saben cuál será el entorno de funcionamiento final de los sistemas. Esto provoca que los desarrolladores hagan suposiciones que a menudo son incorrectas".

Categoría de las vulnerabilidades
Categoría de las vulnerabilidades

El informe también muestra los errores que las empresas cometen al tratar de corregir las vulnerabilidades. En muchos casos, arreglan problemas específicos, pero no van más allá de eso y, por ejemplo, solo sustituyen APIs prohibidas, funciones problemáticas, etcétera.

Pero, lo más importante, los investigadores también han ofrecido soluciones.

"Sería aconsejable que los desarrolladores de soluciones HMI y SCADA adoptaran las prácticas del ciclo de vida seguro llevadas a cabo por los desarrolladores de sistemas operativos y de aplicaciones en la última década", señalaron.

"Los desarrolladores de SCADA también deben considerar que sus productos serán utilizados de maneras que no tenían pensado. Por ejemplo, a pesar de que debería considerarse una práctica de seguridad pobre, los desarrolladores deben asumir  que sus productos y soluciones estarán conectados a una red pública. Teniendo en mente el peor de los escenarios, los desarrolladores pueden implementar más medidas de defensa en profundidad para añadir protección".

También señalaron a los vendedores (y a investigadores de seguridad) lo que ellos creen que es la dirección correcta cuando se trata de encontrar vulnerabilidades en soluciones HMI:

  • Emplear fuzzing básico (pruebas de software)
  • Utilice el Analizador de superficie de ataque de Microsoft para identificar los errores de configuración de seguridad y el incremento de la superficie de ataque
  • Auditar APIs inseguras, prohibidas, y otras funciones problemáticas