INFOPLC++ Magazine nº 20

El pasado 29 de octubre el portal de referencia en todo lo relacionado con tecnologías de automatización y control infoPLC++ publicó su revista nº 20 con un especial sobre Comunicaciones Industriales y Ciberseguridad.

En esta ocasión se recogen artículos de opinión de fabricantes de soluciones, entrevistas representantes de organizaciones como el Centro de Ciberseguridad Industrial, casos de éxito, soluciones y productos,, eventos, etc. Entre, claro está,  una gran cantidad de referencias a noticias de interés, productos, soluciones que hacen de esta revista un punto de encuentro de los profesionales vinculados a los entornos industriales, sino además de todos aquellos que de una manera u otra están relacionados con las tecnologías que en ellos se encuentran. Todo ello con una renovación constante que hace que encontremos información actualizada en los distintos apartados que lo componen.

No obstante, también puedes suscribirte a su newsletter y recibir información de forma periódica.

Es en el apartado «Tendencias»  donde he tenido la oportunidad de colaborar realizando un artículo titulado «Más allá de la Defensa en Profundidad». En el trato de abordar la cuestión en la que no debemos de quedarnos en este modelo sino que debemos incorporar estrategias como «Zero Trust Architecture» dada la creciente incorporación de nuevos elementos y tecnologías a nuestros entornos de planta. Lo podréis encontrar a partir de la página 46.

Es placer colaborar con todo el equipo de infoPLC y formar parte de este número, pudiendo así compartir con los lectores un contenido que, además de actualidad, requiere ser abordado de manera urgente. Empresas, integradores, ingenierías, prestadores de servicios, fabricantes de sistemas de control y automatización, todos ellos deben incorporar la Ciberseguridad en su operativa, como requisito, como característica de producto, como valora añadido en sus desarrollos, como entre otras muchas aplicaciones.

Así pues no sólo os invito a su lectura sino que no dejéis de revisarlo números anteriores dentro del apartado «Magazine» que seguro encontraréis información muy que muy interesante.

Análisis de dispositivos USB

Aunque su uso esté ampliamente extendido, de sobra son conocidos los riesgos que entraña el mal uso de memorias de almacenamiento USB y discos de duros externos. Si bien son de mucha utilidad, y en muchos de los casos única vía de compartir de ficheros, pueden convertirse en transmisores de código malicioso, robo de información, entre otros.

Si bien existen soluciones de protección de puesto para PC donde se puede limitar el uso a unos pocos mediante la identificación y registro previo, en entornos industriales existen otro tipo de dispositivos y sistemas que también los utilizan. Ejemplo de ello pueden ser los Controladores Numéricos (CNC) en máquina herramienta o maletas de programación en controladores de brazos robóticos. En el primero de los casos para la transmisión de programas para la realización tareas de mecanizado y en el segundo para las trayectorias de o los brazos.

En esos casos donde es posible no implementar soluciones software resulta necesario realizar un análisis previo para reducir la posibilidad de que estemos empleando unos medios de transmisión de ficheros infectados por alguna pieza de código malicioso. Y digo reducir la posibilidad ya que, como cualquier otra solución basada en firmas, y en concreto los antivirus, podrían no alcanzar una protección sobre ciertas piezas de código. Aunque hace tiempo de aquello, no nos olvidemos del caso IRONGATE en la que dicha pieza no fue descubierta por las distintas herramientas empleadas por el portal VIRUSTOTAL tal y como recogía el siguiente artículo.

Irongate Malware, Thoughts and Lessons Learned for ICS/SCADA Defenders.

Así pues, en aras de proceder a un análisis previo para un uso posterior podemos recurrir a estaciones en las que introducir el elemento USB, proceder a un análisis por un software antivirus y, una vez que tengamos el resultado en la que no se ha detectado código malicioso, proceder a su uso en las estaciones o elementos del entorno de planta.

Para ello Podemos contar con soluciones “SafeDoor” de la compañía AuthUSB.

Se trata de un dispositivo hardware con un software en su interior que nos permitirá analizar, acceder y gestionar la información almacenada. Además, nos ofrecerá protección contra ataques de índole eléctrico como USB Killer o también BadUSB para la generación de interfaces o instrucciones programadas que permitan interactuar con el equipo al que se conecta.

