Vectores de ataque sobre ICS

Anuncios

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 .

Amenazas sobre ICS (Parte II)

Anuncios

Hace unos días hablaba de las amenazas que afectan a los Sistemas de Automatización y Control Industrial, tratando en concreto las de carácter no intencionado. En la entrada de hoy abordaremos las restantes, esto es, las que van dirigidas expresamente hacia ellos, las intencionadas.

A diferencia de las anteriores éstas tienen un origen humano, bien directa o indirectamente por medio de la creación de código o software.

Para ellas podemos definir 6 grandes grupos, como son:

  1. Empleados descontentos
  2. Individuos / Pequeños grupos / Hacktivistas
  3. Competencia
  4. Grupos Criminales
  5. Terroristas
  6. Servicios de Inteligencia / Gobiernos

EMPLEADOS DESCONTENTOS

Los empleados descontentos, o también llamados en la lengua de Shakespeare “Insiders”, son la fuente de amenazas más importante, y común, para los sistemas de control y automatización. El personal interno dispone de toda la información sobre ellos y en consecuencia el conocimiento sobre su operación, configuración, funcionamiento, criticidad, componentes, debilidades, etc.

No obstante, también se debe tener presente a los antiguos empleados que, aunque ya no disponen de acceso a las instalaciones y dispositivos, sí pueden tener conocimiento de la operativa, infraestructuras, accesibilidad remota si la hubiera, etc. Debido a este hecho, podrían en un momento dado, llevar a cabo acciones desde fuera de la organización que sean ejecutadas de forma exitosa como por ejemplo un DoS. Enlace.

INDIVIDUOS / PEQUEÑOS GRUPOS / HACKTIVISMO 

Dentro de este grupo incluímos a personas que actúan de forma individual o conjunto reducido de ellas movidos principalmente por un afán de notoriedad o protagonismo. Su fin último no es poner en peligro al proceso industrial y la organización que está detrás, sino su propia publicidad y reconocimiento. También podremos encontrarnos a los denominados “Script Kiddies” que iniciándose en el manejo de herramientas de libre distribución pueden producir algunos daños.

Por otro lado tendríamos grupos tales como Anonymous, LulzSec, GhostSecurity que llevan a cabo ataques o acciones contra objetivos concretos. Generalmente se trata de ataques del tipo DoS o DDoS, sin embargo también podremos encontrarnos con la publicación de información, previa intrusión en sistemas.

COMPETENCIA 

Las compañías rivales si algo desean saber son los movimientos de la competencia para poder tomar las medidas necesarias y alcanzar una ventaja frente a otras empresas del sector. Toda información sobre funcionamiento, políticas, estrategias, inversiones, es bien recibida. Incluso pueden llegar a recurrir a grupos criminales que lleven a cabo sabotajes contra intereses o infraestructuras con tal de perjudicar su imagen. No podemos eludir el denominado espionaje industrial que nada tiene que ver con este punto pero que puede ayudar en lo que a la recolección de información se refiere. Enlace. Enlace.

GRUPOS CRIMINALES 

Los grupos criminales atacan los sistemas de control para chantajear a la industria y pedir dinero a cambio de no revelar información sensible. Otra de los movimientos consiste amenazar con dejar sin control a los operarios legítimos o exigir un monto económico a cambio de devolver el control sobre los sistemas. Hay que tener en cuenta que dependiendo de las instalaciones las consecuencias pueden llegar a ser bastante graves, no sólo a la población civil sino a la ecología.

TERRORISTAS 

Hasta hace no hace mucho se consideraba a los grupos terroristas no suponían una amenaza a nivel lógico, pero sí a nivel físico. Las amenazas de esta índole se basan en la destrucción de las infraestructuras, principalmente las críticas, con el objetivo de desestabilizar el funcionamiento de un país por motivos políticos, religiosos, o sociales. Sin embargo grupos como Estado Islámico ya disponen de fieles dedicados a llevar su guerra por medio de acciones a través de Internet (Link) (Link). Tal es el caso del denominado Cybercalifato.

SERVICIOS DE INTELIGENCIA EXTRANJEROS / GOBIERNOS 

No es ninguna novedad, ni ningún secreto que los servicios de inteligencia de distintos países realizan actividades de espionaje y captura de información dentro y fuera de sus fronteras.  ¿Qué se puede decir a estas alturas de la NSA, verdad?. No sólo poseen recursos tecnológicos, económicos y legislativos, sino también la inmunidad y protección de otros estados aliados que persigan el mismo objetivo. Link.

En fin, como podemos comprobar son varios los principales focos de amenazas a las que todo Sistema de Control y Automatización puede llegar a enfrentarse, lo cual no quiere decir que vayan a darse necesariamente. Pero haberlas, las hay. Todos somos conscientes que la seguridad al 100 % no existe y de lo que se trata es reducir los riesgos, minimizando nuestra exposición y debilidades.

