Vulnerabilidades en Sistemas de Control Industrial, SCI

Como ya hemos citado en artículos anteriores, las vulnerabilidades descubiertas en los sistemas de control y automatización industrial han ido en aumento de forma constante. Lejos queda la aparición de Stuxnet allá por el año 2010, al que han seguido otros nuevos, o incluso como citan algunas fuentes, algún precursor conocido después.

No debemos pensar que antes de este año no existieran vulnerabilidades que afectasen a este tipo de entornos. Sino que, el interés sobre estos ámbitos por parte de los profesionales vinculados a la ciberseguridad, ha ido en aumento. Gracias a ello, se ha difundido más cantidad de contenido técnico acerca de investigaciones, resultados y avances. El hecho de que protocolos basados en buses de campo comenzaran a implementarse sobre Ethernet y TCP/IP, ha permitido su uso sobre redes conmutadas tradicionales aumentando su exposición frente a todo tipo de amenazas.

En paralelo, debido a las filtraciones de estos últimos años como “Wikileaks” y “Caso Snowden”, además supimos que las Centrales de Inteligencia eran conocedoras de estas brechas explotables y que las ocultaron para aprovecharse de ellas con fines estratégicos o de espionaje contra amigos y enemigos.

Los ejemplos más conocidos de malware industrial son Stuxnet y Duqu, aunque también podemos tener otros como Havex, BlackEnergy 2, Conficker, NightDragon entre otros afines.

Pero todo no es malo, al contrario. Afortunadamente, organizaciones, empresas y gobiernos están tomando conciencia y, cada cual a su nivel, elaboran legislación para Protección a Infraestructuras Críticas, Eventos Tecnológicos, Guías, Formación a Profesionales, entre otras iniciativas y compromisos, para ayudar así a la securización y prevención de incidentes en este tipo de entornos.

Para que un atacante pueda llevar a cabo una acción determinada, deberá en una primera instancia aprovecharse de una vulnerabilidad y, mediante su explotación, alcanzar su, o sus propósitos. Existen distintos métodos para categorizar las vulnerabilidades, pero en este caso hablaré de la que hace el NIST en su publicación 800-82 Revisión 2. El propósito de este documento es proporcionar una guía para la securización de Sistemas de Control Industrial (ICS); incluyendo los Sistemas de Control y Adquisición de Datos (SCADA); Sistemas de Control Distribuido (DCS) y otros sistemas implicados en este tipo de entornos.

Debemos tener presente que algunas vulnerabilidades podrán ser mitigadas, mientras que otras no, debiendo ser aceptadas y controladas aplicando algún otro tipo de contramedida.

La aparición de nuevas vulnerabilidades diversifica aún más las casuísticas de nuevos incidentes con lo que este tipo de guías que pretenden orientar sobre cómo evitarlas deben adaptarse a los nuevos tiempos. Prueba de ello es que el documento el 800-82 original establecía 3 grandes grupos.

  1. Vulnerabilidad de plataforma
  2. Vulnerabilidades de red
  3. Vulnerabilidades a nivel de políticas y procedimientos.

Las dos primeras se enmarcan dentro del ámbito de vulnerabilidades técnicas o tecnológicas, ya que afectan a los dispositivos en sí, su software o sus comunicaciones. El tercer grupo afecta a la propia organización, al marco de gestión de la seguridad y a las normativas y procedimientos que se establecen para tratar con los sistemas de automatización y control, y en particular para garantizar su seguridad y protección.

Sin embargo, el borrador final de esta segunda versión publicada en febrero de 2015, ya aumentaba en 3 las vulnerabilidades de corte técnico.

En dicho apartado, se comienza por definir los conceptos de “Vulnerabilidad” y “Riesgo”, los cuales conviene tener claro. Los recordamos.

Vulnerabilidad: Son aquellas debilidades en los sistemas de información, procesos, implementaciones o controles sobre sistemas, que pueden ser explotadas por una amenaza. Sobre los tipos de amenazas ya escribía en los siguientes post “Amenazas sobre ICS (Parte I)” y “Amenazas sobre ICS (Parte II)”.

