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.

Publicado artículo sobre “Cybermaps” en Tic Tac Blogs

Hola de nuevo.

Desde hace algún tiempo un amigo me había invitado a publicar alguna entrada en el blog que lleva junto con otros colaboradores.

Entre una cosa y otra, no había sido posible hasta ahora y para la ocasión elaboré una sobre los llamados “Cybermaps”. Esas representaciones gráficas de ataques, amenazas y acciones diversas que suceden en “la red” en tiempo real (o casi…).

Aquí os dejo el link donde podéis encontrarlo y, aprovechando que andáis por la zona os invito a que echéis un vistazo al resto de artículos que tienen publicados la gente de TIC TAC BLOGS. Os vais a reir, descubrir nuevos grupos musicales, novedades tecnológicas de lo más variadas, entre otras muchas cosas…. No os doy más pistas, pasaros y descubrirlo por vosotros mismos.

A lo dicho, un saludo y dentro de poco nos vemos en la siguiente con otra entrada de Wi-Fi….

Teoría del Pentesting

En esta entrada voy a explicar un poco de teoría sobre lo que conocemos, o referimos como “Pentest”, “Pentesting” “Prueba de penetración” o conceptos similares.

Tenemos claro que todo administrador debe ser consciente del nivel de seguridad que tiene aquello que gestiona y de si se cumplen, o no, las políticas de la organización a la que pertenece. Esto no es sólo un trabajo a realizar cada equis cantidad de tiempo sino que debe estar acompañado de un trabajo diario, concienciación de usuario, buena labor del personal de IT, compromiso, colaboración entre sectores, y un largo etcétera.

Actualmente existen estándares definidos como OSSTMM ; ISSAF ; OWASP ; WASC-TC ; PTES ; OWISAM ; que abordan los pasos, técnicas y tecnologías para llevar a cabo auditorias en distintas ámbitos, ya que como es lógico cada cual tiene sus propias características y necesidades.

Lo ideal sería contratar los servicios de empresas especializadas en el área concreta, pero por desgracia esto no siempre es posible y por tanto, al margen que nuestra profesión nos lo requiera, tenemos que tener claro el marco general sobre el que se llevan a cabo las auditorías de seguridad o pruebas de penetración para conocer el “nivel de salud” de nuestra organización.

Antes de abordar ese marco han de definirse qué se entiende por “Pentesting”, “Penetration Testing” o “Pentest”. Dichos palabras hacen referencia al proceso que se sigue para evaluar en profundidad los niveles de seguridad de algún elemento “TIC”. Así mismo, una metodología consiste en el conjunto de  reglas, prácticas y procedimientos  que se emplean  y utilizan durante el transcurso de una auditoría. Si unificamos ambos términos, obtendríamos lo que denominamos “Metodología de Pentesting” que no es más que los pasos a seguir empleando técnicas, ideas, herramientas y prácticas para evaluar el nivel real de seguridad del que disponen redes, aplicaciones, sistemas o combinación de todas, o parte, de ellas en un entorno definido. Bien de forma puntual o dentro de un plan de evaluación de riesgos, un ejercicio de Pentesting puede considerarse como la forma más agresiva de conocer los niveles de segurida. No podemos pensar que todo son cuestiones técnicas o tecnológicas. También existe un factor de psicología, en todo esto. También hay que poner en práctica métodos que nos permitan obtener información de los empleados o responsables que nos puedan facilitar el acceso a la información que buscamos.

Dicho esto, el “Pentesting” puede realizarse  siguiendo dos enfoques. No sabemos nada de nuestra organización ni de los posibles objetivos, y poco a poco vamos descubriendo los sistemas, equipos, mapas de red, etc. hasta detectar posibles vulnerabilidades o deficiencias que puedan ser explotadas. Esto es lo que se conoce como “Black Box”, (Caja Negra). Por el contrario tenemos la “White Box” (Caja Blanca) que es justamente lo contrario. Previo al test, conocemos o tenemos información que nos puede facilitar mucho las cosas. A mitad de camino tenemos el “Grey Box” (Caja Gris) que no es más que una unión entre ambas.

Así mismo debemos tener presente que estas pruebas pueden realizarse de forma “interna”, esto es desde dentro de la propia organización o “externa”, desde fuera (Internet) hacia  dentro de ella.

En cualquier caso no debemos confundir los términos “Pentesting” con “Evaluación de vulnerabilidades”. Evaluar vulnerabilidades consiste en detectar aquellos “agujeros” en los sistemas, dispositivos de comunicaciones, aplicaciones, etc. que puedan ser explotadas por un posible atacante o programa malicioso (malware). Se constata que existen deficiencias y de cómo éstas deben ser corregidas, mediante actualizaciones, parches o configuraciones adicionales. Sin embargo el “Pentester” irá un paso más allá y tratará de explotarlas, escalará privilegios y mantendrá el acceso para un uso continuado o como puente a otras acciones.

A continuación abordaremos, de forma teórica, los pasos generales a seguir para llevar a cabo un “pentesting” y explicaré brevemente en qué consiste cada uno de ellos.

  • Definición de objetivos

