Del Air Gap a la Segmentación en ICS.

Publicado el 19/03/2015, por Miguel Herrero (INCIBE)
Del Air Gap a la Segmentación en ICS.

En Seguridad de la Información denominamos Air Gap a una de las medidas de seguridad de redes que consiste en aislar físicamente una red de otras consideradas inseguras. Esta medida de seguridad se utiliza ampliamente en determinados entornos, como pueden ser los sistemas de control industrial, las redes gubernamentales o de defensa.

De hecho, en los sistemas de control industrial, constituyeron, junto a la seguridad por oscuridad, una de las medidas básicas de protección. Y entonces, llegó Stuxnet. El Air Gap fue burlado usando una memoria USB con el malware, infectando la red aislada y destruyendo el 20% de las centrifugadoras nucleares iraníes. Una vez Stuxnet saltó el Air Gap, fue propagándose de forma independiente hasta encontrar los sistemas de control industrial (que tenían el WinCC de Siemens) para infectar los dispositivos PLC que controlaban las centrifugadoras y borrarse después.

Stuxnet cambió el pensamiento de que los sistemas podían ser aislados de forma efectiva, convirtiendo la idea de seguridad de Air Gap en un mito. Los fabricantes de equipos industriales han cambiado su discurso de “mantener las redes aisladas (Air Gap)” a “segmentar y proteger adecuadamente las redes” en sus recomendaciones de seguridad, tras ver que, en la práctica el Air Gap no ofrece seguridad alguna por sí sola. La tendencia es, por tanto, realizar defensa en profundidad, consistente en interponer varias líneas defensivas individualmente más débiles en lugar de una única línea defensiva robusta.

En realidad, aunque existiera un Air Gap de verdad, por si sólo sería de poca utilidad para proteger un sistema, ya que hace tiempo los ciberataques han sobrepasado los límites de los cables físicos. Algunos de los activos desplegados en estas redes incluyen capacidades WiFi embebidas a nivel de microprocesador que pueden ser aprovechadas tanto por cibercriminales como por trabajadores disgustados. Además, como en el caso de Stuxnet, el Air Gap puede ser comprometido con la ayuda de un colaborador humano, intencionado o accidental.

En general, un atacante que desee comprometer una red (aislada o no) debe resolver tres problemas:

  • Cómo introducir el malware en la red aislada.
  • Cómo mandar comandos al malware, una vez esté en la red aislada.
  • Cómo sacar la información de la red aislada.

 

Aplicándolo a nuestras redes aisladas, el paso para introducir el malware en la red, podríamos identificar tres posibles soluciones respectivas, si nos olvidamos de la posibilidad de que el propio malware salte el Air Gap, como se supone que hacía BadBIOS. El primer vector de ataque sería el trabajador engañado, normalmente mediante técnicas de ingeniería social, de forma que este trabajador, que tiene acceso a la red aislada, se salte el Air Gap de forma inintencionada. Otro vector similar sería obviamente, el empleado malicioso, el cual voluntaria e intencionadamente sortea el Air Gap para poner en riesgo la red. Una posibilidad más, sería el ataque a la cadena de suministro. En este, se intercepta y compromete un equipo cuyo destino sea la red aislada, de forma que, cuando se inserta en la red, ya está comprometida.

Respecto al problema de comunicarse con el malware una vez está desplegado, hay dos requisitos básicos que idealmente se deben cumplir. Por un lado se debe ser capaz del envío de comandos en tiempo real (o casi) y por otro lado el malware debería poder ser actualizado de alguna forma, a fin de mejorar sus capacidades o evitar la detección por parte de los elementos de seguridad de la red. Hay múltiples e imaginativas investigaciones en este campo, algunas de los cuales pretenden comunicarse con el malware de la red aislada mediante la modulación de la temperatura de la sala para transmitir comandos.

