En uno de los anteriores artículos del blog vimos la importancia de la ciberseguridad en varios entornos en los que actualmente se aplica el IoT. Ahora vamos a profundizar en ese tema, analizando la arquitectura de una aplicación basada en IoT y algunas de las consideraciones de seguridad relacionadas con cada una de las capas que componen esa arquitectura, las cuales deberían ser valoradas antes de desplegar una aplicación de estas características.
Cuando se habla de aplicaciones IoT, pensamos en un conjunto de dispositivos y tecnologías que trabajan juntos para recopilar y procesar información de una o varias fuentes de datos. Sensores, actuadores, gateways, servidores de almacenamiento y cómputo, comunicaciones inalámbricas, formatos de intercambio de información, etc., todos ellos forman parte de la arquitectura de la aplicación IoT pero están en diferentes niveles o capas de la misma. No hay un consenso global sobre la arquitectura para IoT, si bien hay diferentes propuestas, por simplicidad vamos a considerar una arquitectura básica compuesta de 3 capas.
Arquitectura IoT. Fuente: https://kitrum.com
Cada una de estas capas tiene una función y una problemática en seguridad específicas.
- Capa de percepción: esta capa se encarga de la recogida de datos con la ayuda de sensores que realizan mediciones de todo tipo. Los datos recogidos son enviados a la capa de red. Esta capa es la más sensible a los ataques físicos, los cuales se realizan principalmente sobre el hardware de los dispositivos IoT. Estos ataques incluyen, por ejemplo, la destrucción del dispositivo IoT o su manipulación para alterar la información que recopilan. Los elementos de esta capa también pueden ser víctima de ataques mediante interferencias de radio, que podrían provocar la pérdida de conectividad de los dispositivos, impidiendo así su capacidad para comunicarse dentro de la red. Esta capa también es sensible a otros tipos de ataque, como los que afectan al proceso de envío de la información recopilada por los dispositivos, mediante la modificación de su tabla de enrutamiento o la alteración y el robo de la información en tránsito.
- Capa de red: se ocupa de la conexión y el transporte de datos entre los elementos del resto de capas, por ejemplo, los dispositivos presentes en la capa de percepción o los servidores de la capa de aplicación. En las redes IoT, debido a su utilización en aplicaciones distribuidas en las que puede haber una gran cantidad de dispositivos conectados, es fundamental llevar a cabo la autenticación de identidad y el control de acceso de una manera segura, eficiente y en tiempo real. En caso contrario, sería susceptible a ataques en los que se desplieguen nodos fraudulentos o réplicas a la red. La utilización de tecnologías inalámbricas conlleva riesgos potenciales que hace necesario conocer en profundidad sus vulnerabilidades y sus configuraciones de seguridad. Además, el ataque a un determinado nodo podría escalarse y provocar el compromiso o influir en el rendimiento de muchos nodos de la red.
- Capa de aplicación: esta capa se encarga de almacenar y procesar la información recopilada. En función de la aplicación, la cantidad de información varía, pero es posible encontrar aplicaciones que deben almacenar y procesar cantidades ingentes de datos, que provienen de multitud de fuentes de datos y que son de una naturaleza muy diversa. Por ello, se debe prestar especial atención a la gestión eficiente de esta información con los recursos informáticos disponibles, sin dejar de lado la utilización de copias de seguridad o los mecanismos de tolerancia ante catástrofes, para aplacar las consecuencias si un desastre sucediera. Además, en el sistema habrá diferentes usuarios y cada uno debería ser capaz de acceder únicamente a la información que necesite, para evitar, por ejemplo, robo o destrucción de información. Será necesario controlar el acceso a la información definiendo quién, cómo y cuándo puede acceder a ella. También es fundamental asegurar la integridad de los datos que se van a procesar para evitar obtener resultados erróneos.
En definitiva, si se analiza la seguridad de un sistema IoT desde la perspectiva de su arquitectura en capas, se pueden identificar riesgos diferentes que afectan a cada una de ellas. Es necesario conocer en profundidad los requisitos de seguridad asociados a cada elemento que compone una aplicación basada en IoT. En base a estos requisitos será más fácil determinar qué contramedidas es necesario aplicar para neutralizar, o al menos minimizar, los riesgos a los que se ven expuestos. Sin estas medidas de seguridad, cualquier atacante podría poner en peligro la infraestructura y la información del servicio, y comprometer su continuidad.
Ingeniero Informático. Responsable de las soluciones de Ciberseguridad dentro del Grupo de Investigación Electrónica Aplicada e Inteligencia Artificial de ITCL.
Especialista en seguridad informática para Ciberseguridad empresarial y en tecnologías avanzadas. Sus principales trabajos se centran en el diseño y el desarrollo de nuevos sistemas electrónicos de diversa aplicación industrial, basados en microcontroladores y microprocesadores, con especial relevancia en la investigación de vulnerabilidades en dispositivos IoT así como en su protección frente a ataques.