Riesgo: Propiedades de una organización, procesos de negocio, arquitectura, y sistemas de información que puedan favorecer en la probabilidad de que un evento generado por una amenaza pueda surtir efecto.

Como decía se mantiene el planteamiento de dos grandes grupos, unos referidos a nivel organizativo y otros a nivel técnico, éste último dirigido a sistemas, contemplando componentes, comunicaciones y software.

1.- Vulnerabilidades y Riesgos de Políticas y Procedimientos

  • Políticas de seguridad inadecuadas.
  • Falta de programas de formación y concienciación.
  • Ausencia o guías deficientes de implementación de Sistemas de Control Industrial.
  • Falta de mecanismos administrativos que hagan cumplir las políticas de seguridad.
  • Revisiones inadecuadas de los controles de seguridad.
  • Planes de contingencia no específicos.
  • Falta de políticas y procedimientos de gestión de cambios, control de accesos, métodos de autenticación.
  • Planes y procedimientos inadecuados en materia de respuesta ante incidentes.

2.- Vulnerabilidades y Riesgos en Sistemas de Control.

2.1.- Vulnerabilidades de arquitectura y diseño

  • Inadecuada incorporación del concepto seguridad dentro de las fases de diseño y la arquitectura.
  • Operativa de sistemas industriales sujeta a intereses de negocio (productividad) sin considerar factores de seguridad.
  • Perímetros de red no definidos.
  • Tráficos de red tanto de ICS como de otros dispositivos implementados sobre la misma infraestructura de red.
  • Servicios no controlados. Por ejemplo, DNS, DHCP, NTP, etc.
  • Inadecuado almacenamiento y tratamiento de logs.

2.2.- Vulnerabilidades de Configuración y Mantenimiento

  • Hardware, software y firmware no contemplados dentro de la gestión de configuraciones.
  • Nuevas versiones de software y sistemas operativos no implementados hasta la publicación de sus respectivas vulnerabilidades.
  • Software o sistemas operativos fuera de soporte o que el fabricante no desarrolla nuevos parches para vulnerabilidades conocidas.
  • Pruebas inadecuadas sobre cambios que afecten a la seguridad.
  • Controles de acceso remoto insuficientes o faltos de medidas de seguridad.
  • Configuraciones de equipos críticos sin copias de respaldo.
  • Información sensible almacenada en dispositivos portátiles.
  • Generación de contraseñas no sujetas a procedimientos y políticas.
  • Aplicación inadecuada de control de acceso a dispositivos.
  • Replicación de datos entre sistemas innecesarias o sin aplicar medidas de protección.
  • Software antivirus no instalado o desactualizado.
  • Despliegue de software antivirus sin realizar suficientes pruebas que puedan afectar al rendimiento o funcionalidad.
  • Empleo de software vulnerable susceptible de DoS.
  • Sistemas IDS/IPS no instalados.
  • Almacenamiento de logs mal gestionados o configurados.

2.3.- Vulnerabilidades y Riesgos de carácter Físicas.

  • Acceso físico a dispositivos por parte de personas no autorizadas.
  • Existencia de señales electromagnéticas, picos de tensión, cargas electromagnéticas que puedan afectar al funcionamiento o dañar los equipos.
  • Pérdida de suministro eléctrico de respaldo. Por ejemplo, apoyo de grupo electrógeno o segunda línea eléctrica.
  • Pérdida de control sobre niveles ambientales como humedad, temperatura, polvo en suspensión.
  • Puertos físicos desatendidos.

2.4.- Vulnerabilidades y Riesgos en el desarrollo de software.

  • Inapropiada validación de datos.
  • Medidas de seguridad no implementadas o deshabilitadas.
  • Métodos de autenticación, control de acceso y privilegios implementados de forma incorrecta o inapropiada.

2.5.- Vulnerabilidades y Riesgos de comunicaciones y red

  • Autorización innecesaria de comunicaciones entre sistemas de control.
  • Firewalls mal configurados o inexistentes.
  • Falta de logs de firewalls o routers que puedan proporcionar información sobre un incidente y sus orígenes.
  • Empleo de servicios de red que transmiten información en texto plano.
  • Implementación de protocolos vulnerables sin métodos de autenticación de extremos, cifrado de comunicaciones o control de integridad de mensajes.
  • Métodos de autenticación y cifrado de información débiles entre dispositivos y Puntos de Acceso en redes inalámbricas.

