(Tiempo de lectura: 25 min aprox)
Sin duda uno de los aspectos que más preocupa del Internet de las Cosas es todo lo relacionado con la seguridad. He elegido este artículo sobre la Seguridad IoT porque expone claramente los problemas a los que se enfrenta esta tecnología, hace un repaso de las soluciones que se están barajando hoy en día y además deja las puertas abiertas a nuevos campos de investigación.
Lo novedoso de este artículo es la apuesta tan clara que hace por dos tecnologías que hoy en día ya se aplican con éxito en otros ámbitos: machine learning y redes definidas por sofware (SDN).
Restuccia, F., D’Oro, S., & Melodia, T. (2018). Securing the Internet of Things: New Perspectives and Research Challenges, 1(1), 1–14. Retrieved from http://arxiv.org/abs/1803.05022
Contenido
Abstract (traducción literal)
El Internet de las Cosas nos muestra una visión donde miles de millones de dispositivos interconectados son distribuidos por casi cualquier sitio, desde dentro de tu cuerpo hasta las áreas más remotas del planeta.
Dado que el IoT pronto invadirá cada aspecto de nuestras vidas y será accesible desde cualquier sitio, abordar las amenazas de seguridad más críticas es más importante que nunca.
Las soluciones tradicionales donde la seguridad se aplicaba como una ocurrencia posterior y como un parche contra los ataques conocidos son insuficientes.
De hecho, los retos del IoT de la siguiente generación requerirán de una visión de seguridad desde el diseño, donde las amenazas se abordan de forma proactiva y los dispositivos IoT aprenden a adaptarse de forma dinámica.
En este punto, machine learning y las redes definidas por software serán clave para proveer tanto reconfiguración como inteligencia a los dispositivos IoT.
En este artículo ofrecemos una taxonomía y un sondeo del estado del arte en la investigación de seguridad IoT, y ofrece un roadmap de investigaciones concretas relacionadas con la aplicación del machine learning y las redes definidas por software, para determinar las amenazas de seguridad presentes y futuras sobre IoT.
Introducción al artículo
Imaginemos un mundo donde todos los objetos tienen vida e identidad propia, desde la cafetera por la mañanas, el coche que se prepara para arrancar tras una helada o el servicio médico capaz de monitorizar tu salud en remoto. Hace solo 20 años esto era completamente impensable y pertenecía más al mundo de la ciencia ficción, hoy en día estamos cada vez más cerca.
Gracias al abaratamiento de costes de microprocesadores, al aumento de las capacidades de cómputo y a las nuevas tecnologías inalámbricas, se prevé que en 2020 haya 50.000 millones de dispositivos conectados. Y se calculan unos ingresos de 470.000 millones de dólares para los fabricantes y vendedores de hardware, software y soluciones completas IoT.
El Internet de las cosas facilitará el despliegue de ciudades inteligentes (smartciites), industria 4.0, vigilancia inteligente y grandes cambios en la gestión de infraestructuras, agricultura, medicina y casi cualquier otro sector económico.
Las aplicaciones de IoT son prácticamente inagotables.
Efectivamente IoT nos augura un futuro muy prometedor e interesante, pero desgraciadamente los aspectos de seguridad aún no siguen el mismo ritmo de progreso.
Hasta ahora los ataques informáticos podían llegar a robar o modificar datos de bastante importancia, hacer caer servicios críticos online o conseguir dinero de forma ilícita.
Con IoT, además de todas estas, se atisban posibilidades de hacer daño físico a personas a distancia, manipular infraestructuras críticas y provocar el caos en una ciudad.
Debemos pensar que dentro de unos años vamos a depositar toda nuestra confianza en los dispositivos IoT conectados, incluyendo nuestras vidas.
Ya son varias organizaciones y gobiernos los que están promoviendo y obligando a que la seguridad esté presente desde el diseño de los dispositivos, forzando a los fabricantes a que tengan en cuenta todos los aspectos.(Congreso de los EEUU, Department of Homeland Security y National Science Foundation)
Uno de los principales problemas de seguridad del Internet de las Cosas es la heterogeneidad de tecnologías.
Piénsalo, no solamente hay que proteger cada tecnología en sí misma, sino además lo pasos de una a otra, las conversiones de protocolos y hacer compatibles los mecanismos de seguridad que ya haya implementados. Esto nos llevaría a que ciertas medidas de seguridad adoptadas para un fabricante o tecnología no serían apropiadas para otra, o anularían algunas de sus principales funcionalidades.
La siguiente característica a tener en cuenta es que las medidas de seguridad que se adoptan actualmente necesitan de una capacidad de computación que los dispositivos IoT no tienen en la actualidad.
Y por último, las comunicaciones de toda la tecnología IoT va estar soportada sobre todo por el aire, comunicaciones inalámbricas. Es, de lejos, la tecnología que más tipos de ataque puede sufrir, máxime cuando precisamente el intercambio de información de los dispositivos IoT son bastante predecibles y su arquitectura y formato no son fáciles de cambiar.
Las plataformas inflexibles tanto de hardware como de software no pueden autorepararse ni adaptarse a las situaciones de peligro, y estas dos soluciones serán clave en el futuro.
Los autores proponen que los dispositivos y las plataformas del IoT deberán tener las siguientes características para mitigar los riesgos de ciberataques:
- Seguridad desde el diseño. Los sistemas deben estar libres de todas las vulnerabilidades, usando en su diseño las buenas prácticas en seguridad, las pruebas continuadas y la protección de la autenticación. Se trata de no convertir la seguridad en una sucesión de parches y soluciones que se descubren siempre a posteriori, y que una vez están los dispositivos desplegados no siempre es sencillo aplicar.
- Aprendizaje. La seguridad tradicional se preocupa por las vulnerabilidades conocidas, pero cada vez son más comunes los ataques dinámicos y actividades maliciosas que son complicadas de conocer de antemano. Para este tipo de ataques las técnicas de machine learning pueden ayudar a proteger sistemas frente a ataques sofisticados, como por ejemplo los ataques “cross-layer”, es decir, ataques que se producen en una capa de la plataforma pero tienen como objetivo una capa distinta.
- Polimorfismo. Los sistemas que implementen la seguridad específicamente para el hardware no podrán contrarrestar las vulnerabilidades dinámicas que realizan ataques a múltiples capas. Aquí las redes definidas por software pueden aportar polimorfismo y medidas de seguridad dependientes del contexto, de tal manera que pueden cambiar la estructura del hardware y el software para responder a eventos de seguridad.
¿Por qué la seguridad IoT es tan complicada?
El concepto IoT fue usado por primera vez por Kevin Ashton en una presentación en el año 1999. Desde entonces han habido numerosos intentos de definir y sintetizar qué es el Internet de las Cosas. En resumen se puede definir como la interconexión de dispositivos físicos, como vehículos, edificios y cualquier dispositivo electrónico. Estos objetos o “cosas” recolectan y comparten datos entre ellos hasta un punto no imaginado hasta ahora.
IoT va a permitir una integración total entre el mundo físico real y el mundo de las computadoras, mejorando la eficiencia, la precisión y los beneficios de los procesos, al mismo tiempo que minimizando la intervención humana. Se les podría denominar sistemas cyber-físicos. |
Breve introducción al IoT
A pesar de que en este blog vas a encontrar distintos puntos de vista del IoT, voy a seguir la estructura de este artículo y resumirte la introducción que los autores hacen del Internet de las Cosas.
No existe aún un consenso sobre cómo los dispositivos IoT deberían estar organizados y orquestados, pero sí podríamos decir que los siguientes serían los componentes que formarían parte de la plataforma:
- Dispositivos IoT o “cosas”. Puede ser casi cualquier cosa, desde objetos “inteligentes” como teléfonos y tablets, pequeños sensores colocados en un coche, una alarma doméstica, una bombilla, una cafetera, etc. Estos dispositivos deben cumplir estos aspectos:
- Ser capaces de capturar distintos tipos de datos: temperatura, presencia de personas, peso, calidad del aire, iluminación, posición, etc.
- Poder interactuar con el entorno, controlando motores, conectando interruptores o activando algún otro dispositivo.
- Conectarse a la red y ser identificados de forma unívoca en la misma.
- Red IoT. Una vez los datos han sido recopilados deben poder enviarse a través de una red, que también servirá para interactuar con los dispositivos sobre los que se puede realizar algún tipo de acción . Algunas de las tecnologías que ya se usan para el IoT son LR-WPAN, LPWAN, Bluetooth, WIFI, NFC o RFID. No está claro aún cómo debe ser esta red y qué tecnologías va a contener, pero sí está claro que debe:
- Permitir que se conecten miles y miles de dispositivos y gestionar el tráfico de todos ellos.
- Adaptar el ancho de banda, las latencias y los requisitos de velocidad para las distintas aplicaciones IoT.
- Plataforma IoT. Es el back-end de todo el sistema. Son los componentes software para la monitorización, gestión y control de los dispositivos IoT, y tiene los siguientes cometidos:
- Facilitar la recolección de datos y la posterior integración con otros sistemas. Debe realizar también el procesamiento de datos: filtrado, transformación, redistribución, etc.
- Existir de forma independiente entre los dispositivos físicos y las aplicaciones IoT
- Permitir la implementación de características y funciones en dispositivos siempre de la misma manera.
Retos únicos en la seguridad IoT
Aunque como te decía antes no todos los aspectos técnicos del IoT están del todo claros aún, sí que existe un consenso sobre qué hace que la protección de estos entornos sea algo especial:
- El tamaño de la red y de los dispositivos. Hay que tener en cuenta que todas las tecnologías de comunicaciones que hemos venido contando no fueron pensadas para escalar a un número tan alto de dispositivos, lo cual nos va a presentar problemas de toda índole. Máxime cuando estos dispositivos tienen una capacidad de cálculo muy limitada y no va a ser posible implementar las medidas estándar de cada tecnología. Existe otra limitación importante en las baterías de los dispositivos IoT, pues estas deben durar el mayor tiempo posible y ciertas tecnologías, como la red WIFI, son altamente consumidoras de energía.
- El factor humano. Desde luego el factor clave en el auge del IoT es la interacción que se abre a los humanos con las cosas, sin precedentes hasta ahora. Como decíamos más arriba las infraestructuras IoT van a tener que aprender de su propio comportamiento y adaptarse a las circunstancias. Esto puede hacer que los sistemas estén incorrectamente entrenados, bien de forma maliciosa o por error, o que malinterpreten lo que un humano está indicando. Habrá que implementar mecanismos de autenticación y autenticidad para validar qué elementos pueden interactuar con la red y si la información que proveen es válida o no.
- La heterogeneidad. A todos los protocolos de comunicación existentes debemos sumarles todas las tecnologías y algoritmos propietarios que existen hoy en día en el mercado. Actualmente los sistemas de control, domóticos, etc forman algo más parecido a una “Intranet de las cosas” debido precisamente a la protección de patentes. Si esta amalgama de dispositivos deben conectarse a la misma red y cooperar entre ellos va a ser necesario desarrollar y adaptar estándares que lo permitan. Además no se debe asumir el hecho de que una misma entidad física siempre va a tener el mismo dispositivo detrás, pues el cambio y la movilidad son las características intrínsecas al IoT. Por ejemplo, no podemos pensar que la alarma de incendios siempre va ser el mismo dispositivo, o se va a conectar de una sola forma con el sistema.
Taxonomía de las amenazas de seguridad del IoT
Muchas de los problemas de seguridad de IoT van a venir heredados de los que ya existen en Internet, sin embargo existe un grupo de nuevas amenazas específicas para estos entornos. Podríamos agrupar las distintas vulnerabilidades en tres secciones fundamentales del IoT:
- Identificación y autenticación de dispositivos
- Redes wireless IoT
- Agregación de datos IoT
Identificación y autenticación de dispositivos
Es el proceso obligatorio que cualquier dispositivo debe ejecutar antes de conectarse a la red y hacer cualquier intercambio de datos.
Existen diferentes propuestas, como por ejemplo IoT Sentinel, que realiza un control del tráfico proveniente de los dispositivos antes de volcarlos a la red. En este artículo se propone una seguridad basada en la vecindad y cercanía de los dispositivos entre sí, creando un entramado de confianza. Otra propuesta podría ser usar la “huella digital” de los dispositivos, usando características únicas como las imperfecciones del hardware y similares, puedes leer el artículo aquí.
Tradicionalmente la autenticación ha sido implementado mediante el paradigma de la criptografía con claves pública (PKC). Pero es un sistema que necesita bastante capacidad de cálculo.
Por esta razón es importante encontrar nuevos métodos de asegurar la información sin esas fuertes condiciones de cálculo. Y existen varias alternativas ya en el aire:
- Criptografía de curva elíptica (ECC). Es un sistema con un tamaño de clave de 160 bits, que lo coloca al mismo nivel que RSA con 1024 bits. Sin embargo requiere de una autoridad certificadora (CA) y los usuarios necesitan un extra de computación para desencriptar las comunicaciones. Implementan políticas de acceso a dispositivos mediante el uso de atributos específicos.
- Aquí se propone un algoritmo de encriptación basado en la operación XOR. Estos sistemas permiten a un usuario negociar una clave de encriptación con un dispositivo IoT, usando un protocolo de intercambio de claves.
- En este artículo se propone un sistema basado en claves de mapas de caos, programados dentro de una FPGA (matriz de puertas reprogramables o field-programmable gateway array). Este tipo de chips, ideados en los años 80, están viviendo un nuevo auge precisamente por la capacidad de cómputo que vamos a pedirle a los dispositivos IoT.
- La IETF (Internet Engineering Task Force) ha desarrollado CoAP (Constrained Application Protocol, o protocolo para aplicaciones restringidas). Es un protocolo para intercambio de información entre aplicaciones que van dentro de dispositivos con pocos recursos y otras que funcionan en Internet de la forma habitual. La capa de seguridad se denomina Datagram Transport Layer Security (DTLS). En algunos casos se ha propuesto que la carga computacional podría residir en un servidor externo para DTLS.
- IPsec también tiene una propuesta para la capa de seguridad IoT, aunque se ha demostrado que esta propuesta tiene un coste en energía no desdeñable para dispositivos como los descritos.
- Puedes leer este artículo donde se propone una huella digital mediante RF (radiofrecuencia), que podrían aprovecharse para identificar de manera unívoca a un dispositivo. Un uso posible para esta tecnología es en combinación con datos biométricos para aplicaciones de IoT en medicina. En estos entornos la autenticación es más importante si cabe, puesto que un mensaje malicioso podría afectar a algún elemento vital para un paciente: el ritmo de un marcapasos, el suministro de un medicamento, etc.
- En esta propuesta se utiliza machine learning para adaptar el método de autenticación a distintos grados de riesgo, de forma dinámica.
- También se han realizado propuestas de autenticación mutua, para evitar casos en que un nodo malicioso consiga control sobre el dispositivo y el sistema IoT. Estas técnicas son más costosas en energía, por lo que es importante hacer mejoras tanto en coste computacional como en complejidad algorítmica:
- A Robust Authentication Scheme for Observing Resources in the Internet of Things Environment
- Federated End-to-End Authentication for the Constrained Internet of Things Using IBC and ECC
- Lightweight Mutual Authentication for IoT and Its Applications
- A payload-based mutual authentication scheme for Internet of Things
- Low-complexity Scalable Authentication algorithm with Imperfect Shared Keys for Internet of Things
Redes IoT Wireless
Los dos principales usos de las comunicaciones IoT será entre las propias “cosas” y desde las cosas hacia las aplicaciones en la nube. Es obvio que el principal medio de transporte será el aire y por lo tanto el conjunto de tecnologías inalámbricas que no dejan de aparecer en el mercado.
Como bien es conocido, las redes inalámbricas tienen como ataques más comunes la escucha de paquetes de comunicación, la denegación de servicio y la saturación. El principal problema es que las contramedidas que existen actualmente no están pensadas para dispositivos con poca capacidad de proceso.
Las anteriores deficiencias junto con la gran diversidad de protocolos que habrá que integrar entre ellos hace que las comunicaciones inalámbricas en IoT tengan unas características muy especiales.
- Jamming o saturación. Es un tipo de ataque que consigue que toda la zona geográfica atacada deje de ser adecuada para la comunicación inalámbrica, haciendo el intercambio de datos imposible. Existen técnicas tanto para evitar esta saturación como para mitigar sus efectos, estas son algunas de ellas:
- A Colonel Blotto Game for Anti-Jamming in the Internet of Things
- Robust Relay in Narrow-Band Communications for Ubiquitous IoT Access
- United Against the Enemy: Anti-Jamming Based on Cross-Layer Cooperation in Wireless Networks
- Anti-jamming performance of multi-carrier spread spectrum with constant envelope
- Anti-jamming broadcast communication using uncoordinated spread spectrum techniques
- Jamming o saturación. Es un tipo de ataque que consigue que toda la zona geográfica atacada deje de ser adecuada para la comunicación inalámbrica, haciendo el intercambio de datos imposible. Existen técnicas tanto para evitar esta saturación como para mitigar sus efectos, estas son algunas de ellas:
- Eavesdropping o escuchas. Este tipo de ataque consiste en monitorizar las comunicaciones entre dispositivos hasta que se consigue intervenirlas, no solamente mediante WIFI o BlueTooth, también se ha conseguido con la novedosa VLC (Visible light communications). El método más conocido para evitarlo es la encriptación o el uso de nicknames temporales. Pero también es posible tener algoritmos de cambio de rutado de paquetes que sean capaces de saltarse a los “oyentes maliciosos”. Una técnica curiosa es hacer “jamming” para reducir la diferencia entre señal y ruido y conseguir confundir a los nodos con malas intenciones.
- La denegación de servicio distribuido o DDOS. Es uno de los ataques más conocidos que ya se han producido en IoT, no atacando directamente a dispositivos IoT sino usándolo como redes para inundar a un tercer objetivo y echar abajos sus servicios, son las conocidas botnets. En este artículo y en este otro se proponen soluciones para detectar y mitigar ataques DDOS que estén siendo llevados a cabo en el momento oportuno.
- Ataque Sybil y de repetición de paquetes. Son dos ataques distintos dirigidos a crear confusión en la red. La copia y repetición de paquetes hace que un mismo paquete sea repetido en la red multitud de veces, creando gran confusión en los nodos. El ataque Sybil se basa en usar una o varias identidades falsas, creando igualmente información defectuosa, corrupta o dañina en alguna medida. Normalmente estos ataques son detectados con los mecanismos de detección de intrusiones (IPS).
Agregación de datos IoT
Uno de los pilares del correcto funcionamiento y gran ventaja del IoT es la agregación de gran cantidad de datos, su tratamiento, extracción de conclusiones y distintas técnicas de predicción y análisis. En ese proceso pueden llegar a la plataforma datos incorrectos, maliciosos o corruptos. También es posible atacar una plataforma mediante la introducción de datos preparados con antelación para hacerla funcionar de una manera determinada. Ocurrió en 2014 con la plataforma Waze, cuando varios estudiantes simularon su posición GPS y provocaron el desvío del tráfico rodado durante varias horas.
Para prevenir y limitar este tipo de ataques se deben adoptar medidas de “confianza tecnológica”, donde se utiliza una medida cuantitativa para medir la confiabilidad de las interacciones entre dispositivos o entidades, cuidando al máximo la calidad de la información (QoI).
Últimamente están apareciendo distintos estudios sobre “descubrimiento y estimación de la confianza”, especialmente en los sistemas de tratamiento de datos donde se incorporan datos de forma automática sin supervisión humana. Desgraciadamente, de nuevo, estos algoritmos no son escalables de forma sencilla ni están preparados para que funcionen en dispositivos con capacidades limitadas. Es especialmente complicado determinar de antemano la confianza de dispositivos que ya de por sí generan muy poca información y tienen pocas capacidades de interacción. En este artículo se analizan técnicas de fuzzy logic o lógica difusa como una posible solución para aplicaciones IoT.
Las soluciones más acertadas parecen venir de la mano del machine-learning y minería de datos, de forma que se pueda trabajar con distintas soluciones de “verdad” o “confianza”, realizar agrupaciones de elementos según características, realizar predicciones, etc.
Retos de investigación
A pesar de todos los avances e investigaciones que se están realizando en la seguridad de aplicaciones y dispositivos, los autores del artículo proponen estos temas concretos para el mundo IoT:
Seguridad desde el diseño en IoT
Los planteamientos que tratan la seguridad a posteriori mediante las soluciones ad-hoc a las vulnerabilidades que van apareciendo no son válidos en un entorno donde los dispositivos se van a contar por miles, con tecnologías heterogéneas y con unas implicaciones tan disruptivas en la sociedad como va a tener el Internet de las Cosas. Por lo tanto la propuesta es que la seguridad se tratada de una forma fiable, escalable y proactiva. Debe estar integrada completamente en los ciclos de diseño, producción y despliegue.
La seguridad desde el diseño se ha aplicado tradicionalmente a la fabricación de hardware y software y su objetivo es que los productos salgan al mercado con el menor número de vulnerabilidades posible, aplicando técnicas de testing avanzadas y adoptando “best practices” en programación.
Este enfoque contrasta con los que hasta ahora se vienen adoptando que podríamos llamar “seguridad mediante la oscuridad”, “seguridad mediante la minoría” y “seguridad mediante la obsolescencia”.
Algunos fabricantes como VMWare y Cisco ya están poniendo en marcha protecciones que aprenden los que las aplicaciones deben hacer y son capaces de discernir comportamientos que no encajen. Por lo tanto se trata de saber “qué hacen los buenos” en vez de defenderse de “lo que hacen los malos”.
Los autores proponen un sistema dinámico para IoT que procese las varias entradas y entregue una sola salida. Es salida es la que se usará para inferir datos sobre la plataforma y la que servirá de base para actuar sobre la misma. Usan dos módulos para tomar medidas de seguridad (mitigation module) y para el análisis de la seguridad (detection module).
Es un sistema flexible y escalable que implementa control y aprendizaje de la seguridad tanto en los dispositivos como en el nivel de sistemas.
Existen dos áreas de investigación principales:
- Aprendizaje de la detección y mitigación de amenazas al IoT. Para realizar el aprendizaje de los sistemas de machine-learning es necesario haber hecho un buen modelado del comportamiento del sistemas, así como un correcto procesado de los datos de entrada, que precisamente dada la heterogeneidad del IoT no es una tarea sencilla. Y precisamente conseguir grandes conjuntos de datos para entrenar sistemas de seguridad es una de la tareas pendientes. El proyecto Crawdad precisamente tiene como objetivo recopilar y analizar grandes juegos de datos para entrenar los algoritmos de M-L.
- Diseño de módulos polimórficos de hardware y software que realicen la mitigación. Es la parte hardware y software que debe adaptarse de forma dinámica para realizar las contramedidas de un ataque que haya sido detectado.
A continuación los autores realizan un breve repaso sobre los trabajos existentes acerca de la aplicación de Machine-Learning y redes definidas por software (SDN) y su aplicación a la seguridad:
- Actualmente las técnicas de M-L ya se pueden considerar en su estado maduro, sin embargo aún no hay suficientes casos de aplicación a la seguridad IoT. Existe un trabajo que propone el uso de técnicas Bayesianas para la detección de ataques multi-capa. Los autores han demostrado que aún teniendo pocas evidencias de actividad maliciosa el ataque puede ser descubierto.
- En esta propuesta podemos ver cómo se aplican las redes neuronales para validar la información generada por dispositivos IoT.
- ARTIS es un sistemas inmune artificial. Entre sus múltiples características están: corrección de errores, computación distribuida y auto-monitorización. Sobre ARTIS también se pueden desarrollar aplicaciones cuyo código evoluciona en base a observaciones y experiencias pasadas. Y para que un dato fraudulento falsee esas observaciones previas, ARTIS incorpora un detector de anomalías basado en M-L.
- En este artículo se realiza un inventariado y clasificación de dispositivos IoT de acuerdo con la confianza que proveen.
- En el campo de las SDN también podemos ver avances en la reconfiguración y readaptación tanto de software como de hardware, siempre teniendo en cuenta las posibles pérdidas de eficiencia. También se está viviendo un auge de las tecnologías wireless como SoC (System on a chip) y la implementación de las mismas en FPGA (Field-programmable gateway arrays).
- Se ha demostrado que al ejecutar muchas funciones de red en la capa software y no hardware se ha ganado en eficiencia, energía, robustez y escalabilidad, preparando el camino para los sistemas IoT polimórficos y reconfigurables.
- Pero sin olvidar que deben ser soluciones SDN específicas para IoT, como en este artículo, donde se propone un sistema basado en algoritmos genéticos para realizar el rutado y programación del tráfico de datos.
Modelos de entrada de datos y ataques.
En las técnicas de M-L es fundamental haber realizado una buena selección de variables partiendo de los datos de entrada. Existen distintas técnicas para realizarlo pero todas ellas tienen como finalidad que el modelo final esté basado solamente en aquellas variables de entrada que son realmente importantes.
Otro de los retos es, usando ese análisis de datos, identificar lo que es un ataque de lo que no lo es, separar los “buenos” de los “malos”.
Para este menester se propone el uso de aprendizaje Bayesiano, contrastando la probabilidad de que esté sucediendo un ataque con la evidencia de que esté sucediendo.
También se debe realizar una formalización y clasificación de los tipos de ataque y su efecto en la red.
Pero uno de los ataques que deben ser más estudiado es el de la entrada de datos para el aprendizaje de la máquina. A pesar de que los sistemas deben haber sido entrenados en la fase de diseño o que el aprendizaje sin supervisión debería usar datos encriptados, se abre igualmente un campo donde queda mucho por investigar.
Explorar el uso del aprendizaje reforzado
Si se pretenden desplegar sistemas que incorporen el aprendizaje sin supervisión es de especial importancia ahondar en las técnicas de aprendizaje reforzado (RL). En estas situaciones el sistema busca tener un comportamiento tal que tome acciones para maximizar una recompensa cuantificable.
En estas técnicas no existe un aprendizaje previo, pues los nodos deben aprender por sí mismos cuáles son las estrategias más ventajosas.
Estos sistemas son modelados usando procesos de decisión de Markov, donde no es necesario hacer un planteamiento inicial de datos buenos y malos. Los esfuerzos deben centrarse en tener un buen rendimiento, contrastando el esfuerzo de explorar estrategias desconocidas y de explotar el conocimiento que ya se tiene.
Una de las formas más extendidas de RL es Q-Learning, aunque aún no está claro cómo puede ser aplicado al IoT.
Blockchain para la seguridad descentralizada del IoT
La tecnología blockchain fue concebida en primera instancia para registrar y almacenar las transacciones realizadas con las criptomonedas de ese mismo nombre.
Sus principales ventajas son la escalabilidad, gracias a la gran descentralización, y la protección anti manipulación de los datos.
Más tarde fue ampliado y se crearon nuevos proyectos donde se podían ejecutar pequeños trozos de código en el momento de la transacción, los smart contracts. De esta manera se consigue que una transacción solamente se realice bajo ciertas circunstancias.
En este artículo se propone un blockchain para el registro de dispositivos, asegurando el fabricante y origen del mismo y preservando la privacidad tanto del dueño como del dispositivo en sí. Además se posibilita la opción de que los datos generados por el dispositivo sean accesible públicamente, sin perder privacidad, e incluso recibiendo algún tipo de beneficio a cambio.
También se puede usar un blockchain para verificar la integridad y validez del software, tal como se propone aquí.
Se pueden encontrar en la literatura otros usos como la protección y gestión del tráfico en redes de dispositivos.
Los dos principales inconvenientes son el alto consumo de potencia de cálculo que implica toda operación con un blockchain y el famoso ataque del 51%. En este ataque una identidad maliciosa que posea control sobre el 51% de los nodos podrá modificar los datos que ya existen en la cadena o agregar datos nuevos a su antojo, saltándose los medios de control.
Si bien es cierto que últimamente aparecen nuevas propuestas de protocolos inspirados en blockchain donde se solucionan estos y otros muchos aspectos de las formas más variadas. Cabe nombrar en este punto el sistema IOTA, una criptomoneda creada para dar solución a las microtransacciones en el mundo IoT.
A pesar de todo aún no está claro cómo se va a conseguir realizar este tipo de transacciones fuertemente encriptadas en dispositivos con pocos recursos.
Conclusiones (traducción literal)
El IoT está revolucionando el mundo alrededor nuestro permitiendo que cada dispositivo, objeto y persona pueda conectarse a Internet. Con esa presencia masiva de cosas interconectadas por todos sitios, incluso dentro nuestra, el IoT ofrece interesantes y complicados retos de seguridad que deben ser investigados en los próximos años.
En este artículo hemos mostrado nuestra novedosa visión en el asunto de la seguridad del IoT, basada en una mezcla única de la “seguridad desde el diseño”, el “polimorfismo” y las “redes definidas por software”. Hemos categorizado y resumido el estado del arte en investigación, y hemos propuesto un roadmap para la investigación futura.
Esperamos que este trabajo inspire a nuestros colegas en las investigación de nuevos temas relacionados con la seguridad del IoT y a mantenerse en la carrera de conseguir un mundo tecnológicamente más seguro.