Triton/Trisis/Hatman; un malware para SIS. Actualizado 14/02/21

Hace unos años saltaba la noticia acerca de la aparición de un nuevo malware para Sistemas de Control Industrial bajo el nombre TRITON, TRISIS o HATMAN. Un malware que a diferencia de otros como Stuxnet, Havex, Blackenergy2, CrashOverride tiene como objetivo sistemas SIS.

Los sistemas SIS (Safety Instrumented Systems) son los encargados de mantener bajo condiciones “seguras” instalaciones, procesos y equipos en caso de producirse alguna anomalía o mal funcionamiento. Así como en inglés podemos diferenciar entre “Security” y “Safety”, en español, empleamos únicamente la palabra “Seguridad” introduciendo cierta confusión. Es por ello es que muchas veces debamos especificar el ámbito al que hacemos referencia. Esto es, “Security”, seguridad de la información y “Safety”, seguridad de personas o instalaciones.

Estos sistemas operan al margen del propio proceso productivo, monitorizándolo y siendo independientes de los equipos que participan en él. No obstante, pueden estar integrados dentro de éstos. Aunque, en general, el equipamiento industrial es robusto y confiable, los SIS lo son aún más incorporando técnicas de corrección de errores, autodiagnóstico, componentes redundantes, aparte de una implementación específica acorde a la instalación o infraestructura de la que van a formar parte. Los requisitos están regulados según el estándar bajo el estándar IEC-61508, habiendo otros como el IEC-61511 que lo complementa en cuanto a uso de los mismos.

Cuando un sistema SIS detecta una condición que supera, o va en contra, de lo programado, actúa llevando el proceso a un estado seguro o deteniendo la actividad. Por ejemplo, son los encargados de parar el brazo de un robot en caso de que la puerta de la jaula donde se ubique, se abra evitando que éste pueda golpear a un técnico o dañar las instalaciones. O bien, parar una cadena de montaje si alguno de los sensores infrarrojos que delimitan su perímetro, detectan la presencia de una persona mientras está en movimiento evitando algún tipo de golpe, lesión o atrapamiento.

Como decía al principio, en esta ocasión, el malware detectado no afecta a sistemas de control tradicionales sino SIS, lo que supone un cambio a lo que podríamos estar acostumbrados y una evolución en los ataques a elementos OT.

TRITON/TRISIS/HATMAN, según sea la fuente en la que nos basemos, permite realizar cambios en los controladores SIS del fabricante Schneider Electric modelo Triconex. Entre sus características destacamos la capacidad para leer programas, lectura y escritura de funciones, consultas del estado del controlador y otras adicionales que pueden ser implementadas por medio de payloads específicos.

Durante el incidente que supuso la posterior investigación y detección de este malware, algunos controladores entraron en un estado de “seguridad” provocado por un supuesto fallo y que automáticamente pararon el proceso.

El malware se compone de dos piezas fundamentales. Por un lado, un componente que reside en un equipo tipo PC que posee el software legítimo para la comunicación de los controladores y por otro, dos binarios que se descargan en el propio controlador para actuar sobre él.

Todo comienza con el compromiso de la estación de trabajo encargada de la comunicación contra estos controladores SIS y que emplea sistema operativo Windows. El malware es nombrado como si fuera la aplicación Triconex Trilog, cuya función es el análisis de logs de las estaciones Triconex y que se encuentra dentro de la suite TriStation. El malware es distribuido dentro de un ejecutable denominado “trilog.exe”. Se trata de un script escrito en Python empleando el compilador “py2exe”, el cual es entregado junto con un fichero “library.zip”. Éste, contiene las librerías necesarias para poder operar así como dos binarios necesarios “inject.bin” (código de función maliciosa) e “imain.bin” (control lógico malicioso) que serán enviadas al controlador para la interacción con él. FireEye lo resume así en la siguiente imagen:

Una vez iniciado “trilog.exe” se crea una instancia que comprueba el estado del controlador mediante al protocolo TriStation empleado por el software legítimo TriStation TS1131 para la configuración de los mismo a través del puerto UDP 1502. Si éste se encuentra operativo, conecta con él y pasa los binarios “inject.bin” e “imain.bin” a las librerías de comunicación para enviarlas y almacenarlas en la memoria del controlador.

Una vez allí, el script realiza comprobaciones periódicas para conocer el estado del controlador. Si éste presenta algún error intenta resetearlo a un estado previo mediante el protocolo TriStation. Si esto fracasa, intenta escribir datos falsos en esa misma memoria para borrar cualquier rastro y obstaculizar cualquier tarea forense para determina la causa que ha provocado el fallo.

Dicho protocolo, que no implementa medidas de autenticación y cifrado aunque pueden configurarse ACLs en los equipos que lo dispongan, no está documentado públicamente,. Por tanto hace entender que el autor debió realizar labores de ingeniería inversa para poder llevar a su implementación. El descubrimiento de controladores SIS puede ser realizado mediante el envío de paquetes broadcast usando UDP 1502.

Es importante señalar que los controladores Triconex disponen de un “switch” físico que permite conmutar entre los distintos estados en los que puede operar el equipo. Las configuraciones y cambios deben realizarse en modo “Program”, posición bajo la que podría actuar TRISIS. Sin embargo, si lo está en modo “Run” o “Remote” las modificaciones no están permitidas, con lo que reduciríamos la probabilidad de que pueda ser comprometido.

Así pues, se presentan, a priori, distintos escenarios con las consecuencias que podrían tener sus efectos. Estos podrían ser:

  1. Parada del proceso. Se provocan distintos cambios no autorizados que hagan que los equipos detengan su funcionamiento en previsión de consecuencias mayores.
  2. Programación errónea de dispositivos SIS. Introducir variables o parámetros que permitiesen la operación de las instalaciones bajo condiciones que entrañen peligro para personas y elementos físicos.
  3. Parada o alteración de planta. Dependiendo del impacto afectar a la actividad de la compañía.
  4. Daños físicos. Sin la capacidad de regularizar o parar la actividad en caso necesario, la maquinaria o sistemas no interrumpirían su funcionamiento y por consiguiente el correspondiente daño.

Al parecer, se tiene constancia de que al menos existe una víctima localizada en la zona de Oriente Medio, no trascendiendo su identidad. Dada la naturaleza, propósito, grado de conocimiento tanto tecnológico como de proceso que se requiere, hace pensar que una nación pudiera estar detrás de la autoría. No se aprecian objetivos ni intereses económicos lo que se podría descartar delincuencia organizada.

Sin bien debemos ser conscientes de este nuevo y preocupante escenario, hemos de contextualizar y valorar todas las pruebas existentes, evitando sensacionalismos y alarmas innecesarias. La Ciberseguridad Industrial es un tema álgido dentro de los profesionales del sector, por lo que debemos analizar las circunstancias, condiciones, requerimientos y tecnologías para que estos ataques tengan efecto. Algunos de ellos podrían ser:

  1. Aplica a equipos concretos de un determinado fabricante, no a todos.
  2. Debe darse la condición de que un conmutador físico debe estar en cierta posición.
  3. Alto conocimiento de esta tecnología.
  4. Conocimiento del proceso que se gestiona para poder actuar de forma dirigida y provocar el mayor daño o impacto posible.
  5. No seguir las principales recomendaciones o estándares en materia de Ciberseguridad Industrial. Dependiendo del tipo de compañía, infraestructura o sector esto pudiera ser más o menos probable. No podemos considerar una empresa del sector petroquímico que una manufacturera del sector automoción.