Con esta última entrega he querido hacer un repaso teórico en lo que a amenazas, vectores de ataque y vulnerabilidades en Sistemas de Control Industrial, SCI (O ICS en la lengua de Shakespeare) se refiere. Entender estos 3 puntos es clave para tomar conciencia del por qué es necesario proteger nuestras instalaciones y sobre qué puntos debemos prestar atención.

A partir de aquí viene la fase de implementar las medidas que corrijan las deficiencias encontradas tras la realización de un Análisis de Riesgos. Este Análisis es el punto de partida. No podemos poner en marcha ningún proyecto de Ciberseguridad Industrial sin antes haber analizado e inventariado nuestros activos. No podemos securizar, sino sabemos qué y cuántos equipos tenemos; con qué vulnerabilidades cuentan; qué tecnologías tenemos implementadas; que arquitectura de red tenemos instalada; y todos esos aspectos en los que nos hemos centrado y de tallado con anterioridad. Como hemos visto se basan principalmente en actuaciones sobre Sistemas y Procesos organizacionales, pero aunque parezca algo básico puede resultar muy complicado.

En fin poco a poco seguiremos avanzando, por ahora ya tenemos por donde empezar.

Un saludo, nos vemos en la próxima!

Vectores de ataque sobre ICS

Siguiendo con el tema de las Amenazas sobre Sistemas de Control y Automatización Industrial que podéis encontrar en “Amenazas sobre ICS (Parte I)” y “Amenazas sobre ICS (Parte II)” en esta ocasión voy a hablar sobre los vectores de ataque. Éstos se sitúan dentro de las intencionadas ya que tiene un origen humano y además requieren de una mayor o menor planificación.

Comencemos:

  • Manipulación de las comunicaciones

Se basa principalmente en la captura de tráfico, inyección de paquetes, tramas, modificación de la información, etc. Existen varias formas entre ellas el ya tan clásico Man in the Middle (MITM). Algunos de los protocolos de comunicación industrial no disponen de controles de autenticación o integridad de mensajes por lo que es posible alterarlos y modificar sus contenidos. Dependiendo de qué modifiquemos podremos cambiar parámetros en los equipos finales, interferir en su funcionamiento y con ello sufrir consecuencias más o menos graves.

  • Destrucción física

La destrucción física puede incluir tanto de infraestructuras como los dispositivos que las componen. Lo que se busca básicamente es el sabotaje, bien de forma directa mediante la rotura o por un medio que permita la re programación y alterar su funcionamiento.

  • Phishing

Este es un viejo amigo bastante conocido. Por recordar, lo definiremos como la técnica de ingeniería social que busca hacerse con información relevante o sensible  suplantando la identidad de una persona u organización de confianza para el individuo a atacar. El interés que busca puede ser muy diverso, desde hacerse con información de algún proyecto o prototipo hasta credenciales de administradores o ingenieros de proceso pasando por detalles sobre equipamiento.

  • Malware

El malware en cualquiera de sus versiones (troyanos, gusanos, rootkits, etc.) pueden tener una gran variedad de propósitos desde la denegación de servicio, pivoting, escalada de privilegios, sabotaje, y un larguísimo etcétera. Obviamente los resultados podrán ser igualmente diversos. Por ejemplo, la inundación de la red con tráfico broadcast, captura de tráfico o actividad del equipo, escaneo de host y servicios, cambio de parámetros y configuraciones, etc. A su vez, esta información puede ser enviada a lo que conocemos como “Comand and Control, C&C” para su explotación y llevar a cabo distintas opciones. Estas comunicaciones muchas veces son cifradas bajo protocolos y servicios normalmente abiertos según entornos como TCP 80, 8080, 443, 21 o UDP 53, 123, entre otros posibles.

Los ejemplos más claros en entornos industriales los más conocidos son Stuxnet y Duqu, aunque también podemos tener otros como Havex, BlackEnergy 2, Conficker, NightDragon entre otros afines.

  • Robo

