BANDS: Detección proactiva de amenazas en infraestructuras críticas

jueves, 30 de octubre de 2014

En 1983 una infiltración en el Mando Norteamericano de Defensa Aeroespacial (NORAD), estuvo a punto de desatar la tercera guerra mundial. Por suerte, en el último momento, justo antes de que se lanzaran los misiles nucleares estadounidenses, se descubrió que en realidad todo era una falsa alarma provocada por un muchacho espabilado, que con un ordenador primitivo y un simple módem había quebrantado el más avanzado sistema de seguridad. Solo fue un juego.

En realidad, esto nunca sucedió sino que se trata del argumento de la película de ficción Juegos de Guerra (WarGames, John Badham, 1983). A principios de los ochenta, en aquellos años de pantallas de fósforo verde e interminables líneas de comandos, pudo parecer que estas amenazas informáticas eran simplemente un entretenimiento juvenil, fruto de mentes calenturientas y, aunque resulte un tópico, una vez más la ciencia ficción se adelantó a su tiempo y nos presentó circunstancias posibles dentro de un marco imaginario que se han hecho realidad.

Veintisiete años después, en 2010, los ataques militares a las plantas nucleares iraníes llevados a cabo con el malware Stuxnet se hicieron mundialmente conocidos (incluso para aquellos ajenos a la seguridad informática). Por primera vez la sociedad fue consciente de que las amenazas informáticas no solo comprometen el mundo digital, sino que también son un riesgo, mucho mayor si cabe, para el mundo físico. A partir de entonces la seguridad se convierte en la prioridad para el sector industrial. En el mundo presente, donde todas las infraestructuras están interconectadas, las consecuencias de un ciberataque en infraestructuras críticas pueden ser fatales. De todos modos, y conteniendo el alarmismo, hay que constatar que este ataque contra los sistemas SCADA de Irán fue posible porque nadie lo había anticipado, y por eso las defensas eran mínimas. En la actualidad, los niveles de seguridad han aumentado considerablemente. Entonces, ¿estamos a salvo?

 Mucho se ha avanzado en seguridad industrial de infraestructuras SCADA, incluso se ha legislado normativa al respecto. Aun así, es una necesidad anticiparse al cibercrimen, así que nuevas y más dinámicas estrategias son necesarias, en concreto aquellas que se adapten a la vertiginosa mutabilidad de las amenazas.

Cabe en este punto recordar a quienes ya conocen y también informar a los neófitos acerca de que es SCADA. SCADA es el acrónimo de Supervisión, Control y Adquisición de Datos. Este tipo de infraestructuras consiste en una arquitectura centralizada de computadores. El objetivo es la supervisión y el control remoto y automático de una instalación o proceso industrial. En concreto, permite que un ordenador central reciba información en tiempo real de los dispositivos de campo (sensores y actuadores), y controla el proceso automáticamente. Los protocolos usados pueden ser muy variados (MODBUS, IEC104, etcétera), así como las tecnologías de comunicación (LAN, radio, línea telefónica, etcétera). Otra característica relevante que les hace más o menos vulnerables es que pueden o no estar conectados a Internet. En la actualidad, lo más frecuente es que si estén interconectados con el exterior, puesto que se hace necesario que los departamento de negocio, habitualmente no localizados en la propia industria, tengan acceso al proceso industrial.

Tradicionalmente, la seguridad para las infraestructuras SCADA se ha estado basando en estrategias estáticas que comprenden: la auditoría de la red para eliminar posibles brechas de seguridad; el aislamiento de la red o el bloqueo de intrusión por medio de cortafuegos; y fortalecer la seguridad de los terminales –esclavos o maestros– desconectando servicios innecesarios del sistema operativo, el análisis y resolución de bugs de los sistemas operativos y el uso de antivirus.

Topología BANDS usando Sinfonier


La original solución que propone el proyecto BANDS de Telefónica, incluida en la gama de servicios Saqqara, es la detección de anomalías en tiempo real buscando las secuelas que produce un ataque o cualquier otro tipo de incidente. BANDS está construido sobre la plataforma Sinfonier de procesamiento en tiempo real (tecnología Storm de Apache). BANDS es un sistema de monitorización y detección de intrusión que detecta los eventos inusuales, tanto ataques cibernéticos como errores operativos, y logra este objetivo modelando patrones de compartimiento por medio de la monitorización de todo el tráfico de red en tiempo real. BANDS hace acopio de las tramas IP que intercambian los dispositivos de la red para extraer información de ellas. BANDS no busca la amenaza en sí, que puede haber mutado y ser irreconocible, sino las repercusiones que esta tiene sobre el sistema SCADA. A partir de esta información es capaz de:

  • Construir una topología de la red de acuerdo al comportamiento de cada dispositivo,
  • Detectar si se incorporan nuevos terminales desconocidos a la red o algún terminal asume un rol distinto al que venía ocupando,
  • Identificar el patrón de conexiones, volumen de datos y frecuencia habitual, y alertar si hay cambios en el patrón normal,
  • Alertar de inmediato en caso de que un terminal pierda la comunicación,
  • Monitorizar el comportamiento de los PLCs y detectar comportamientos anómalos tales como comandos no habituales, perdidas de medidas, superación de umbrales o congelación de medidas (esta funcionalidad se logra gracias a que BANDS interpreta protocolos SCADA),
  • Utilizar información externa a modo de contexto para ser utilizada en el proceso de modelado y análisis de las plataformas.