Por último, mencionar algunas recomendaciones que pueden evitar tanto la infección, como la propagación y posterior ejecución.

  1. Establecer una red físicamente independiente para los sistemas SIS.
  2. Implementar NGFW que filtren el tráfico de gestión hacia ellos.
  3. Aplicar Control de Aplicación, Antivirus e IDS/IPS a nivel de red en NGFW.
  4. Sobre la Workstation para sistemas SIS aplicar soluciones de Control de acceso, usuarios con permisos específicos, integración a posible Directorio Activo; Whitelisting de Aplicación [1], [2]; Control de dispositivos USB [1]
  5. Aplicar controles de acceso físico a dichos sistemas; cabinas, armarios, etc.
  6. Registro de logs o envío de eventos cada vez que se lleve a cabo alguna intervención sobre SIS.
  7. Verificar la posición correcta de conmutadores físicos, en este caso, modo “Run” o “Remote”.

Así pues, por esta y otras, amenazas, vectores de ataque e intereses de distinto tipo, resulta necesario tomar medidas y controles sobre nuestros entornos OT. Obviamente, cada infraestructura, organización o compañía será objeto de unas u otras dependiendo de la importancia estratégica, criticidad o actividad, despertando los intereses de agencias, gobiernos, competencia o delincuencia. No podemos tratar a todos por igual. Hemos de contextualizar y analizar de la manera que merece, con la inteligencia que requiere.

Un saludo, nos vemos en la próxima.

Referencias:

Más información:

 

Safety, Parte II

En la entrada “Safety, Parte I” hacíamos una introducción a los equipos y componentes encargados de garantizar que todas las operaciones de control se lleven a cabo sin suponer un riesgo para las personas, medio ambiente o la propia maquinaria.

Finalizado el análisis de riesgos, toca implementar los mecanismos y componentes que permitirán la reducción de tales riesgos hasta un nivel que sea asumible.

Esta fase comprende el diseño, desarrollo, instalación y prueba del SIS. A partir de la definición de los requisitos y especificaciones, se determinan los equipos y despliegues que cumplan con ellos, siendo una de las principales características llevar a cabo su labor de forma automática e individual sobre cada instalación, maquinaria o proceso.

Para ello contaremos con sensores que detectarán la situación de peligro o violación de las circunstancias seguras de operación. Podemos hablar de:

  • Sensores de proximidad con actuación mecánica; como el que podría ser un final de carrera que pueda interrumpir la operación de manera más o menos brusca.
  • Sensores de posición magnéticos; orientados a elementos que puedan estar en movimiento como la apertura de una puerta.
  • Sensores detectores de objetos opto eléctricos como el que podría detectar la presencia de una persona al invadir, o superar, el limite o zona de una cortina de un haz de luz imperceptible al ojo humano.

Luego, esas señales son tratadas por otros elementos, bien por lógica cableada o programable. Esto es, relés de seguridad, controladores específicos o controladores de proceso con funciones de seguridad. Lo que se pretende aquí es que la decisión de interrumpir la operación de la maquinaria, la instalación, o cualquier otra unidad automatizada se lleve a cabo por circuitos eléctricos o mediante una unidad con lógica programable. En la siguiente imagen podemos encontrar en el margen izquierdo los primeros y en el derecho los segundos.

Dependiendo de los requisitos, entorno, complejidad, número de entradas, maquinaria, despliegue, etc. será recomendable, o necesario, optar por unos o por otros bajo alguna de las integraciones posibles como pueden ser:

  • Independientes, PLC de proceso y relé de seguridad.
  • Intercomunicados; PLC de proceso y un controlador de seguridad específico.
  • Integrados; PLC de proceso con capacidades para procesar señales de seguridad.

En el caso de los controladores, reciben el nombre de “Logic Solver” identificándose en muchos casos por los colores amarillo o rojo. Para garantizar su funcionamiento a pesar de fallos potenciales los podemos encontrar de forma redundante.

Otro de los aspectos diferenciadores es la programación distinta por la propia naturaleza de los equipos y elementos. En las imágenes siguientes podemos apreciar tales diferencias sobre CPUS del fabricante SIEMENS como son las 1511-1 PN y 1511F-1 PN.