Mediante este vector, como es lógico, nos encontramos con la sustracción de información. La que más suele interesar son las relacionadas con la actividad de las instalaciones, o la propia empresa. Podemos hablar de ficheros de configuración que contengan datos sobre dispositivos, sistemas, parámetros, referencia sobre los propios equipos y actividad.

Pero no todo se refiere al ámbito lógico, también está lo físico. El hurto del propio equipamiento existe, por ejemplo elementos de recogida de datos, PCs de monitorización, cableado y otras tantas cosas que puedan ser atrayentes para los amigos de lo  ajeno.

  • Spam

No hablamos que desde un sistema dentro de una instalación o entorno industrial deba poderse acceder al correo electrónico de los empleados, que obviamente no debe permitirse. Sino del uso incorrecto del mismo.

Hablamos que un usuario emplee la cuenta de correo corporativa para darse de alta en páginas web que a posteriori le hagan llegar mensajes no solicitados conteniendo publicidad y referencia a sitios web con contenido malicioso. Si accede, podría instalársele algún tipo de malware y a partir de ahí, pues… También puede contemplarse el recabado de información como otras cuentas de correo para luego enviarles más correos de este tipo y proseguir con la campaña.

  • Escalado de privilegios

Aprovechando un “bug”, error, o adjetivo similar de una aplicación o sistema operativo, un atacante podría llevar a cabo tareas que inicialmente un usuario no está autorizado o bien heredar los permisos de otro.

Un ejemplo lo tenemos en siguiente enlace, aquí. Parece que Siemens siempre está en boca de todos, pero hay otros muchos como estos:

Enlace 1

Enlace 2

Enlace 3

  • Repetición

Este tipo de ataques consisten en el reenvío de tráfico que ha sido capturado con anterioridad o generado intencionadamente mediante software. Además, aprovechando la falta de métodos de seguridad implementados en distintos protocolos como Modbus, los paquetes pueden ser modificados para provocar comportamientos distintos a la operativa normal, con los daños que eso pueda acarrear. Este vector está relacionado, como es lógico, con el punto “Manipulación de las comunicaciones”.

  • Spoofing

El spoofing consiste en suplantar la identidad de los actores que pueden intervenir en una comunicación. Existen varias técnicas, dependiendo del nivel en el que hagamos la suplantación, por ejemplo ARP spoofing, direcciones MAC; IP spoofing, direcciones IP; DNS spoofing, dominios; email spoofing, direcciones de correo electrónico; en fin todo aquello que pueda ser sustituido por otro distinto al original. Si bien éstas provienen del mundo IT, en el OT también podernos encontrarnos con algunas de ellas. Como hemos mencionado en el punto anterior, algunos protocolos de comunicación industrial no poseen medidas de seguridad que eviten o detecten este tipo de ataques.

  • Inyección de código

La inyección de código consiste en aprovechar esos “bugs” de programación presentes en las aplicaciones o sistemas operativos con para poder llevar a cabo distintos tipo de acciones. Alguna de ellas puede ser la obtención de información, la denegación de servicio, la apertura de una sesión contra un equipo concreto, pero dependiendo del código inyectado y la vulnerabilidad los resultados pueden ser muchos otros.

Dentro de los entornos industriales, es común la existencia de elementos HMI en los cuales se instalan distintas aplicaciones para el control de los autómatas, u otros elementos. Éstas pueden presentar fallos de programación y por tanto permitir estos ataques. De ahí que resulte elemental instalar sólo el software estrictamente necesario.

  • Denegación de servicio

Si bien ya lo hemos nombrado anteriormente, una denegación de servicio consiste en impedir que un sistema pueda ofrecer un determinado servicio para el que está destinado. Como origen podemos hablar tanto de las debilidades que puedan afectar a aplicaciones que prestan dicho servicio y por otro aquellas relacionadas con las comunicaciones. Por poner un ejemplo, en el primero de ellos podríamos hablar de que esa aplicación pueda “bloquearse” bajo unas determinadas condiciones de procesamiento y por otro que un PLC no pueda procesar varias comunicaciones simultáneas ya que los recursos hardware de los que dispone no sean suficientes y por tanto pueda bloquearse. Por experiencia, esto último, puede resultar muy común cuando lanzamos ciertos escaneos de vulnerabilidades sobre dispositivos de campo.

  • Ingeniería Social