Podemos representar que:

Riesgo = Amenaza x Vulnerabilidad x Impacto

Con la entrada XXXXXXXXX y la de hoy hemos abordado la primera de las variables, tanto en su origen no intencionado como intencionado.

El impacto dependerá en gran medida de la actividad a la que se dedique la instalación ya que, no será lo mismo si hablamos de una estación eléctrica que deje sin luz “sólo” a una población de 250.000 personas; una refinería que provoque un desastre ecológico por derrame de combustible o una fábrica que deba de para su producción por ejemplo por 24 horas.

Sin embargo en lo referente a las vulnerabilidades ya hay que considerar algún punto más que lo dejaremos para futuras entradas así como los distintos vectores de ataque.

Espero que haya sido de vuestro agrado, nos vemos en la siguiente.

Un saludo!

Virtual Patching en funcionamiento (Parte I)

Anuncios

Siguiendo con el tema de Virtual Patching ahora toca ver cómo funciona y los beneficios que puede aportarnos.

Para ello he creado un entorno con dos PCs interconectados por medio de un Fortinet Fortigate Rugged 60D configurándolo con motores Antivirus, IDS/IPS y Control de Aplicación. La parte de firewall la he dejado con un “permit any any any” (IP origen, destino y puerto, respectivamente) Hay que recordar que cada una de ellos lo podemos configurar en dos modos, “Monitor” o “Block”. Con el primero, en caso de que se detecte algún patrón que puda quedar recogido dentro de las reglas y firmas, no se tomará ninguna acción, sólo se registrará el evento y se dejará pasar. En cambio con “Block”, valga la redundancia se bloqueará y la amenaza será paralizada.

Luego, estas características han de aplicarse, o no, a las reglas de Firewall en él configuradas.

En cada uno de estos PCs he virtualizado un total de 3 máquinas.

Una con Kali Linux desde la cual simularemos la actividad de un atacante. Lanzaremos un escaneo de puertos con Nmap, escáner de vulnerabilidades con Nessus, intento de intrusión con Metaesploit y Armitage y por último copiar en un recurso de red el fichero EICAR.

Otra con un Windows XP vulnerable, el objetivo. Se ha elegido este ya que posee vulnerabilidades que para un ejemplo pueden ser fácilmente explotables. Aparte porque su uso en entornos industriales y o vida prolongada es aún bastante común.

Por último un Fortinet FotiManager con funciones FortiAnalyzer desde donde gestionaremos el equipo Fortigate Rugged 60D. Lo he querido utilizar ya que con un despliegue de varios equipos resulta aconsejable no sólo por la gestión centralizada sino porque nos permite almacenar los logs, analizar tráfico, sacar informes, ver registros, etc.

Todo queda resumido de la siguiente manera:

 

En la imagen siguiente se muestra cómo el equipo Fortigate bloquea un total de 9965 amenazas catalogadas en un total de 1993 incidentes, provenientes de la IP XX.XX.XX.15 de la máquina Kali Linux. Esto es debido a que la aplicación Nmap envía sucesivamente paquetes para que en función de las respuestas obtenidas se pueda determinar si un equipo está activo, o no, puertos abiertos; versiones de aplicaciones, servicios; etc.

Para conocer un poco más recomiendo la siguiente lectura, pincha aquí.

En esta otra se puede ver que el equipo destino tiene la IP XX.XX.XX.17.

En la siguiente imagen se muestra las “sondas” enviadas desde el equipo Kali Linux identificando alguna aplicación que otra:

Como se puede apreciar éstas han sido bloqueadas no pudiéndose obtener datos sobre el equipo objetivo, el XP. Esto mitigaría la etapa inicial de recolección de información que un atacante llevaría a cabo y poder, a partir de ahí, realizar otro tipo de acciones sobre nuestros sistemas.

Obviamente habría que configurar las reglas del firewall del modo más restrictivo posible y sobre el tráfico que dejamos pasar aplicar el análisis de los motores Antivirus, IPS y Control de Aplicación. Sin embargo para este ejemplo se ha querido dejar así para ver el comportamiento de la aplicación Nmap y qué es lo que sucede si no empleamos un cortafuego. Pero como como digo, siempre, siempre, siempre, ha de restringirse el tráfico sólo al estrictamente permitido por medio de estos firewalls.

Esto es todo por hoy, pero os debo las siguientes entradas sobre escáner de Vulnerabilidades, Metaesploit y EICAR Test File.

No s vemos en la próxima, y como siempre digo, se agradece cualquier comentario al respecto.

Muchas gracias!