El tercer y último reto para el atacante es cómo sacar información de la red, a través de algún canal de comunicación que pase inadvertido o a través de la gente que tiene acceso a la red aislada. Dentro de los medios de comunicación inadvertidos destaca la iniciativa TEMPEST, una certificación de la OTAN y además una especificación de la Agencia de Seguridad Nacional de EEUU, en la que se trata tanto de la obtención de información de equipos a través de fenómenos físicos que pueden incluir señales de radio no intencionadas, vibraciones… mediante los llamados ataques de canal lateral. Fuera de TEMPEST, se están desarrollando tecnologías para realizar esta misma función. Un ejemplo actual de esto sería AirHopper, un método propuesto por investigadores de la Universidad Ben-Gurion (Israel). Con esta técnica, se convierte la tarjeta gráfica del ordenador comprometido en un transmisor de FM capaz de enviar información a un móvil comprometido a unos 7 metros de distancia. La velocidad de transferencia no es muy alta (hablan de unos 13 a 60 Bps), pero aun así, sólo sería necesario un cuarto de hora para transmitir la información recogida por un keylogger durante un día.

Aunque se consiguiera un Air Gap perfecto teóricamente inexpugnable, este sería impracticable en la operativa diaria. Aunque un sistema de control se puede desconectar sencillamente del resto de redes, ese mismo sistema de control será accedido tantas veces que sencillamente el Air Gap es inmanejable. Unas veces será para realizar el despliegue de un nuevo software necesario para la operación, otras veces para una actualización importante que corrija un 0-day… Es posible gestionar estos casos con memorias extraíbles, pero así fue como Stuxnet se transmitió originalmente.

Por eso, es necesario que los encargados de este tipo de sistemas evolucionen la protección de los mismos del Air Gap a la correcta segmentación y bastionado de las redes. Algunas de las acciones preventivas podrían orientarse en los siguientes ejes:

  • Protección de la cadena de suministro. Tal y como propone la Internet Security Alliance (ISA) en su documento “Securing the Supply Chain for Electronic Equipment: A Strategy and Framework” habría cuatro ejes principales: Protección contra la interrupción de la cadena de suministro, protección contra la inserción de malware en el equipamiento, protección contra la destrucción de la confianza y protección contra la pérdida de control de la información.
  • Detección y prevención del empleado malicioso, con medidas para detectarlo, bien mediante monitorización del comportamiento del usuario, comprobando las comunicaciones, junto con medidas para prevenir sus acciones, como clasificar la información de forma adecuada y proporcionando los permisos mínimos.
  • Concienciando y formando a los empleados para evitar que puedan ser engañados y, consecuentemente, utilizados para comprometer la seguridad de los sistemas.
  • Búsqueda de canales de comunicación encubiertos: Sin duda el reto más grande desde el punto de vista del defensor. Un canal encubierto es una técnica de comunicación que consiste en utilizar como canal para transferir información entre sistemas medios no destinados para ello. Por ejemplo, utilizando campos de la cabecera en desuso o poco utilizados, o sencillamente utilizando protocolos como DNS para la comunicación, tal y como han utilizado algunas botnets. Algunos de los IDS/IPS actuales, como SNORT, ya incluyen mecanismos para el descubrimiento de canales encubiertos, pero es necesario mantenerse actualizado para incorporar las nuevas tendencias.

 

Pero también será necesario establecer perímetros seguros para los enclaves. Ya que existirán conexiones al sistema, es mejor intentar dirigirlas todas a través de una única conexión que se monitorizará y controlará adecuadamente. Además será necesario desplegar uno o varios equipos de seguridad que monitoricen y controlen el tráfico de la red.

Arquitectura ICS segmentada

 

Ilustración 1: ICS correctamente segmentado según Siemens.

 

En el perímetro será necesario desplegar, como mínimo un cortafuegos, aunque equipos de seguridad adicionales, como IDS/IPS, Gestores Unificados de Amenazas (UTM), monitores de aplicaciones… son recomendables, según la criticidad del enclave de acuerdo con el CIP 005- 5 (Cyber Security – Electronic Security Perimeter(s)), del NERC. Las medidas de seguridad del interior de la red, comprenden todas aquellas generales (antivirus actualizado, HIDS, cortafuegos en el terminal, listas blancas de aplicaciones permitidas…).