Básicamente lo podríamos resumir como la técnica de no sólo obtener información de un individuo sino además conseguir que haga aquello que de otra manera no haría. Según diría Kevin Mitnick Se basa en 4 principios básicos:

  1. Todos queremos ayudar.
  2. El primer movimiento es siempre de confianza hacia el otro.
  3. No nos gusta decir No.
  4. A todos nos gusta que nos alaben

Las  técnicas empleadas pueden comprender desde plantear un problema o una necesidad para que, dentro de ese ánimo colaborativo, revelar o dar pistas sobre nuestras infraestructuras o componentes en ellas instaladas.

De esta manera hemos enumerado los posibles vectores de ataques que pueden de los que pueden ser objeto los Sistemas de Control y Automatización Industrial, siempre desde un punto de vista intencionado. Para ello deberemos de implementar distintas medidas técnicas y cumplir con unas políticas de seguridad previamente establecidas y de obligado cumplimiento. Pero sobre todo, concienciar a las personas que tengan contacto con la operativa, mantenimiento y despliegue de estas instalaciones sobre las amenazas y el creciente aumento de éstas . No podremos estar seguros al 100% pero sí reducir los riesgos hasta unos niveles aceptables.

No quisiera finalizar sin hacer referencia a dos frases que bien pueden encajar con la idea que aquí se busca:

“Una cadena es tan fuerte como su eslabón más débil” 

“Sólo se salva del peligro quién vigila incluso cuando está seguro”

Un saludo a todos, nos vemos en la siguiente y no te olvides que puedes seguirnos también en @enredandoconred .

Ciberseguridad Industrial, breve introducción…

Cuando hablamos de Ciberseguridad, generalmente lo hacemos desde el punto de vista tradicional de los entornos IT. Esto es, proteger de ciberamenazas, ciberdelincuentes, y demás términos de similar índole; la información contenida dentro de los sistemas información interconectados por medio de redes de comunicaciones de mayor o menor alcance. El objeto principal de custodia aquí es la información. Ésta puede venir de muy diversas maneras y formatos, desde un documento, hasta los registros en una Base de Datos, pasando por comprometedores correos electrónicos que por una razón u otra no interesa que salgan a luz.

Como decía, esto es el mundo IT. Ahora bien, ¿qué ocurre con los entornos OT? Aquí el principal activo no es la información sino la disponibilidad de las infraestructuras y la continuidad operacional de las instalaciones. Aquí los equipos a proteger no serán los servidores de ficheros, Bases de Datos, correo electrónico; sino los sistemas de Control y Automatización (IACS); Supervisión, Control y Adquisición de Datos (SCADA); Sensores, Actuadores, Autómatas Programables, etc. Aquí ya no es si se pierde o se compromete un dato; es qué pasa si las instalaciones dejan de funcionar por tal o cual motivo.

Así pues las “Operational Technologies”, o Tecnologías de Operación son los términos con los que nos referimos al conjunto de dispositivos, funcionalidades y procesos que participan en el desarrollo de la actividad de un determinado sector. Su indisponibilidad puede provocar no sólo un impacto significativo a la empresa que las posee y al entorno donde ésta pueda estar ubicada.

¿Por qué esto es así? Los Sistemas de Control y Automatización Industrial están presentes no sólo en fábricas de producción en serie de un determinado producto sino también en lo que conocemos como Infraestructuras Críticas. Entendiendo por estas últimas:

“Las infraestructuras estratégicas (es decir, aquellas que proporcionan servicios esenciales) cuyo funcionamiento es indispensable y no permite soluciones alternativas, por lo que su perturbación o destrucción tendría un grave impacto sobre los servicios esenciales”. 

Dentro de la Legislación española se han definido 12 sectores estratégicos, los cuales son:

  1. Administración.
  2. Agua.
  3. Alimentación.
  4. Energía.
  5. Espacio.
  6. Industria Química.
  7. Industria Nuclear.
  8. Instalaciones de Investigación.
  9. Salud.
  10. Sistema Financiero y Tributario.
  11. Tecnologías de la Información y las Comunicaciones (TIC).
  12. Transporte.