Esto permite conocer de manera inmediata si se ha producido un ataque e incluso posibles errores accidentales como la perdida de conectividad de un terminal.


Proceso de construcción de topologías con Sinfonier

Con el doble propósito de que BANDS no solo permita el procesamiento en tiempo real, sino también la personalización de las detecciones incorporando el conocimiento de las infraestructuras propias de los clientes, el proyecto se ha desarrollado sobre Sinfonier. Sinfonier es una plataforma que posibilita la creación edición y gestión de topologías para procesar flujos de datos por el sistema de computación en tiempo real Apache Storm.

Con Sinfonier, aparte de escalabilidad, dinamismo y tolerancia a fallos, se posibilita la facultad del trabajo conjunto y colaborativo entre Telefónica y sus clientes. Sinfonier permite crear módulos de procesamiento de manera sencilla y fácilmente integrable. Sinfonier ofrece una interfaz web para combinar los módulos de procesamiento –los propios y los genéricos alojados en la comunidad por Telefónica y otros desarrolladores– para así construir topologías complejas a un golpe de click
. De este modo, se propicia que la propia industria para que diseñe a medida su sistema de seguridad de BANDS de acuerdo a sus necesidades específicas. Sinfonier combina un interfaz fácil de usar, modular y adaptable e integrado con otras soluciones avanzadas de seguridad, que sirven tanto como fuente de datos como destino de ellos.
Patrones que BANDS es capaz de reconocer

En resumen, las principales características de BANDS-Sinfonier son:
  • Sistema de computación en tiempo real Storm Apache.
  • Modelado de patrones de compartimiento en tiempo real.
  • Aprendizaje autónomo.
  • Detección de anomalías de red IP.
  • Detección de anomalías de protocolos SCADA (MODBUS e IEC104).
  • Gestión de alertas a través de un portal web.
  • Fácilmente escalable. Cliente final puede desarrollar sus propios módulos de procesamiento o bien los que están disponibles en la comunidad Sinfonier. • Interfaz web para la construcción de topologías de procesamiento.
  • Altamente configurable.
  • Capacidad de procesado de información de otros sistemas o servicios.
  • Disponibles Soportado por comunidad Sinfonier.

Evaluación práctica de BANDS.


Fue llevada a cabo en una central eléctrica, donde quedó patente que este servicio es capaz de dar respuesta a los problemas característicos de un Centro de Control (CC) de producción eléctrica. BANDS fue capaz de detectar el siguiente tipo de anomalías:

  • Detección de interrupción en el reporte periódico y constante de medidas de generación eléctrica enviados desde las centrales al CC.
  • Detección de medidas erróneamente reportadas al CC, tanto medidas congeladas como medidas fuera del rango esperado.
  • Detección de otras situaciones interesantes para el administrador de un CC como son la detección de mensajes extraños, la aparición de nuevos hosts (servidores y centrales) y las anomalías horarias.

Pasando a un plano más específico, BANDS detectó en las instalaciones las siguientes situaciones anómalas. Estas detecciones se produjeron en tiempo real y también mediante un análisis detallado offline del proceso de modelado y sus resultados:

  • Switching de los dos servidores SCADA descubiertos en dos ocasiones. Esto ha dado lugar a una serie de alertas, descartables todas ellas por venir derivadas de dichos cambios de servidor.
  • Descubrimiento de centrales de producción no recogidas en la relación de centrales facilitada a los autores de este estudio. 
  • Además, algunas centrales jamás se han visto intercambiando mensajería con los servidores SCADA más allá de simples intentos de establecimiento de conexión TCP.
  • Pérdida generalizada de reportes de medidas, durante cortísimos periodos de tiempo que en todo caso no parecen afectar al funcionamiento general del sistema SCADA. 
  • Existencia de determinadas medidas congeladas en un valor concreto, durante largos periodos de tiempo.
  • Medidas que sobrepasan los rangos efectivos o aprendidos para cada uno de los tipos de mensaje existentes. Quedaría por comprobar que no sean falsos positivos al enfrentarlos a los rangos teóricos.



Francisco Oteiza 
francisco.oteizalacalle@telefonica.com
Francisco Jesús Gómez 
franciscojesus.gomezrodriguez@telefonica.com
David Prieto
david.prietomarques@telefonica.com