Como hemos podido comprobar existe una interoperabilidad entre controladores de proceso (BPCS) y sistemas de seguridad (SIS), pero teniendo en cuenta en todos momento que se trata de sistemas distintos. Dicha interoperabilidad podrá darse mediante señales de entrada/salida o también emplear alguno de los protocolos existentes como CIP Safety, Safety over EtherCAT, ProfiSAFE, SafetyBUS u OpenSafety. Incluso fabricantes como SIEMENS poseen productos en los que esas señales pueden ser transmitida mediante redes inalámbricas. Ver el siguiente ENLACE.

No obstante, las seguridades no son exclusivas de las maquinarias o maquina herramienta como tornos, fresadoras, mandrinadoras, etc. sino a cualquier escenario que pueda suponer un peligro. Por ejemplo, en estaciones robots donde en caso de apertura de una puerta y un operario pueda estar dentro de la trayectoria de éste tal y como se representa la figura siguiente propiedad del fabricante ABB.

La protección de este tipo de dispositivos, ha cobrado especial interés desde el incidente que afectó a los controladores TRICONEX del fabricante Schneider Electric. Un incidente que nos hizo ver la importancia y la necesidad de proteger también este tipo de dispositivos. Bueno, proteger y tener los selectores en la posición que deben estar… pero bueno eso, es otra historia.

Espero que, aunque breve la entrada de hoy haya servido para conocer un poco más sobre SIS y su criticidad dentro de las tecnologías de operación.

No obstante, os dejo un par de videos en los que podéis encontrar información adicional.

 

¡¡Nos vemos en el siguiente!!

 

Safety, Parte I

En materia de Ciberseguridad vemos constantemente la comparativa de prioridades entre lo que pretende proteger la tradicional en entornos IT y la industrial. Esto es la llamada Confidencialidad, Integridad y Disponibilidad en la primera, y Disponibilidad, Integridad y Confidencialidad, en la segunda.

Lo cierto es que existen otros aspectos que son y podrán ser más importantes que el mero hecho de mantener la actividad de nuestras operaciones. Sean las que sean. Obviamente si lo vemos desde la perspectiva del negocio, no hay lugar a dudas, la “Disponibilidad” es lo primero.

Una de ellas es la Seguridad Funcional, esto es, lo que conocemos como “Safety”. Si bien en castellano lo agrupamos todo bajo el término “Seguridad” en inglés se establece una clara diferencia entre “Security” y “Safety”.

Cada máquina o instalación requiere de un estudio previo para determinar las posibles situaciones que podrían presentar, en primer lugar, un peligro para operarios o técnicos y también medio ambiente y la propia maquinaria. Esto comienza antes que cualquier otra medida de “Seguridad” tradicional.

Entre esas situaciones podríamos citar:

  • La violación de una condición.
  • Apertura de accesos físicos a piezas en movimiento.
  • Ingleso a una zona con riesgo de atrapamiento o lesión.
  • Una variable crítica que supera un valor máximo.
  • Intento de ejecución de una acción no autorizada.
  • Una orden de un operador.

Dichas medidas las podemos localizar tanto para prevenir como a mitigar los efectos, y dependiendo del entorno en cuestión, se alcanzará por unos medios o por otros tal y como muestra la imagen siguiente.

Para ello se ha de realizar un análisis de riesgos para analizar todas las posibles situaciones de peligro que dicha máquina o instalación puede provocar para personas, medio ambiente y los elementos físicos y establecer la probabilidad de que dicho fallo se produzca. A partir de aquí, se han de determinar qué, cuáles o cuántos elementos (controladores, relés, sensores, etc.) van a ser necesarios para impedir que esto ocurra. Esto son los denominados SIS, Safety Instrumented System. Es decir, establecer cuáles van ser las medidas correctoras para reducir los riesgos hasta hacerlo algo tolerable.