Para su uso, dispone de una conexión de red a cuya IP deberemos conectarnos para acceder al contenido de las memorias conectadas y la distinta configuración disponible como la generación de usuarios con permisos de lectura/escritura; certificados; etc. cuando lo hagamos como administradores.

Al introducir una memoria el dispositivo realizará un análisis en busca de malware a partir de los motores habilitados a tal efecto, pudiendo disponer hasta dos en la versión utilizada para el presente artículo.

Una vez finalizado nos informará de si la unidad está infectada, o no. El resultado podrá verse de forma inmediata a través de uno de los leds que dispone en el frontal. Rojo si ha localizado alguna anomalía o verde si todo está OK.

Luego, accediendo a la interfaz web, podremos obtener información sobre el o los ficheros que ha identificado como maliciosos, así como su ubicación dentro de la misma. En es te caso he empleado a modo de prueba de concepto el fichero EICAR Test File que podéis encontrar aquí.

Dado que dispone de dos conexiones USB, si no hay infección podremos descargar el contenido o copiarlo en una segunda unidad.

Respecto al acceso, podremos definir un conjunto de usuarios con permisos de lectura o escritura, según decidamos al volumen concreto. Esto es, podremos definir sobré qué y cómo se puede acceder.

También podríamos acceder a su contenido por red, siempre y cuando esto pueda llevarse ya que como todos sabemos podemos disponer de elementos aún si esa capacidad. En ese caso visualizaremos los directorios y ficheros pudiendo realizar distintas acciones.

Sin duda los dispositivos USB son elementos no sólo muy utilizados sino que además necesarios dentro de estrategias de recuperación ante desastres como un disco duro externo con copias de respaldo de proyectos de PLCs, programas, ficheros de texto con logs, actualizaciones de software, despliegue de licenciamiento, etc.

Hasta aquí la entrada de hoy. ¡Nos vemos en la siguiente!

Un saludo!

KICS for Nodes, Parte I

La presencia de PCs en entornos industriales a la vez que extensa, sus funciones pueden ser muy diversas. Maletas de programación, puestos para el control de maquinaria, puestos de operador, entre otros muchos pueden ser algunos de los ejemplos. Bien por que la seguridad no ha sido un requisito, una necesidad o por las limitaciones que presentan para llevar a cabo intervenciones de cualquier índole a lo largo de su extenso ciclo de vida, lo cierto es que, como norma general, no cuentan con medidas de protección. Esto incluye sistemas operativos obsoletos, sin actualizaciones, falta de soluciones de seguridad, firewall de host des habilitados, usuarios con permisos de administración, etc.

En este sentido la aproximación para su protección es el “Whitelisting”, tema que abordábamos en la siguiente entrada:

Whitelisting en SCI, Parte I

Hoy comenzaremos a hablar del producto “KICS for Nodes” de Kaspersky, que ya introducíamos en “Protección de PCs Industriales”.

KICS for Nodes proporciona una protección robusta en equipos de estas características localizados en entornos industriales para hacer frente al conjunto de amenazas a los que se están y pueden estar expuestos. La solución se compone de un conjunto de componentes que pueden ser habilitados o deshabilitados de forma selectiva. Esto es especialmente importante en aquellos equipos con mayor antigüedad y con recursos hardware limitados o con menores capacidades computacionales.

Como veremos cada instancia de “KICS for Nodes” podrá ser administrada de forma centralizada a través de “KSC, Kaspersky Security Center” desde donde se podrán definir y aplicar las políticas de protección sobre cada uno de los equipos finales.

Además, se podrán consolidar los distintos logs generados de la actividad detectada, tanto autorizada como no autorizada, entre otras funcionalidades adicionales que veremos en sucesivas entradas.

“KICS for Nodes” se compone de:

  1. Application launch control, Restringe la ejecución de ficheros o scripts acorde a lo definido en las listas blancas definidas en políticas.
  1. Device control, control de dispositivos como memorias USB extraíbles.
  1. Anti-malware protection, Inspección de código malicioso, proporcionando actualización y análisis bajo demanda.
  1. Untrusted host blocker, Restringe el acceso a carpetas compartidas desde equipos que muestran una actividad sospechosa.
  1. Anti-cryptor, Previene el cifrado de ficheros por medio de virus de tipo ransomware, trabajando en conjunto con el módulo “Untrusted host Checker”.
  1. Vulnerability scanner, Obtención de información de vulnerabilidades y falta de actualizaciones en los equipos finales.
  1. File integrity monitor, Supervisa la modificación en los ficheros del sistema con el fin de detectar alguna actividad maliciosa.
  1. Log inspection, supervisión de los logs del sistema operativo Windows para detectar cualquier comportamiento anómalo en el sistema.
  1. Exploit prevention, Protección de los procesos en memoria.
  1. PLC Integrity Checker, verificación periódica de la consistencia de la lógica de control en algunos PLCS compatibles cómo SIMATIC S7 300 y 400, y MODICOM M340 y M580.