Antes de ponernos a hacer nada tenemos que conocer el alcance de nuestras acciones, hasta donde vamos a llegar  y cuáles son nuestros intereses y los de la organización a la que vamos a realizar la prueba. Por ejemplo debemos dar respuesta a preguntas como:

¿El qué y cómo debería ser testeado?

¿Cómo de largo y profundo debe de ser la prueba?

¿Cuáles son los activos que más criticidad tienen para la organización a auditar?

  • Recolección de información

Una vez que ya sabemos hasta dónde vamos a llegar, contra qué, cómo de profunda va a ser la cosa, que elementos son los más importantes o relevantes para la empresa, es hora de ponerse a buscar información acerca de ella. En este punto el “Pentester” echará mano de foros, boletines, redes sociales, páginas web, registros públicos, buscadores, etc. etc. Esta información podrá ser desde dominios, subdominios, correos electrónicos, números de teléfono, cuentas de usuario, etc.

Descubrimiento de los objetivos

En esta fase tendremos que identificar el estado de la red, sistemas operativos,  aspectos relativos a la arquitectura de la red. Esto nos proporcionará una idea de las tecnologías y dispositivos que en ella se encuentran, así como qué equipo están activos y el papel que juegan en la red. Esto puede realizarse de forma activa, por ejemplo realizando un escaneo de la red;  o de forma pasiva conectando un esnifer de red como wireshark y ver el tráfico que llega y poder identificar o deducir el entorno en el que nos encontramos.

  • Enumeración de los objetivos

Aquí ya la cosa cambia, y vamos un paso adelante del paso anterior. Ahora tocará localizar los puertos abiertos (o cerrados, que también nos arroja información) y los servicios que en ellos se ejecutan. Conocido esto, se tratará de identificar sus respectivas versiones lo cual nos permitirá buscar posibles vulnerabilidades. Otra tarea de este puntos es identificar posibles equipos de seguridad como Firewalls o IDS/IPS que puedan detectar y anunciar nuestra presencia, con lo que un buen “Pentester” debe tener presente andar con sigilo y prudencia y no lanzar aplicaciones muy ruidosas que hagan saltar todas las alarmas.

  • Mapa de vulnerabilidades

Conociendo los equipos que hay, sistemas operativos, qué puertos tiene  abiertos, que servicios corren en ellos, sus versiones, etc. ahora toca saber si existen vulnerabilidades acerca de ellos. Aquí podremos consultar bases de datos públicas donde se publican muchas  todas ellas, para obtener más y lanzar algún escáner que otro.  Será la suma de ambas la que nos proporcione una visión más completa, ya que a partir de ahí podremos localizar algún tipo de exploit para poder explotarlas.

  • Ingeniería Social

Como decía en párrafos anteriores, no se trata sólo de cuestiones puramente técnicas, y es aquí cuando lo demostramos. El factor humano también es otro vector de ataque. El arte del engaño, de la persuasión, de la picaresca para obtener información o acceso a redes y sistemas es otro de los procedimientos a aplicar. Por ejemplo llamar por teléfono a algún técnico o administrador para obtener correos electrónicos, teléfonos o solicitar un reseteo de una contraseña que se “creía olvidada”.

  • Explotación de objetivos

Esta es una de las partes donde después de todo lo que nos lo hemos “currado”, empezamos a sacarle un partido practico. Trataremos, mediante el uso de algún exploit o bug, penetrar en algún sistema o equipo con el fin llevar a cabo una determinada acción como puede ser obtener abrir conexiones contra otros equipos, listado de usuarios, contraseñas, o lo que sea.

  • Escalada de privilegios

Una vez que hemos accedido a un sistema, el siguiente paso entre otros es escalar privilegios. Si robamos las credenciales de un usuario, lo más probable es que tenga limitados los accesos o permisos. Por ello, es importante tratar de adquirir los del “super usuario” o “root” para tratar de hacer o llegar donde los usuarios con menos no pueden.

  • Mantenimiento de acceso

Bien, ya tenemos todo, el acceso y todo lo demás. Pero una cosa que nos interesa es poder acceder a este sistema siempre que queramos o necesitemos, ¿no? Por ello garantizar el acceso es muy importante ya que con esto nos aseguraríamos la permanencia en él. ¿Cómo conseguirlo? Por ejemplo tratando de instalar alguna puerta trasera, tunelizando tráfico, etc.

  • Documentación e informes

Y aquí toca escribir. Obviamente todo lo hecho hasta ahora, tanto si hemos tenido éxito, o no, todo esto hay documentando y presentarlo tanto al cliente que ha contratado nuestros servicios o como informe para uso interno. En él dejaremos patente los métodos, técnicas, tecnologías, registros, tiempos de actuación, etc. Etc. Etc.

Para todos estos puntos anteriores existen un verdadero arsenal de herramientas y aplicaciones que podemos encontrar en distribuciones como Kali Linux o Bugtraq entre otras. No podemos decir que exista una varita mágica, cada cual hace lo suyo y ofrecen distintos resultados aunque hay muchas que son muy parecidas.

Ahora a buscar cuales pueden ser, practicar con ellas, y a seguir aprendiendo.