Cada despliegue de sistema “Safety” es individual para cada máquina o instalación. El SIF, Safety Instrumented Function son las acciones que tiene que tomar el controlador para las “Salidas” del todo el sistema Safety a partir del estado de las entradas, para esa instalación concreta y mantener así el entorno bajo seguridad.

Como decía, para el diseño de un sistema Safety ha de hacerse un “Análisis de Riesgos”. Hay que identificar todos los riesgos potenciales y decidir cuál de esos riesgos requieren un sistema Safety y por tanto definir un SIF en consecuencia.

Sin embargo, un sistema Safety también tiene probabilidad de fallar, bien sea un sensor, un actuador o un “Logic Solver”. Por tanto, se ha de definir el concepto de PFD, Probability of Failure on Demand (Probabilidad de Fallo Demandado) y PLr (Required Performance Level) y contrastarlo con los requisitos “Safety” identificados. Por ello se definen dos aproximaciones, una el SIL (Safety Integrity Level) y PL (Performance Level), las cuales establecen la probabilidad de que ocurra un evento peligros y de si ésta puede reducirse uno o varios niveles.

En el caso de Performance Level quedaría de la siguiente manera, donde:

  1. S = La gravedad de la lesión
    1. S1 = Lesión leve
    2. S2 = Lesiones graves incluyendo la muerte
  2. F = Frecuencia o y/o duración de la exposición a peligros
    1. F1 = Rara vez o a menudo y/o corta duración de la exposición
    2. F2 = Exposición frecuente a continua y/o de larga duración
  3. P = Posibilidad de evitar el peligro
    1. P 1= Posible bajo ciertas condiciones
    2. P2 = Apenas posible

En resumen, se puede decir que hay que hacer un análisis de riesgos y en función del mismo determinar el nivel de seguridad exigible al controlador. Acto seguido se debe establecer el controlador para que cumpla con ese nivel de seguridad (es decir su PFD adecuado) y finalmente hay que demostrar que se cumple, es decir que una entidad reconocida lo certifique. Finalmente, llevar a cabo una operación y mantenimiento dentro del ciclo de vida tanto del conjunto de medidas Safety como del sistema en que está instalado. En general el proceso sería:

  • Análisis de Riesgos.
  • Implementación.
  • Verificación.
  • Certificación
  • Operación y mantenimiento.

El despliegue de estos equipos está regulado por estándares, normativa o legislación, los cuales pueden aplicarse a un ámbito en cuestión, esto es, maquinaria o procesos y también específicos del sector como el ferroviario, automoción, nuclear, etc. Algunas de ellas son:

  • UNE-EN ISO 13849-1
  • UNE-EN IEC 61511
  • UNE-EN IEC 61508
  • MIL-STD -882D, 882E
  • UNE-EN 50126, 50128, 50129, 50155, 50159
  • ISO 26262
  • IEC-50156

También hay que tener en cuenta el alcance geográfico como puede ser europeo, internacional o normativa específica de países, algo a tener en considerar si dicha maquinaria será, o pueda ser, desplazada entre posibles localizaciones que una empresa tenga en continentes o países distintos. Debemos recordar que cualquier modificación o cambio de la maquinaria puede requerir un nuevo estudio o certificación dependiendo del cambio realizado.

Asociado a estos aspectos, hay que diferenciar entre lo que el estándar IEC 62443 define como SL (Security Level) y lo que pueda llegar a ser el SIL o PL. Por un lado una cosa es definir el nivel de protección desde el punto de vista de la Ciberseguridad, esto es SL, donde protegemos los accesos, la información contenida en los sistemas de control, credenciales, y por otro la protección a las personas, medio ambiente o las instalaciones. Son conceptos distintos. En el primero protegemos a las máquinas de las personas y en el segundo protegemos a las personas de las máquinas.

Hasta aquí una brevísima introducción al término “Safety” y recordar que…. SAFETY FIRST”

No vemos en la siguiente!!