Una indisponibilidad de una cadena de montaje como la que puede ser la del sector de la Automoción puede generar una pérdida económica de equis miles o millones de euros; sin embargo si esto sucede en una central nuclear las consecuencias pueden ser bien distintas. No sólo por la pérdida de servicio eléctrico sino por el impacto que puede tener sobre la población civil y medioambiental.

Así pues podríamos definir algunas posibles consecuencias:

  1. Reducción o pérdida de la producción.
  2. Daños en el equipamiento.
  3. Lesiones de personas.
  4. Liberación, desvío o robo de materiales peligrosos (tóxicos, combustibles, etc.)
  5. Daños ambientales.
  6. Violación de normativa y legislación vigente.
  7. Contaminación de productos y entornos.
  8. Responsabilidades legales, penales o civiles.
  9. Pérdida de información confidencial o de propiedad intelectual.
  10. Pérdida de imagen o de la confianza.

Estas consecuencias tendrán su origen en algún tipo de incidencia. Éstas podrán ser catalogadas como no intencionadas, esto es, fallo o anomalía natural en los dispositivos; o bien, de carácter intencionado, es decir por la acción hostil de un software o actividad humana sobre los equipos. A continuación se citan alguna de ellas:

  1. Denegación de Servicio en los servicios activos en las redes de control o causando cuellos de botella a la hora de transferir información.
  1. Cambios no autorizados realizados en instrucciones de programas en PLCs, RTUs, DCS o controladores SCADA, parámetros de alarmas, ejecución de comandos no autorizados en equipos de control que lleguen a dañar el propio equipo, paradas no contempladas en procesos o incluso deshabilitar el equipo de control.
  1. Falsificación de información y visualización incorrecta a los operadores encargados de controlar el sistema.
  1. Modificación de software, configuración y parámetros de sistemas.
  1. Introducción en el sistema de malware (por ejemplo virus, gusanos, troyanos).

 

Así pues urge la necesidad de proteger los procesos, dispositivos y elementos que intervienen en todos procesos de automatización y control, de esos riesgos y amenazas de las que pueden ser objeto.

Como todo elemento tecnológico pueden disponer de errores en su diseño, programación o instalación; poseyendo vulnerabilidades y “bugs” que faciliten enormemente el éxito de las operaciones.

El gusano Stuxnet hizo abrir los ojos a muchas Naciones y empresas en los distintos sector de los riesgos que corrían si no tomaban las precauciones necesarias y sin duda supuso un antes y un después:

Pero no ha sido el único, tiene otros hermanos con igual mala leche como Duqu, DragonFly, Havex, Black Energy, etc. y seguirán apareciendo más en los próximos meses. Esto va en aumento…

¿Quién puede tener interés en atacar esto tipo de entornos? Las respuestas pueden ser muy distintas, desde empleados descontentos, empresas de la competencia, grupos Hacktivistas, terroristas y delincuencia organizada, Agencias de Inteligencia, Gobiernos, etc. Obviamente hay un móvil y una razón por la cual llevar a cabo dichos propósitos.

Como contramedida a estos riesgos en materia de Infraestructuras Críticas existe por un lado el CNPIC (Centro Nacional de Protección de Infraestructuras Críticas), cuyo objetivo es  impulsar, coordinar y supervisar todas las actividades que tiene encomendadas la Secretaría de Estado de Seguridad del Ministerio del Interior en relación con la protección de las infraestructuras críticas españolas según la Ley 8/2011 y Real Decreto 704/2011

Además de ello existen otros organismos de carácter público y privado encargados de llevar a cabo distintas acciones sobre este ámbito. Algunos de ellos son:

España:

INCIBE, Instituto de Ciberseguridad de España.

CCI, Centro de Ciberseguridad Industrial

A nivel Europeo:

ENISA, European Union Agency for Network and Information Security

EE.UU:

ICS-CERT, Industrial Control System Cyber Emergency Response Team.

Así pues ya tenemos na primera aproximación a lo que conocemos como “Ciberseguridad Industrial” e iremos desarrollando en artículos sucesivos. Todo es empezar…

Un saludo.