Adicionalmente también tiene un módulo de Firewall a nivel de host con el que podremos definir qué conexiones se permiten o deniegan hacia/desde los equipos administrados.

En primer lugar, instalaremos la consola de administración central Kaspersky Security Center la cual requerirá donde una base de datos Microsoft SQL Server. En nuestro caso emplearemos la que viene con el paquete de instalación ya que el número de equipos será mucho más pequeño que un despliegue normal. Luego procedemos a introducir las licencias correspondientes según el número adquirido.

El siguiente paso será identificar y dar de alta los equipos. Para ello, KSC, nos permite llevar a cabo un sondeo sobre los rangos de red en los que se encuentres los equipos a gestionar y a partir de las IP que respondan poder llevar a cabo la instalación del software. Por supuesto, también podremos darlo de alta de forma manual.

Para la administración de los equipos desde KSC, se requiere de la instalación de un agente en los equipos finales. A través de él se recibirán y enviarán todas las operaciones necesarias como la aplicación de políticas, actualización de firmas, habilitar o deshabilitar módulos, logs, etc. Antes que de nada deberemos establecer algunos parámetros necesarios como la IP de KSC, puertos a emplear, método de autenticación, cifrado de comunicación, etc. Luego toda la actividad recolectada por “KICS for Nodes” será enviada a través de este agente al servidor de gestión KSC (IP 10.10.101.100).

Para su instalación tendremos dos opciones. Una, hacerlo por red desde la consola de administración de KSC o dos, generar un fichero ejecutable que más tarde llevaremos al equipo en cuestión e instalaremos de forma manual.

En el primero de los casos, instalación online, KSC deberá tener acceso a los recursos compartidos en cada PC como \\HOST\C$ o \\HOST\ADMIN$ así como acceso con permisos de administrador para poder llevar a cabo la instalación. Durante el proceso tendremos varias opciones de configuración como la definición de credenciales, impedir el reinicio en caso de ser necesario, asignación de grupos de gestión de equipos una vez esté instalado, etc.

Con relación a la segunda opción bastará seleccionar la opción de creación de un paquete de instalación “stand alone”, seguir los pasos y proporcionar la información solicitada. Un proceso sencillo.

 

Ese fichero, por defecto se genera en una de las carpetas de KSC a las que deberemos acceder para poder copiarlo y llevarlo al equipo en cuestión.

Elijamos un método u otro, todos los equipos quedarán listados en el apartado “Managed Devices”, salvo que nosotros hayamos dicho lo contrario Y es que, allí podremos crear subcarpetas para una mejor organización según sea nuestro entorno, tipología de equipos, funcionalidad, subredes, etc. Por ejemplo, en mi caso he creado un directorio llamado “KICS TEST LAB” bajo “Managed devices”. Luego dentro de “KICS TEST LAB” he ordenado 4 equipos; “FIELDPF TIA PORTALL v11, W7 x64, W7 x86 y Wxp x86.

Cada agente tendrá una configuración respecto a diversos ámbitos como tiempo de almacenamiento de logs, tiempo de sincronización con KSC, descarga de actualizaciones de firmas antivirus, parches de Windows, entre otras muchas. En nosotros estará personaliza cada una de ellas en función de la naturaleza del equipo o emplear una genérica.

Deberemos de considerar la forma en la que ésta o éstas aplican al árbol de equipos asignados. La solución podría aplicar una política el directorio “Managed devices” y que luego ésta sea heredada por el resto de subcarpetas como “KICS TEST LAB” y los equipos allí ubicados. O bien, que cada cual tenga la suya propia, es decir, que no se hereden.

Definido esto, lo siguiente será llevar a cabo la instalación de “KICS for Nodes”, pero eso lo dejamos para el siguiente artículo.

Hasta pronto!