Protegiéndose de BlackEnergy: detectando anomalías

Publicado el 05/05/2016, por INCIBE
Protegiéndose de BlackEnergy: detectando anomalías

En el artículo “BlackEnergy y los sistemas críticos” se realizó un análisis técnico del troyano, indicando las versiones, métodos de infección y alguna medida a tener en cuenta para mitigar los riesgos de un potencial ataque. Ahora nos centramos en su modo de actuación una vez producida la infección, y en cómo poder detectarlo a través del análisis de las comunicaciones en busca de anomalías.

Para ponernos en situación, el funcionamiento de BlackEnergy puede resumirse en tres funciones:

  • Comunicación con el C&C. Una de las primeras acciones que intenta realizar BlackEnergy para poder descargarse nuevos componentes y subir información sustraida.
  • Escaneos de red. Buscando generalmente servicios abiertos relacionados con protocolos del sector energía como ICCP o IEC-104 para obtener información de la red.
  • Envío de comandos. Para la ejecución de órdenes que incluían múltiples aperturas y cierres de interruptores de circuitos, o más comúnmente conocidos como breakers, en un espacio limitado de tiempo.

Las dos primeras acciones llevadas a cabo por este malware podrían ser detectadas y bloqueadas mediante prácticamente cualquier cortafuegos o dispositivo IDS/IPS comercial, sin ser necesario que sean específicos para sistemas de control, puesto que sólo es necesario controlar el origen y el destino de la información a través de la IP.

La última acción es la que requiere de herramientas específicas para su detección y mitigación. BlackEnergy hace uso, en general, de comandos permitidos por el sistema, pero en un número elevado en espacios de tiempo relativamente cortos. Para esta tarea es necesario disponer de un analizador de tráfico de red capaz de comprender los protocolos industriales, en el caso de BlackEnergy los específicos del sector eléctrico.

Las herramientas de análisis de tráfico de forma pasiva, complementan las tareas realizadas por los IDS/IPS alertando a los operadores de posibles fallos o ataques. La ventaja de estas herramientas en los sistemas de control consiste en analizar el tráfico de forma pasiva, lo que supone que no se interfiere en el proceso del sistema, incorporando retardos o bloqueando señales, y, además, se detectan problemas que puedan originar tráfico permitido pero fuera del patrón habitual.

Elegiremos una herramienta comercial tomada como ejemplo de las que existen en el mercado para preparar un escenario de pruebas y poder así analizar las pruebas realizadas con la herramienta detectando las acciones llevadas a cabo por el malware BlackEnergy.

Una herramienta: SilentDefense ICS

SilentDefense ICS, de la empresa Security Matters, es una plataforma de detección de intrusos y monitorización de la red diseñada para proteger infraestructuras y sistemas de automatización críticos de amenazas lógicas tanto internas como externas.

Esta herramienta dispone de un panel de control, accesible a través de un navegador web, desde donde se configuran todas las opciones de la misma y desde donde se puede observar el estado de seguridad, las alertas generadas y diferentes cuadros de mando.

Cuadros de mando de SilentDefense ICS

- Cuadros de mando de SilentDefense ICS -

SilentDefense ICS se alimenta de datos de tráfico de la red, gracias al uso de uno o más sensores que se encargan de monitorizar el tráfico de red. Estos sensores, habitualmente consisten en habilitar un puerto espejo en un switch que recoja todo el tráfico de las interfaces de red que se quiere controlar. Sobre este sensor se determinan los perfiles de monitorización de red según el nivel de precisión deseado para incluir sólo un subconjunto de lo monitorizado, o realizar una inspección profunda de paquetes para seleccionar partes o protocolos muy específicos sobre los que aplicar la monitorización.

Configuración del sensor

- Configuración del sensor -

La parametrización de las reglas en SilentDefense ICS se realiza mediante módulos específicos que permiten modificar y añadir características según las necesidades de los entornos. En esta demostración se ha utilizado una parametrización expresamente desarrollada para protocolos de red IEC 60870-5 y cuyo detalle se describe a continuación.

Entorno de pruebas de laboratorio

Las comunicaciones en las compañías eléctricas suelen estar centradas en los protocolos IEC 60870-5 (típicamente IEC101 sobre comunicaciones serie e IEC104 sobre TCP) para las comunicaciones con los centros de trasformación y subestaciones; e ICCP para las comunicaciones entre diferentes centros de control o con otras compañías del sector. Para el laboratorio se ha seleccionado IEC104 como protocolo para llevar a cabo las comunicaciones.

TIpos de comandos permitidos en IEC 104 (ASDU TypeID)

- Tipos de comandos permitidos en IEC 104 (ASDU TypeID) -

La infraestructura de red utilizada en el laboratorio se muestra en el siguiente diagrama:

Red entorno de pruebas

- Diagrama de red -

En esta arquitectura se puede identificar una red en la que se sitúan 3 máquinas que ejecutan un esclavo del protocolo IEC104, simulando ser subestaciones eléctricas y 1 máquina que se correspondería con el centro de control y que ejecuta un maestro IEC104. La simulación de los elementos maestro y esclavo del protocolo IEC104 se han realizado mediante las aplicaciones gratuitas IEC Server , IEC 60870-5-104 Client/Server y el software IEC 870-5-104 Simulator en su versión DEMO.

Todo el tráfico generado en estas comunicaciones es capturado por la herramienta de monitorización a través de un puerto espejo.

Paralelamente a la red de subestaciones, existe una red de administración, desde dónde se administra el panel de control de la herramienta y se comprueba la seguridad del sistema y las alertas producidas.

Prueba de uso de SilentDefense ICS

Para poder llevar a cabo la detección de posibles ataques con la herramienta, lo primero de todo es facilitarle el acceso a todo el tráfico de red que se desea proteger.

Puesto que la configuración manual puede ser algo tediosa, la herramienta dispone de un modo de aprendizaje para determinar el tráfico considerado habitual en la red. Este aprendizaje automático tiene la limitación de que sí ya existe algún tipo de malware en el sistema comunicando con sitios no deseados también se tomará como tráfico normal, es por ello que después del aprendizaje se requiere una revisión manual de los patrones para parametrizar correctamente en sistema.

Esta puesta en marcha ya permite detectar diferentes tipos de anomalías o ataques relacionados con tráfico no parametrizado. De esta manera ya es posible detectar las dos primeras acciones llevadas a cabo por BlackEnergy.

En el entorno de pruebas se ha simulado un acceso a una de las subestaciones desde el centro de control a través del escritorio remoto. Al ser esta comunicación dentro del tráfico aprendido, se genera una alerta de nivel medio debido a la aparición de tráfico en protocolos no permitidos.

Alerta de acceso a través de protocolo no permitido

- Alerta de acceso a través de protocolo no permitido -

Lo mismo sucede en la comunicación C&C, al ser una IP desconocida y no perteneciente a la lista blanca se genera también una alerta de nivel medio.

Alerta de comunicación con un sitio desconocido

- Alerta de comunicación con un sitio desconocido -

Detectar la tercera acción de BlackEnergy resulta más complejo ya que se trata de detectar acciones ilegales o problemáticas realizado mediante tráfico permitido. En este caso se requiere de una parametrización llevada a cabo por el gestor o administrador de la herramienta.

El envío de órdenes hacia las subestaciones por parte del malware requiere de la aparición de un nuevo maestro de la comunicación IEC 104 en la red, este hecho es detectable de forma similar a las dos primeras acciones, al aparecer una nueva IP o un nuevo puerto en la red, la diferencia está en que en este caso, al detectar el protocolo IEC 104, la herramienta permite generar una alerta más específica.

Comandos enviados por un Maestro no autorizado

- Comandos enviados por un Maestro no autorizado -

La apertura o cierre de breakers, o mejor dicho, el envío de órdenes IEC 104 para la apertura o el cierre de breakers en un breve periodo de tiempo, fue lo que realmente provocó el apagón generado por BlackEnergy en Ucrania. La detección de estas acciones resulta más compleja, pues de forma individual todas las órdenes están permitidas. Aquí entra en juego la inteligencia de la herramienta y la parametrización llevada a cabo por el administrador de la misma.

Parámetros de configuración

- Parámetros de configuración -

En el entorno de pruebas se ha simulado el ataque generando órdenes IEC 104 entre un maestro (el centro de control) y un esclavo (una subestación) para abrir y cerrar 5 breakers diferentes en un espacio muy corto de tiempo.

Tráfico capturado con Wireshark

- Tráfico capturado con Wireshark -

Alerta de apertura de varios breakers en un breve espacio de tiempo

- Alerta de apertura de varios breakers en un breve espacio de tiempo -

Alerta de cierre de varios breakers en un breve espacio de tiempo

- Alerta de cierre de varios breakers en un breve espacio de tiempo -

La existencia de herramientas de análisis de tráfico con capacidades para los protocolos industriales, como SilentDefense ICS y otras herramientas similares (FlowBat, Achilles, etc.), demuestra un interés creciente por parte de los fabricantes de herramientas de seguridad para orientar productos hacia un entorno tan específico como los sistemas de control industrial. La experiencia aportada, contribuye sensiblemente a mejorar e incrementar la seguridad en los entornos industriales tanto de forma general como atendiendo exigencias que ya se han puesto a prueba con malware específico como es el caso de BlackEnergy.