Full text
Equation Chapter 1 Section 1 Trabajo Fin de Máster Máster Universitario en Ingeniería de Telecomunicación Detección de anomalías en sistemas de Smartlighting Autor: Agustín Walabonso Lara Romero Tutor: Rafael María Estepa Alonso Dpto. de Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023
iii Trabajo Fin de Máster Máster Universitario en Ingeniería de Telecomunicación Detección de anomalías en sistemas de Smartlighting Autor: Agustín Walabonso Lara Romero Tutor: Rafael María Estepa Alonso Profesor titular Dpto. de Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2023
Trabajo Fin de Máster: Detección de anomalías en sistemas de Smartlighting Autor: Agustín Walabonso Lara Romero Tutor: Rafael María Estepa Alonso El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario:
v Acuerdan otorgarle la calificación de: Sevilla, 2023 El Secretario del Tribunal
A mi familia A mis amigos A mis profesores Y sobre todo a mis padres
vii
Agradecimientos Gracias a mis padres por educarme y permitir formarme en algo que quería ser desde pequeño, un ingeniero que pudiera entender y dar solución a la mayoría de las cosas que nos rodean en la actualidad. Ellos siempre me apoyan en todo sin tener la más mínima duda. También gracias a toda mi familia y amigos que siempre están apoyando mis decisiones. Por último y no menos importante, darle las gracias a mi mentor y gran profesor Rafael Estepa, que es mi tutor y también compañero de trabajo. Gracias a él, he aprendido y sigo aprendiendo mucho sobre la ciberseguridad. Agustín Walabonso Lara Romero Sevilla, 2023
ix Resumen Cada vez es más común la monitorización y el control de todas las cosas en la vida, esto se conoce como IoT (Internet Of Things) o Internet de las cosas en español. Esta tendencia también se ve reflejada en los procesos industriales, lo que se conoce como la industria 4.0. Dentro de este ámbito nos podemos encontrar con la gestión de luminarias inteligentes (Smart-Lighting). El problema es que estos sistemas IoT presentan vulnerabilidades frente diferentes amenazas cibernéticas. Es por ello, por lo que se crea la necesidad de diseñar e implementar sistemas de ciberprotección específicos para arquitecturas Smart-Lighting. En este trabajo se hace primero un estudio sobre las arquitecturas Smart-Lighting, analizando sus propiedades y las comunicaciones IoT internas. También se realiza un estudio sobre las posibles amenazas IoT existentes. Para dar una solución, en este trabajo se presenta un novedoso sistema de detección modular específico para el caso de uso Smart-Lighting, basado en la detección de anomalías tanto en el nivel de red, como en el nivel de aplicación. Se presentan los algoritmos internos del sistema, las pruebas realizas y por último una discusión sobre los resultados obtenidos.
1 1 INTRODUCCIÓN Y OBJETIVOS l internet de las cosas (IoT) ha evolucionado muy rápido y cada vez es más común encontrar múltiples y diferentes tipos de dispositivos conectados a internet. El uso de IoT ha ido extendiéndose a todos los dominios como, por ejemplo, el uso en la industria 4.0 [1], casas inteligentes [2] y entornos sanitarios [3] entre otros muchos más. Del concepto industria 4.0, nace el mundo OT (Tecnología Operativa). Otro ámbito de aplicación IoT es el de Smart City [4] donde se encuentra Smart Lighting [5]. Este trabajo se centra en la Ciberprotección dentro de un sistema de Smart Lighting o también conocido como luninarias inteligentes. A continuación, en la Figura 1 se describe un ejemplo de arquitectura Smart Lighting [5] [6]. Figura 1 Arquitectura Smart-Lighting. E Para que buscar una victoria si puedes lograr un buen acuerdo Agustín W. Lara Romero
Introducción y objetivos 2 En la arquitectura presentada se pueden apreciar los siguientes elementos: 1. Las iluminarias inteligentes. 2. Controladores de las iluminarias. 3. Pasarela de comunicaciones. 4. Servidor MQTT o COAP. 5. Base de datos de series temporales. 6. Aplicación de gestión. El controlador de iluminarias actúa sobre las iluminarias encendiéndola y apagándola en función a la salida y puesta del sol, o en función del nivel de luminosidad entre otros de los posibles factores. El controlador también envía datos de medidas sobre las iluminarias a un servidor a través de una pasarela. La transmisión de estos datos se puede realizar a través de diferentes redes de comunicación como pueden ser redes NB-IoT, SigFox o LoraWAn. Siendo esta última la más usada en este tipo de arquitecturas. La red LoraWan (Long Range Area Network) es una red inalámbrica de baja potencia y área amplia. Esta red está diseñada especialmente para dispositivos con requisitos de bajo consumo y tienen que operar en redes de largo alcance [7]. Esta red es la más usada en las arquitecturas IoT debido a las características y requisitos mencionados. Esta red es una red de redes en estrella, en la cual, en la primera estrella se encuentran los dispositivos finales y las puertas de enlaces. En la segunda estrella, se encuentra las puertas de enlace y el servidor central de la red. Las velocidades de datos en este tipo de red se encuentran en el rango de 0.3kbps y 50 kbps. Narrow Band IoT (NB-IoT) [8] fue introducida en las redes LTE como la principal tecnología M2M para despliegues a gran escala. Permite que un gran número de componentes, como actuadores y sensores puedan comunicarse a lo largo de un área extensa. Esto es posible gracias a que utiliza una banda estrecha de sólo 180 kHz para dar comunicación a todos los componentes. La principal ventaja del uso de este tipo de redes para aplicaciones IoT, es que también cumple con el requisito de eficiencia energética. El servidor que usa como protocolos de aplicación COAP o MQTT, inserta los datos recibidos en una base de datos de series temporales. Además, el servidor también se encarga de enviar los comandos y operaciones a los controladores de las iluminarias. Finalmente, todo el sistema es monitorizado y configurado a través de una aplicación web de gestión, siendo configurada y monitorizada por un gestor. Las tecnologías OT (Tecnologías de Operación) se usan para la monitorización y control de activos en procesos industriales. Dentro de estas tecnologías, se encuentran los siguientes elementos: • ICS (sistema de control de industrial): monitoriza y controla los procesos industriales. • IACS (sistema de control y automatización industrial): engloba el personal, software y hardware que puede llegar a afectar en la operación de un proceso industrial. • SCADA (sistema de control y adquisición de datos): sistemas que obtienen datos y controlan las infraestructuras industriales. • HMI (interfaz hombre-máquina): interfaz usada por los operadores para poder interactuar con los sistemas OT. • DCS (sistema de control distribuido): sistema de control centralizado. • RTU (unidad de terminal remota): recogen datos de los dispositivos físicos y convierten las señales analógicas en digitales para transmitiros al centro de control. • PLCs (controlador lógico programable): dispositivo industrial diseñado para su uso en tiempo en real en entornos donde el control no necesita necesariamente comunicación con SCADAs o DCSs.
3 3 Detección de anomalías en sistemas de Smartlighting Para arquitecturas OT existe un grado de automatización descrito en el modelo de ISA 95 [9]. En este acuerdo se describe una pirámide de automatización dividida en 5 niveles. En cada nivel se indican los requisitos de periodicidad en el intercambio de información. Figura 2 Pirámide de automatización según modelo ISA 95. 1.1 Amenazas y ciberprotección en Smart-Lighting Las arquitecturas Smart-Lighting son vulnerables a múltiples amenazas como, por ejemplo: • Amenazas OT: robo de energía, vandalismo, averías, fallos hardware. • Amenazas IT: fallos software, ciberataques. Debido a la existencia de múltiples amenazas, existen diferentes sistemas de protección IT como pueden ser: firewall, antivirus, network-ids, cifrado de conexiones, … etc [10]. Estos no cubren todas las necesidades, debido a que detectan ataques conocidos. Pero existen múltiples ataques no conocidos como pueden ser los ataques zero days [11] o malicious insider [12] que son difíciles de detectar por los sistemas tradicionales de protección IT. En un artículo reciente [13], se presentan diferentes amenazas categorizadas en cuatro capas: • Capa física: esta capa contiene una variedad de dispositivos, como actuadores y sensores, que recopilan datos y los envían a la capa superior de la arquitectura. Es por ello por lo que los ataques en esta capa están dirigidos al hardware y podemos encontrarnos con las siguientes amenazas: o Sleep deprivation attack: mecanismo o inyección de código malicioso que hace que los dispositivos no entren en estado de reposo, provocando un consumo excesivo de batería, consiguiendo reducir la vida del dispositivo. o Capturing & Fake node injection: suplantación o reemplazo de un nodo en la red IoT, permitiendo un acceso a la red. o Malicious code injection attack: inyección de código en la memoria de un nodo del sistema IoT, permitiendo realizar funciones no deseadas o ganar acceso a la red.
Introducción y objetivos 4 o Eavesdropping attack: el atacante captura los datos cuando estos son transmitidos o en la fase de autenticación. • Capa de red: esta capa engloba la red de comunicación, internet y redes de sensores inalámbricos. La función principal es la de recoger los datos obtenidos por la capa física y enviarlos a capas superiores para el procesamiento de los datos. A continuación, se detallan diferentes ataques que podemos encontrar en esta capa: o DDOS attack: este ataque tiene el objetivo de hacer que un servicio o recurso sea inaccesible por los usuarios, provocados por ejemplo con una inhumación de peticiones múltiples dirigidas al servicio en cuestión. o Routing attack: este ataque consigue redirigir las rutas de transmisión de los datos, consiguiendo crear bucles o pérdidas en los datos transmitidos. o Sniffing attack: el atacante consigue leer los paquetes que cursan una red. Es muy común encontrarlos en redes inalámbricas donde el medio de transmisión es compartido por todos los dispositivos. o Traffic analysis attacks: el atacante consigue obtener de forma pasiva o activa el tráfico que cursa la red y obtiene información sensible de los usuarios. También válido cuando el atacante extrae información a través de escaneos. o Credential Access: el atacante consigue el acceso a un dispositivo a través de un ataque de fuerza de bruta de credenciales. • Capa de plataforma: es una capa intermedia ubicada entre las capas de red y aplicación. Esta capa sirve la función de almacenamiento de los datos, cuando estos son transmitidos entre los dispositivos IoT. Esta capa presenta vulnerabilidades a una gran variedad de ataques que pueden conseguir infectar el control de la aplicación IoT. o Cloud malware injection: el atacante consigue introducir un Malware 1 en la cloud a través de la instalación de una máquina virtual o la instancia del módulo de un servicio malicioso. o SQL injection: inyección de código a base de datos SQL. El atacante consigue acceso a datos protegidos. o Storage attacks: los entornos IoT manejan grandes cantidades de datos que son almacenados en nubes o dispositivos, los cuales pueden ser atacados. • Capa de aplicación: capa superior de la arquitectura que ofrece el servicio expuesto a los usuarios. Los ataques en esta capa dependen de la tecnología que se encuentra detrás de la aplicación. A continuación, se detalla algunos de los ataques posibles que podemos encontrar en esta capa: o Reprogram attack: un atacante consigue tomar el control de la red a través de la reprogramación remota de los dispositivos IoT. o Sniffing attack: el atacante consigue realizar lecturas de los paquetes de la capa de aplicación. o Service interruption attacks: ataques de disrupción en la operación del servicio. o False Data Injection: ataque dirigido a la manipulación de los datos enviados por los dispositivos IoT. o False Command Injection: ataque dirigido a la manipulación de los comandos enviados por los dispositivos IoT. A modo de resumen, se puede observar en la Figura 3 [13] un listado de posibles amenazas IoT categorizadas por capas y sus posibles contramedidas. 1 Software malicioso que consigue infiltrarse en un dispositivo y causa interrupciones en un servicio o robo de datos sin ser detectado.
5 5 Detección de anomalías en sistemas de Smartlighting Figura 3 Posibles amenazas y contramedidas IoT. Como hemos visto, los entornos IoT presentan numerosas amenazas y es por ello por lo que nace la necesidad de diseñar sistemas de protección basados en la detección de anomalías, que permitan encontrar patrones de comportamiento anómalos.
Introducción y objetivos 6 1.2 Objetivo del Proyecto Habiendo identificado las necesidades de ciberprotección en las arquitecturas IoT, el objetivo principal del trabajo propuesto trata sobre el diseño y desarrollo de un sistema de protección para Smart-Lighting basado en la detección de anomalías, buscando patrones de comportamiento anómalos. Que cumpla los requisitos de ser completamente pasivo en la red IoT y tenga un coste computacional bajo. Para ello, se busca diseñar un sistema que permita detectar anomalías tanto en el nivel de red basado en flujos IPFIX, como en el nivel de datos de aplicación haciendo uso de técnicas de análisis de datos. Una vez diseñado el sistema, se implementará y se definirán mecanismos o métricas permitan medir el rendimiento de este. Por último, se analizarán los resultados para extraer las posibles limitaciones y mejoras que presenta el sistema propuesto.
7 2 REVISIÓN DE LA TECNOLOGÍA Y REVISIÓN DEL CONOCIMIENTO n este capítulo se pretende realizar una revisión del estado del arte de los protocolos y sistemas de protección usados en las arquitecturas Smart-Lighting. 2.1 Modelo de capas En el mundo IoT no existe un modelo de capa que defina la arquitectura aceptada universalmente. Es por ello por lo que existen diferentes arquitecturas posibles dependiendo del caso de uso particular [14], [15]. A continuación, se van a detallar el modelo 5 capas que es el usado comúnmente en la mayoría de las aplicaciones IoT. 2.1.1 Modelo de 5 capas En la Figura 4, se presenta un modelo de 5 capas. Figura 4 Modelo de 5 capas. E Cada día sabemos más y entendemos menos Albert Einstein
Revisión de la tecnología y revisión del conocimiento 8 • La capa de percepción está orientada a todos los dispositivos hardware como sensores y actuadores encargados de obtener y procesar los datos que cursan una red IoT. Si se compara esta capa con el modelo tradicional de capas OSI, la capa de procesamiento engloba las capas físicas y de enlace del modelo OSI. Si se analiza el riesgo que conlleva esta capa, nos podemos encontrar con la necesidad de seguridad en los dispositivos y los protocolos de transmisión de datos inalámbricos. • La capa de transporte incluye la transmisión de datos en una red IoT desde dispositivos finales hasta las aplicaciones que procesan y consumen los datos IoT. El alcance es tan extenso que hace que la seguridad en esta capa sea muy compleja y variada. Existen tantos dispositivos y tecnología distintas en esta capa, que, desde el punto de vista de ciberseguridad, se definen soluciones simples que en conjunto aporten una solución completa a la red. Las principales amenazas que se plantean en esta capa son: Sniffing, Man-in-the-middle, denegación de servicio, escaneos, entre otros posibles ataques. Todas estas posibles amenazas se pueden mitigar a través de análisis de anomalías, haciendo uso de técnicas ML basadas en la creación de modelos comportamientos, permitiendo detectar desviaciones en el comportamiento de la red. • La capa de procesamiento trasporta, almacena y analiza los datos de los dispositivos finales y la aplicación IoT. En esta capa se pueden encontrar diferentes tecnologías como el procesamiento de eventos complejos, computación en la nube y la optimización de bases de datos no relacionales. • La capa de aplicación incluye la solución final esperada por los usuarios, así como la operación y negocio del servicio IoT que se ofrece. En esta capa es muy importante asegurar la autentcidad, confidencialidad e integridad de los datos, debido a que esta capa es muy sensible a ataques dirigidos al acceso de datos no permitidos. • La capa de negocio está orientada a la gestión completa del sistema IoT. Esto incluye las aplicaciones, el modelo de negocio y la privacidad de los usuarios. Si se analiza el modelo de 5 capas, es una arquitectura completa que define la lógica del modelo IoT, donde los dispositivos físicos obtienen datos y estos son transmitidos hacia otros dispositivos o elementos de la red IoT, para que finalmente sean procesados por aplicaciones finales que ofrecen un servicio concreto. El modelo de 5 capas aporta un alto nivel de detalle a la hora de desarrollar aplicaciones reales, definiendo una arquitectura completa. 2.2 Comunicaciones IoT Los protocolos y comunicaciones IoT deben cumplir con los siguientes requisitos [14]: • Gran cantidad de dispositivos conectados a internet. • Bajo consumo de energía. • Alta fiabilidad. En este apartado se presentan las características de las comunicaciones que suelen encontrarse en las arquitecturas IoT. En la Figura 5 se muestra una comparativa de las tecnologías existentes de comunicación inalámbrica [16], teniendo en cuenta el ancho de banda y el alcance de transmisión. Estos dos factores son claves a la hora de diseñar soluciones IoT.
9 Detección de anomalías en sistemas de Smartlighting Figura 5 Comparación de tecnologías de comunicación inalámbrica. LoRaWAN es un protocolo ubicado en la capa de control de acceso al medio (MAC) sobre una modulación LoRa (Long Range). Una característica de LoRaWAN es que todos los mensajes transmitidos por un nodo son recibidos por todos los gateways que se encuentren dentro del alcance de la comunicación. En la Tabla 1se detallan las características principales de LoRaWAN. Las principales aplicaciones en las que podemos encontrarnos con esta tecnología son: • Monitorización en tiempo real de redes de energía, gas y agua. • Aplicaciones IoT en agricultura. • Gestión y seguimiento de logística. • Monitorización de sensores en edificios inteligentes. Características principales de LoRaWAN Ancho de Banda 125, 250 o 500 kHz Modulación CSS Máxima tasa de datos 50 Kbps Tamaño máximo de payload 243 bytes Alcance 5 km (urbano), 20 km (rural) Cifrado AES-128 Referencia [17] Tabla 1 Características principales de LoRaWAN Sigfox es un protocolo de comunicación de banda UNB (Ultra Narrow-Band) que ofrece conectividad de extremo a extremo en dispositivos IoT. Se encuentra presente en la mayoría de las aplicaciones IoT que tengan una baja tasa de datos y cobertura del operador. Es muy común encontrar esta tecnología en aplicaciones que requieran el rastreo de activos, como por ejemplo en la monitorización en tiempo real de instalaciones temporales debido a una obra, comúnmente conocido como mobiliario inteligente. En la Tabla 2 se presentan las características principales de esta tecnología.
Arquitectura propuesta 16 Como hemos visto en la Tabla 6, la mayoría de las amenazas IoT se pueden detectar haciendo uso de técnicas basadas en la detección de anomalías. Las soluciones existentes no permiten detectar la gran mayoría de las amenazas con una única solución. El alcance de este trabajo se centra en la detección de las amenazas en la capa de red y Aplicación, basado en anomalías, donde dentro de estas capas, el sistema detectará las siguientes amenazas: • Capa de red: DDOS attack, Traffic analysis attacks y Credential Access. • Capa de aplicación: False Data Injection y False Command Injection. El sistema se centra en la detección de anomalías porque permite la detección de la mayoría de las amenazas presentadas. Además, es un sistema modular y complementario con otros de las soluciones presentadas anteriormente. De cada uno de los tipos de ataques, luego se realizan diferentes pruebas y variantes. Todas ellas se encuentran descritas en la Tabla 9. A continuación, se detallan los requisitos que debe cumplir la arquitectura propuesta: • Diseño e implementación de un sistema detección de intrusos (IDS) que permita detectar anomalías tanto del mundo IT como el OT. • Bajo consumo de recursos debido a las limitaciones de los dispositivos IoT. • Solución completamente pasiva que no interfiera en la red IoT. • Compatible con sistemas basados en firmas como IDS o WAF.
17 Detección de anomalías en sistemas de Smartlighting 3.1 Diseño En la Figura 7 se presenta la arquitectura propuesta y se detalla el diseño de cada uno de los bloques que la conforman. Figura 7 Sistema IDS propuesto. El sistema propuesto detecta anomalías en las capas OSI 3-4 a través de un módulo de detección de anomalías en tráfico de red y también en la capa 7 del modelo OSI (capa de aplicación) a través de un módulo de detección de anomalías en datos de aplicación. A continuación, vamos a detallar cada uno de los componentes del sistema propuesto. 3.1.1 Datos de entrada y salida del sistema Existen dos posibles fuentes de entrada al sistema IDS propuesto: a. Los paquetes de tráfico de red (en formato PCAP) que se puede obtener realizando un port-mirror en algunos de los router o conmutadores que forman la red IP. El port-mirror [36] es una función que posee la mayoría de los conmutadores de red que permite copiar el tráfico que cursa un puerto en otro puerto distinto. Esto permite escuchar el tráfico de la red IoT de forma pasiva y sin que la red se pueda ver afectada. b. Los datos de aplicación intercambiados entre los dispositivos IoT y el servidor MQTT/COAP que pueden obtenerse accediendo al archivo de registro del propio servidor o a la base de datos local. Adicionalmente, se añade un filtro a la entrada de cada uno de los módulos de detección, esto permite analizar únicamente el tráfico o los datos de aplicación de interés, evitando insertar ruido a los detectores propuestos. En el caso del módulo de red, se permite filtrar las tramas que se desean analizar. Esto permite por ejemplo que se pueda analizar el tráfico que sea exclusivamente el generado por cada una de las UCA.
Arquitectura propuesta 18 Las salidas posibles del sistema están relacionadas con las amenazas que se desean detectar, a continuación, se detallan las posibles salidas del sistema: • DDOS attacks: estos ataques dejan muchos rastros en la red y obtendremos salidas relacionadas con un aumento en la cantidad de paquetes de red, un aumento en el número de dispositivos conectados a la red y un cambio en la periodicidad en las comunicaciones. • Traffic analysis attacks: estos ataques tienen salidas similares al anterior, pero dejan también rastros sobre el uso de los puertos usados en las comunicaciones, porque un atacante podría realizar un sondeo a número de puertos específicos para extraer información sobre los dispositivos conectados a la red. • Credential Access: este ataque también dejaría rastro en la red, es por ello por lo que es necesario la implementación de detectores específicos que alerten de un uso anormal a accesos a servicios con uso de credenciales. • False Data Injection: si un dato ha sido manipulado, el sistema detectará y notificará con un mensaje sobre la coherencia de las variables. • False Command Injection: cuando un atacante introduce comandos anómalos en los dispositivos, estos generan errores en la operación. Este comportamiento es detectado como un fallo OT y es notificado.
19 Detección de anomalías en sistemas de Smartlighting 3.1.2 Módulo 1: detector de anomalías en tráfico de red Los paquetes del tráfico de red capturados se procesan de forma periódica para extraer los flujos de tráfico, que incluyen información relevante de la red y de los encabezados de transporte de los paquetes. La ventana de tiempo para los procesos de medición y exportación es configurable. Al utilizar flujos de tráfico en lugar del tráfico en bruto (los paquetes) sin procesar, se consigue reducir significativamente el tamaño del conjunto de datos que tiene que procesar el detector. También es posible realizar una inspección profunda de paquetes (DPI) antes de generar los flujos, para así conseguir enriquecerlos con información extra de interés (por ejemplo: sistema operativo, geolocalización, aplicación usada en la comunicación, etc.) Esto sólo es posible siempre que el tráfico no se encuentre cifrado. Una vez exportado los flujos, se generan series temporales para obtener estadísticos relacionadas con el tráfico de la red en general (por ejemplo, número total de mensajes ARP en la subred, número total de conexiones, etc) o específicos del dispositivo (p. ej., número de IP externas que solicitaron una conexión con un dispositivo IoT en particular). Finalmente, de cada una de las series temporales se genera un indicador de compromiso (IoC), el cual permite detectar y generar alarmas basadas en anomalías. Para ello, se utilizan técnicas estadísticas debido a que proporcionan un buen resultado, son simples y permiten adaptarse en entornos Smartlighting. A continuación, se detallan los detectores implementados para los IoC y en Tabla 7 Definición de IoC's para el tráfico de red.Tabla 7 se detallan los IoC y los detectores asociados a cada uno de ellos. 3.1.2.1 Detector D1: Media Móvil Simple (SMA) Este detector se basa en el cálculo de la media móvil simple de una serie temporal de valores. Dada una serie temporal de valores 𝑋, para calcular la media móvil simple de una muestra 𝑋!, se calcula la media de los 𝑤 valores valores anteriores a 𝑋!. Siendo 𝑤 un parámetro que define el tamaño de la ventana para el cálculo de media móvil. El cálculo de la SMA para un instante 𝑛 se define como 𝑋"#$! $ $ $ $ $ $ $ $ =%!&%!"#&⋯&%!"$"# (. Una vez calculada la media móvil simple, se comprueba para cada uno de los valores dados si se cumple alguna de las siguientes condiciones y se considera anomalía cuando alguna de las expresiones es verdadera. • En función del parámetro 𝑐𝑜𝑛𝑑, se evalúa una condición u otra: o 𝐿𝐶𝐿|)*!+,-:𝑋!<𝑋"#$! $ $ $ $ $ $ $ $ −𝑘×σ!./ o 𝑈𝐶𝐿|)*!+,/:𝑋!>𝑋"#$! $ $ $ $ $ $ $ $ +𝑘×σ!./ o Siendo σ!./ la desviación estándar de los 𝑤 valores anteriores a 𝑋!5y 𝑘 un factor multiplicador. En la siguiente figura se muestra un ejemplo de este detector, la serie azul corresponde con el número total de flujos vistos en una red cada 10 minutos. Tomando como parámetros 𝑘=105y 𝑤=3 y aplicando SMA se obtiene la serie verde. Finalmente, se obtiene el límite (para 𝑐𝑜𝑛𝑑= 1),5 la serie punteada en negro. En rojo, se puede apreciar como una de las muestras ha sido detectada como anómala al superar el límite UCL calculado por el detector.
Arquitectura propuesta 20 Figura 8 Ejemplo de detector D1 SMA. 3.1.2.2 Detector D2: Media Móvil Exponencial Ponderada (EWMA) Este detector se basa en el cálculo de la media móvil exponencial ponderada (EWMA) de una serie temporal de valores. El cálculo de la EWMA se define como 𝑋01#$! $ $ $ $ $ $ $ $ $ $ =α×𝑋!×(1− α)×𝑋01#$!"# $ $ $ $ $ $ $ $ $ $ $ $ $ , donde α es el parámetro de suavizado con valores comprendidos entre [0,1]. 5 𝑋! el valor en el instante 𝑛 de la serie de valores 𝑋 y 𝑋01#$!"# $ $ $ $ $ $ $ $ $ $ $ $ $ 5el valor de la media móvil exponencial ponderada en el instante 𝑛−1. Una vez calculada la EWMA sobre la serie de valores 𝑋, se considera anomalía aquellos valores que cumplan la condición de 𝑋!<𝑋01#$!"# $ $ $ $ $ $ $ $ $ $ $ $ $ −𝑘×σ01#$!"# . • Siendo 𝜎01#$!"# la desviación típica de la EWMA en el instante anterior (𝑛−1) a la muestra evaluada y definida como 𝜎01#$!= >(1−𝛼)@𝜎01#$!"# +𝛼A𝑋!−𝑋01#$!"# $ $ $ $ $ $ $ $ $ $ $ $ $ B2C ID Descripción Detector IoC1 Número total de flujos IPFIX identificados con tráfico SSH D1 IoC2 Número total de flujos IPFIX identificados con tráfico ICMP D1 IoC3 Número total de flujos IPFIX D1 IoC4 Número total de direcciones IP origen distintas identificadas en los flujos IPFIX D1 IoC5 Número total de puertos destinos distintos identificadas en los flujos IPFIX D1 IoC6 Número total de direcciones IP destinos distintas identificadas en los flujos IPFIX D1 IoC7 Periodicidad mínima registrada en los flujos IPFIX2 D2 Tabla 7 Definición de IoC's para el tráfico de red. 2 Para generar este indicador, se calcula la periodicidad mínima de cada una de las direcciones IP origen y posteriormente se selecciona la periodicidad más pequeña registrada.
21 Detección de anomalías en sistemas de Smartlighting 3.1.3 Módulo 2: detector de anomalías en datos de aplicación Este subsistema recibe como entrada los datos almacenados en la base de datos de series temporales (TSDB) y detecta anomalías en ellos. Para ello, define los siguientes detectores: 3.1.3.1 Detector de coherencia de variables Este detector recibe los datos registrados por un grupo de variables (por ejemplo: timestamp, voltaje, intensidad, potencia activa, potencia reactiva, etc). Este grupo de datos se registra para cada uno de los dispositivos Smartlighting. El objetivo principal de este submódulo es el de detectar anomalías en estos grupos de variables. Para ello, hace uso del análisis de reducción de dimensiones (PCA) y el control de residuos Q, que permite detectar anomalías a través de la coherencia de variables. A continuación, se detalla la implementación de este detector: • Dada la matriz de datos 𝑋=[𝑥/ 3,…,𝑥4 3] con n observaciones y m variables correlacionadas. Se obtiene la matriz 𝑋5 que es el resultado de normalizar la matrix de datos 𝑋5 con media 0 y varianza 1. • Se realiza la descomposición en valores singulares (SVD) de la matriz 𝑋5, aplicando la ecuación 𝑋5=𝑇⋅𝑃3, siendo 𝑇5 la matriz 𝑇=[𝑇/,…,𝑇4] de variables no correlacionadas, o más bien conocida como componentes principales, donde cada componente 𝑇6 es combinación lineal de las variables originales y 𝑃5 es la matriz que contiene los autovectores asociados con la matriz de covarianza de 𝑋5 definida en la siguiente ecuación: o Σ= / !./ ⋅𝑋3⋅𝑋=𝑃Λ𝑃3, siendo Λ una matriz diagonal que contiene los autovalores en orden decreciente. • Una vez reducida las dimensiones con (PCA), seleccionamos las primeras 𝐴5 componentes principales de la matriz 𝑃5. El objetivo es que las componentes seleccionadas describan una parte significativa de la covarianza de los datos observados. De esta manera, nos quedamos con una matriz 𝑃$ con dimensión 𝑚𝑥𝐴5. Cuando en la fase de test tengamos una nueva observación con 𝑚5 variables 𝑥!, calculamos el vector de puntuación 𝑡!=𝑥!⋅𝑃7 • Al reducir las dimensiones, la estimación 𝑃$ tendrá diferencias respecto a la observación original. Este error se define como 𝑒!=𝑥!−5𝑡!⋅𝑃$ 3. Denominamos residuo de la matriz, el error que se produce al reducir el número de componentes. Esto nos permite definir el estadístico 𝑄, que indica la proyección de una muestra en el subespacio de residuos. Proporcionando un indicador de cómo de bien se adapta una observación al modelo PCA. El estadístico 𝑄 se define como 𝑄=5‖𝐼4−𝑃$𝑃$ 3‖2. • Para usar un control de residuos, seleccionamos las 𝐴 componentes principales y en la fase de entrenamiento se encuentra un umbral máximo para el residuo generado con los datos de entrenamiento. Para ello, se calcula el residuo generado: 𝑄8976! = TA𝐼−5𝑃 U𝑃 U3B⋅𝑋5%&'(! T2 y se encuentra un límite 𝑄: usado para la fase de test y definido en la siguiente ecuación: 𝑄:=𝜇;%&'(! +𝑘⋅𝜎;%&'(! o siendo 𝜇;%&'(! y 𝜎;%&'(! la media y desviación típica del vector de residuos 𝑄8976! • Una vez encontrado un límite residual 𝑄:. Para cada nueva observación en la fase de test, se comprueba la siguiente condición: 𝑄8<58 5>5𝑘⋅5𝑄: y se considera que es una anomalía en caso de cumplir dicha condición. o Siendo 𝑄8<58 el residuo generado al proyectar la nueva observación en el modelo PCA encontrado en la fase de entrenamiento y 𝑘 un factor multiplicador del límite 𝑄:5encontrado en la fase de aprendizaje.
Arquitectura propuesta 22 3.1.3.2 Detector de fallos OT Este detector recibe los datos registrados del consumo de potencia de las luminarias Smartlighting. Estos datos contienen una marca de tiempo y el consumo de potencia registrado en dicho instante de tiempo para cada una de las luminarias. El objetivo de este detector es el de encontrar anomalías en la serie temporal del consumo de potencia registrado. Estas anomalías pueden ser provocadas por fallos en la operación, debido a luminarias fundidas o robo de potencia en la línea de luminarias. A continuación, se detallan los pasos llevados a cabo: • Dada la matriz de datos 𝑋(𝑡,𝑝) formada por dos vectores columnas: 𝑇= [𝑡_1,𝑡_2,...,𝑡_𝑛] y 𝑃=[𝑝_1,𝑝_2,...,𝑝_𝑛], siendo 𝑡6 el instante de tiempo del valor del consumo de potencia registrado 𝑝6. Existe una nueva observación cada 𝑀 minutos. Al vector de valores de potencia 𝑃 se le aplica una media móvil simple (SMA) con una ventana de 𝑤 muestras. Este nuevo vector lo llamaremos 𝑃′ y se encuentra definido en la siguiente ecuación: o 𝑃==>!&>!)#&⋯&>!)$"# ( o Esto se hace para realizar un suavizado sobre los valores originales y así conseguir reducir los cambios bruscos en la serie temporal. • Teniendo el nuevo vector de valores suavizados 𝑃=, calculamos la desviación típica móvil con una ventana de 𝑤 muestras, obteniendo el vector 𝑃? definido en la siguiente ecuación: o 𝑃?=>∑A>(.B* C C C D+ !)$"# (,! (, sabiendo que 𝑃= ] es la media de las 𝑤 muestras suavizadas. Al vector 𝑃Etambién se le aplica una media móvil simple con una ventana de 𝑤 muestras, obteniendo el vector de valores suavizados 𝑃E = • Teniendo los vectores de valores suavizados 𝑃= y 𝑃E =, se calcula la diferencia con la muestra registrada 24 horas antes, que corresponde con la muestra 𝑁 anterior. obteniendo el vector de diferencia de valores de potencia 𝑃∗=[𝑝!&/ =−𝑝/ =,…,𝑝!&/ =−𝑝!.G =], siendo 𝑛>𝑁. • Una vez obtenido los vectores 𝑃∗ y 𝑃? =, calculamos la media del vector 𝑃? =, permitiendo obtener µB- *, siendo este un umbral para la desviación típica y así no detectar en las zonas de paso de encendido a apagado y viceversa. Esto permite reducir el número de falsos positivos. o µB- *=?#&⋯&?! !, siendo 𝑛 el número de muestras seleccionadas para el entrenamiento. • Se considera que una muestra es anómala si durante 𝑖 muestras consecutivas la desviación típica suavizada se encuentra por debajo de un cierto umbral (a𝑝?!,…,𝑝?!). b<𝑘⋅µB- *) y, además, la diferencia de potencia supere el siguiente umbral: [|𝑝! ∗|,…,|𝑝!&H ∗|]>𝑉, siendo 𝑘 un factor multiplicador del umbral µB- * y 𝑉 la diferencia máxima en valor absoluta de potencia permitida.
23 Detección de anomalías en sistemas de Smartlighting Para ayudar a entender al lector cómo funciona este algoritmo de forma gráfica, en la Figura 9 se muestra cada uno de los vectores calculados: • En azul los valores de potencia sin suavizar. • En amarillo los valores de potencia aplicando la media móvil. • En rojo los valores de la desviación típica aplicando la media móvil. • En verde la diferencia de los valores de potencia con la muestra registrada 24 horas antes. Figura 9 Ejemplo del algoritmo fallos OT.
25 4 IMPLEMENTACIÓN Y PRUEBAS n este capítulo se presenta la implementación realizada del sistema propuesto en el punto anterior y las pruebas realizadas sobre el mismo. 4.1 Implementación El sistema propuesto se ha implementado en el lenguaje de programación Python. En la siguiente figura se detalla cada uno de los componentes implementados: Figura 10 Implementación del sistema IDS propuesto. main.py ioc_network.py ioc_q_pca.py ioc_ot.py u2ls.py u2ls.py u2ls.py get_metrics.py ioc_network.csv ioc_q_pca.csv ioc_ot.csv flujos.IPFIX datos_luminarias.csv E La verdadera sabiduría está en reconocer la propia ignorancia. Sócrates
Implementación y pruebas 32 10.247.114.136 0,007 1 0,993 0,993 10.92.9.109 0,005 1 0,995 0,995 10.247.114.169 0,005 1 0,995 0,995 10.247.114.150 0,005 1 0,995 0,995 10.247.114.186 0,004 1 0,996 0,996 10.247.90.107 0,004 1 0,996 0,996 10.92.9.113 0,004 1 0,996 0,996 10.92.9.110 0,004 1 0,996 0,996 10.247.114.130 0,004 1 0,996 0,996 10.247.114.152 0,003 1 0,997 0,997 10.247.114.148 0,003 1 0,997 0,997 10.247.114.131 0,003 1 0,997 0,997 10.247.114.183 0,003 1 0,997 0,997 10.247.114.154 0,002 1 0,998 0,998 10.247.88.200 0,002 1 0,998 0,998 10.247.114.165 0,002 1 0,998 0,998 10.247.114.141 0,002 1 0,998 0,998 10.247.114.157 0,002 1 0,998 0,998 10.247.114.134 0,002 1 0,998 0,998 10.247.114.153 0,002 1 0,998 0,998 10.247.114.146 0,002 1 0,998 0,998 10.247.114.162 0,002 1 0,998 0,998 10.247.114.140 0,002 1 0,998 0,998 10.247.114.167 0,002 1 0,998 0,998 10.247.90.104 0,002 1 0,998 0,998 10.247.114.178 0,002 1 0,998 0,998 10.247.114.135 0,002 1 0,998 0,998 10.247.114.181 0,001 1 0,999 0,999 10.247.114.161 0,001 1 0,999 0,999 10.247.114.159 0,001 1 0,999 0,999 10.247.114.187 0,001 1 0,999 0,999 10.247.114.145 0,001 1 0,999 0,999 10.247.114.139 0,001 1 0,999 0,999 10.247.114.144 0,001 1 0,999 0,999 10.247.114.166 0,001 1 0,999 0,999 10.247.114.142 0,001 1 0,999 0,999 10.247.114.185 0,001 1 0,999 0,999 10.247.114.160 0,001 1 0,999 0,999 10.247.114.133 0,001 1 0,999 0,999 10.247.114.171 0,001 1 0,999 0,999 10.247.114.163 0,001 1 0,999 0,999 10.247.114.184 0,001 1 0,999 0,999 10.247.114.137 0,001 1 0,999 0,999 10.247.114.164 0,001 1 0,999 0,999 10.247.114.155 0,001 1 0,999 0,999 10.247.114.174 0 1 1 1
33 Detección de anomalías en sistemas de Smartlighting 10.247.114.138 0 1 1 1 10.247.114.179 0 1 1 1 10.247.114.180 0 1 1 1 10.247.114.151 0 1 1 1 10.247.114.129 0 1 1 1 10.247.114.182 0 1 1 1 Tabla 13 Resultados de coherencia de variables de forma individual para k=6, CP=4 y ATP6. Analizando los resultados obtenidos de forma individual, se pueden observar que hay ciertos dispositivos donde el algoritmo no funciona de forma correcta: Luminaria FP TP Justificación 10.247.114.176 0 0 Valores muy dispares en las variables (posibles errores de medidas). Picos en las variables de voltaje con valores de 327680. Picos en las variables de potencia reactiva con valores de 84482457. Valores de potencia a cero, teniendo valores de intensidad y voltaje no nulos. 10.247.114.188 1738 100 El número de falsos positivos es provocado cuando se registran valores de potencia no nulos. Esta zona presenta unas fluctuaciones que provoca un incremento en el residuo, detectado este comportamiento como anómalo. 10.92.9.111 874 100 El número de falsos positivos es provocado en los valores de la potencia de las últimas muestras usadas como test. 10.247.90.102 791 100 Valores muy dispares en sus variables, provocando un residuo alto. Esta UCA necesita un factor multiplicador de K igual a 8 para obtener un 95% de capacidad de detección y bajando el número de falsos positivos de 791 a 20. Tabla 14 Justificación de resultados de coherencia de variables. Ahora vamos a analizar de forma individual cada una de las cuatro luminarias: La luminaria 10.247.114.176 provoca residuos muy altos y anormales debido a valores muy dispares en sus variables, provocando un límite de 𝑄: alto, haciendo que la de detección sea nula. Este comportamiento se puede apreciar en la Figura 12 y luego en la Figura 13 se puede apreciar como al tener un valor tan alto de 𝑄:5la5detección5es5nula.
Implementación y pruebas 34 Figura 12 Residuo del conjunto de entrenamiento para la luminaria 10.247.114.176. Figura 13 Residuo del conjunto de test para la luminaria 10.247.114.176. Si ahora analizamos los valores de las variables voltaje, intensidad y potencia, se observa que no guardan relación entre ellas, lo cual nos lleva a la conclusión de que puede ser debido a errores de medidas:
35 Detección de anomalías en sistemas de Smartlighting Figura 14 Relación de variables para la luminaria 10.247.114.176. Analizando ahora los valores de potencia de la luminaria 10.247.114.188 en la Figura 15. Se observa como en la zona activa existe una fluctuación, el cual provoca en el cálculo de residuos una alta tasa de falsos positivos. Además, también se observa en la Figura 16, que los valores de potencia usados para el test son mucho más grandes que los valores usados para el entrenamiento. Figura 15 Valores de potencia de entrenamiento para la luminaria 10.247.114.188
Implementación y pruebas 36 Figura 16 Valores de potencia de test para la luminaria 10.247.114.188. Finalmente, en la Figura 17 se puede observar la gran cantidad de falsos positivos provocado por lo comentado anteriormente. Esto podría solucionarse aumentando el valor del parámetro 𝑘. Figura 17 Residuo para los datos de test de la luminaria 10.247.114.188. Para la luminaria 10.92.9.111 se observan muchos falsos positivos ubicados principalmente en las últimas muestras del conjunto de test y este comportamiento podemos apreciarlo en la Figura
37 Detección de anomalías en sistemas de Smartlighting 18 Figura 18 Residuo de test para la luminaria 10.92.9.111 Si ahora observamos los valores de potencia de la luminaria 10.92.9.111, vemos en la Figura 19 como en las últimas muestras del test, los valores de potencia son más alto que el resto, provocando esto un residuo más alto. Figura 19 Valores de potencia para la luminaria 10.92.9.111. En la luminaria 10.247.90.102 ocurre algo similar, se observan muchos falsos positivos ubicados principalmente en las últimas muestras del conjunto de test.
Implementación y pruebas 38 Figura 20 Residuos de test para la luminaria 10.247.90.102. Para finalizar, se muestra un ejemplo de detección para la luminaria 10.247.114.169 incluyendo un total de 100 anomalías del tipo AT6, esta luminaria presenta una capacidad de detección del 99% cuando los valores de los parámetros son K=6 y 4 componentes principales. En la Figura 21 se puede observar este comportamiento. Figura 21 Residuo de test para la luminaria 10.247.114.169 con anomalía tipo AT6. Si hacemos un zoom en uno de los picos, se puede observar cómo los datos de esta luminaria tienen un residuo aproximadamente de 0.1 y se eleva a 0.9 al contaminar las muestras. Detectando correctamente dichas anomalías.
39 Detección de anomalías en sistemas de Smartlighting Figura 22 Zoom de datos de residuos para la luminaria 10.247.114.169. 4.2.3.2 Resultados para el módulo de coherencia de fallos OT Para medir el rendimiento del módulo de fallos OT se ha usado la siguiente franja de tiempo: 14/01/2021-14/02/2021 y se han realizado las siguientes pruebas: • Luminaria fundida (AT10): se selecciona un día y se resta a la potencia registrada un total de 600W. • Robo de potencia (AT11): se selecciona un día y se suma a la potencia registrada un total de 600W. Estas dos pruebas se han realizado contaminando las muestras de todos los días (descartando el primer día). A continuación, se muestran los resultados para los dos tipos de pruebas, definiendo un umbral de máxima diferencia de potencia 𝑉=500 y variando 𝑖 (número de muestras consecutivas cumpliendo los dos umbrales) para valores de: [24, 36, 48, 60, 72] que corresponde con [2, 3, 4, 5, 6] horas. Horas FPR TPR TNR 𝜼 2 0,062 0,865 0,938 0,892 3 0,046 0,851 0,954 0,891 4 0,034 0,818 0,966 0,877 5 0,024 0,664 0,976 0,789 6 0,013 0,448 0,987 0,616 Figura 23 Resultados para AT10. En la Figura 24 se muestra un ejemplo de resultado contaminando las muestras del 15 de enero cuando la luminaria se encuentra encendida, restando al nivel de potencia registrado un total de 600W (AT10). En la figura se puede apreciar (marcado en rojo) cómo se detecta de forma correcta la anomalía insertada.
Implementación y pruebas 40 Figura 24 Ejemplo de detección de anomalías AT10. Ahora se muestran los resultados obtenidos cuando se inserta anomalías del tipo AT11 Horas FPR TPR TNR 𝜼 2 0,062 0,828 0,938 0,864 3 0,046 0,833 0,954 0,871 4 0,034 0,823 0,966 0,866 5 0,024 0,816 0,976 0,859 6 0,013 0,793 0,987 0,841 Figura 25 Resultados para AT11. En la Figura 26 se muestra un ejemplo de robo de potencia donde se contamina las muestras del día 15 de enero donde la luminaria se encuentra apagada. En dichas muestras, se ha insertado un nivel de potencia de 600W (AT11) y se ha puede apreciar cómo se ha detectado de forma correcta el robo de potencia. Figura 26 Ejemplo de detección de anomalías AT11. En la Figura 27 se puede observar un ejemplo de falso positivo, pero si se analizan, se puede observar que hay luminarias donde los valores registrados de potencia no tienen un
41 Detección de anomalías en sistemas de Smartlighting comportamiento normal. Esto ocurre debido a que los propios datos contienen anomalías como pueden ser el de una luminaria fundida o un cambio en la propia línea de las luminarias que provoquen un incremento en el consumo de potencia. Estos falsos positivos, realmente serían detecciones correctas de fallos OT. Figura 27 Ejemplo de falso positivo para el módulo de fallos OT. 4.2.3.3 Resultados para el módulo de detector de anomalías en tráfico de red Para realizar una prueba de concepto sobre el módulo de detección de anomalías en tráfico de red, se han seleccionado aquellos registros IPFIX que corresponden con el tráfico del protocolo COAP, debido a que este es el tráfico que cursa la red IoT para transmitir los datos de aplicación obtenidos por las luminarias. Se han usado los últimos 7 días de tráfico, comprendido entre las fechas del 12 de Julio de 2021 al 19 de Julio de 2021. Teniendo un total de 153014 registros IPFIX, correspondiente a 70 luminarias diferentes. Cada ataque de red implementado (AT1-5) se ha replicado en 100 instantes de tiempo de forma aleatoria, para comprobar si se detecta de forma correcta. En la Tabla 15 se muestra para cada uno de los ataques red implementados, las detecciones de anomalías en cada uno de los indicadores de compromiso de red. Ataque IoC1 IoC2 IoC3 IoC4 IoC5 IoC6 IoC7 AT1 0 0 76 0 100 100 100 AT2 0 0 76 93 100 100 100 AT3 0 100 76 60 100 100 100 AT4 0 0 76 80 100 100 100 AT5 100 0 70 60 100 100 100 Tabla 15 Detecciones correctas para cada uno de los IoC y ataques de red.