Problemas de seguridad de IoT: los 10 principales desafíos – IBM Developer

Los 10 principales desafíos de seguridad de IoT

A medida que más y más dispositivos de IoT surgen, desplegados en entornos no controlados, complejos y, a menudo, hostiles, la protección de los sistemas de IoT presenta una serie de desafíos específicos. Según la encuesta de desarrolladores de IoT de Eclipse IoT Working Group de 2017, la seguridad es la principal preocupación de los desarrolladores de IoT.

Continúa mientras describimos mis diez principales desafíos de seguridad de IoT:

  1. Proteger dispositivos restringidos
  2. Autorizar y autenticar dispositivos
  3. Gerenciar las actualizaciones del dispositivo
  4. Proteger la comunicación
  5. Garantizar la privacidad e integridad de los datos
  6. Proteger las aplicaciones web, móviles y en la nube
  7. Garantizar una alta disponibilidad
  8. Prevenir incidentes detectando vulnerabilidades
  9. Gestionar vulnerabilidades
  10. Predecir y evitar problemas de seguridad
1

Proteger dispositivos restringidos

Muchos dispositivos de IoT tienen cantidades limitadas de almacenamiento, memoria y capacidad de procesamiento y, a menudo, precisan funcionar con menos energía, por ejemplo, cuando funcionan con baterías.

Los enfoques de seguridad que dependen en gran medida del cifrado no son adecuados para estos dispositivos restringidos, porque no son capaces de realizar un cifrado y descifrado complejos con la suficiente rapidez como para poder transmitir datos de forma segura en tiempo real.

Estos dispositivos suelen ser vulnerables a los ataques de canal lateral, como los ataques de análisis de potencia, que se pueden utilizar para realizar ingeniería inversa en estos algoritmos. En cambio, los dispositivos restringidos normalmente solo emplean [algoritmos de cifrado sencillos] y rápidos(https://www.researchgate.net/publication/329072888_A_Survey_of_Lightweight_Cryptographic_Algorithms_for_IoT-Based_Applications_Proceedings_of_ICSICCS-2018).

Los sistemas de IoT deben hacer uso de múltiples capas de defensa, por ejemplo, segregando dispositivos en redes separadas y usando firewalls, para compensar estas limitaciones de dispositivos.

2

Autorizar y autenticar dispositivos

Con tantos dispositivos que ofrecen puntos de entrada potenciales dentro de un sistema de IoT, la autenticación y autorización del dispositivo es fundamental para proteger los sistemas de IoT.

Los dispositivos deben establecer su identidad antes de poder acceder a gateways así como a servicios y aplicaciones upstream. Sin embargo, hay muchos dispositivos de IoT que fallan cuando se trata de la autenticación de dispositivos, por ejemplo, al usar una autenticación de contraseña básica débil o al usar contraseñas sin cambios de sus valores predeterminados.

La adopción de una Plataforma IoT que proporcione seguridad de forma predeterminada ayuda a resolver estos problemas, por ejemplo, habilitando la autenticación de dos factores (2FA) y haciendo cumplir el uso de contraseñas o certificados seguros. Las plataformas de IoT también proporcionan servicios de autorización de dispositivos que se utilizan para determinar a qué servicios, aplicaciones o recursos tiene acceso cada dispositivo en todo el sistema.

3

Gestionar las actualizaciones del dispositivo

Las actualizaciones, incluidos parches de seguridad, firmware o software que se ejecutan en dispositivos y gateways de IoT presentan algunos desafíos. Por ejemplo, es necesario realizar un seguimiento de las actualizaciones disponibles, aplicarlas de forma síncrona en entornos distribuidos con dispositivos heterogéneos que se comunican a través de una variedad de protocolos de red diferentes. Es necesario implementar una natural estrategia de reversión en caso de que la actualización falle.

No todos los dispositivos admiten actualizaciones inalámbricas o actualizaciones sin tiempo de inactividad, por lo que puede que sea necesario acceder físicamente a los dispositivos o retirarlos temporalmente de la producción para actualizar. Además, es posible que las actualizaciones no estén disponibles para todos los dispositivos, en particular los dispositivos más antiguos o aquellos que ya no son compatibles con su fabricante.

Incluso cuando hay actualizaciones disponibles, los propietarios de un dispositivo pueden optar por no actualizar, por lo que es importante mantener la compatibilidad con versiones anteriores. Como parte de la gestión de tu dispositivo, es necesario realizar un seguimiento de las versiones que se despliegan en cada dispositivo y qué dispositivos podrían ser retirados después de que las actualizaciones ya no estén disponibles.

Los sistemas de gestión de dispositivos a menudo admiten la publicación automática de actualizaciones en los dispositivos, así como la gestión de reversiones si falla el proceso de actualización. También pueden ayudar a garantizar que solo se apliquen actualizaciones legítimas, por ejemplo, mediante el uso de la firma digital.

Más información sobre cómo proteger los dispositivos y gateways de IoT.

4

Proteger la comunicación

Una vez que los dispositivos están protegidos, el próximo desafío de seguridad de IoT es garantizar que la comunicación a través de la red entre los dispositivos y los servicios o aplicaciones en la nube sea segura.

Muchos dispositivos de IoT no cifran los mensajes antes de enviarlos a través de la red. Sin embargo, la mejor práctica es utilizar el cifrado de transporte y adoptar estándares como TLS. El uso de redes separadas para aislar dispositivos también ayuda a establecer una comunicación privada y segura, de modo que los datos transmitidos sigan siendo confidenciales. Las medidas comunes incluyen el uso de Firewalls, la restricción del acceso físico a los dispositivos de gateway, el uso de contraseñas únicas generadas al azar y la desactivación de las funciones del sistema operativo que el dispositivo no requiere.

Más información sobre cómo proteger los datos de IoT en la red.

5

Garantizar la privacidad e integridad de los datos

También es importante que dondequiera que terminen los datos después de haber sido transmitidos a través de la red, se almacenen y procesen de forma segura. La implementación de la privacidad de los datos incluye redactar o anonimizar los datos confidenciales antes de que se almacenen o usar la separación de datos para desacoplar la información de identificación personal de las cargas útiles de datos de IoT. Los datos que ya no son necesarios deben eliminarse de forma segura y, si se almacenan, mantener la conformidad de los marcos legales y reglamentarios también es un desafío importante. Ha habido un mayor interés en desarrollar sistemas que habiliten el machine learning federado, donde los datos permanecen locales en el dispositivo y el machine learning trabaja al límite, y solo los aprendizajes/insights se comparten con la nube. La esencia de dichos sistemas es que el algoritmo llegue a los datos en lugar de los métodos convencionales donde todos los datos van al algoritmo.

Asegurar la integridad de los datos, lo que puede implicar el uso de sumas de verificación o firmas digitales para garantizar que los datos no hayan sido modificados. Blockchain, como un libro de contabilidad distribuido descentralizado para datos de IoT, ofrece un enfoque escalable y resistente para garantizar la integridad de los datos de IoT.

Lea más sobre qué significa blockchain para IoT en esta publicación.

6

Proteger las aplicaciones web, móviles y en la nube

Las aplicaciones y servicios web, móviles y en la nube se utilizan para gestionar, acceder y procesar dispositivos, así como datos de IoT, por lo que también deben protegerse como parte de un enfoque de múltiples capas para la seguridad de IoT. Es necesario seguir todas las prácticas estándar para proteger las aplicaciones web y móviles.

Al desarrollar aplicaciones de IoT, asegúrate de aplicar prácticas de ingeniería seguras para evitar vulnerabilidades como las 10 principales vulnerabilidades de OWASP. Al igual que los dispositivos, las aplicaciones también deben mantener la autenticación segura, tanto para las propias aplicaciones como para los usuarios de las aplicaciones, proporcionando opciones como 2FA y opciones de recuperación de contraseña segura.

Más información sobre las mejores prácticas de seguridad para aplicaciones de IoT.

7

Garantizar una alta disponibilidad

A medida que dependemos más de IoT en nuestra vida cotidiana, los desarrolladores de IoT deben considerar la disponibilidad de los datos de IoT y las aplicaciones web y móviles que dependen de esos datos, así como nuestro acceso a las cosas físicas gestionadas por los sistemas de IoT. Las posibilidades de interrupción como resultado de cortes de conectividad o fallas de dispositivos, o que surjan como resultado de ataques como ataques de denegación de servicio, es más que un simple inconveniente. En algunas aplicaciones, el impacto de la falta de disponibilidad podría significar la pérdida de ingresos, daños a los equipos o incluso muerte.

Por ejemplo, en ciudades conectadas, la infraestructura de IoT es responsable de servicios esenciales como el control del tráfico, y en la atención médica, los dispositivos de IoT incluyen marcapasos y bombas de insulina. Para garantizar una alta disponibilidad, los dispositivos de IoT deben estar protegidos contra ciberataques y manipulación física. Los sistemas de IoT deben incluir redundancia para eliminar puntos únicos de falla, y también deben estar diseñados para ser resistentes y tolerantes a fallas, de modo que puedan adaptarse y recuperarse rápidamente cuando surjan problemas. Dado que la mayoría de los sistemas de IoT se distribuyen por naturaleza, algo importante a tener en cuenta es el teorema CAP (un sistema informático distribuido puede tener como máximo dos propiedades de alta disponibilidad, coherencia y tolerancia a la partición de red).

8

Prevenir incidentes detectando vulnerabilidades

A pesar de los mejores esfuerzos, las vulnerabilidades y violaciones de seguridad son inevitables. ¿Cómo saber si tu sistema de IoT está comprometido? En los sistemas de IoT a gran escala, la complejidad del sistema en términos de la cantidad de dispositivos conectados y la variedad de dispositivos, aplicaciones, servicios y protocolos de comunicación involucrados pueden dificultar la identificación de cuándo ha ocurrido un incidente. Las estrategias para detectar vulnerabilidades y violaciones incluyen la supervisión de las comunicaciones de red y registros de actividad para detectar anomalías, realizar pruebas de penetración y hacking ético para exponer vulnerabilidades y aplicar inteligencia y análisis de seguridad para identificar y notificar cuando ocurren incidentes.

Más información sobre cómo proteger tus dispositivos de IoT contra ataques de malware.

9

Gestionar vulnerabilidades

La complejidad de los sistemas de IoT también dificulta la evaluación de las repercusiones de una vulnerabilidad o el alcance de una violación para gestionar su impacto. Los desafíos incluyen identificar qué dispositivos se vieron afectados, qué datos o servicios fueron accedidos o comprometidos y qué usuarios fueron impactados, y luego tomar acciones inmediatas para resolver la situación.

Los gestores de dispositivos mantienen un registro de dispositivos, que se puede usar para deshabilitar o aislar temporalmente los dispositivos afectados hasta que se puedan reparar. Esta característica es particularmente importante para los dispositivos clave (como los dispositivos de gateway) a fin de limitar su potencial de causar daños o interrupciones, como inundar el sistema con datos falsos si están comprometidos. Las acciones se pueden aplicar de forma automática mediante un motor de reglas basadas en políticas de gestión de vulnerabilidades.

10

Predecir y prevenir problemas de seguridad

Un desafío de seguridad de IoT a más largo plazo es aplicar la inteligencia de seguridad no solo para detectar y mitigar problemas a medida que ocurren, sino también para predecir y protegerse proactivamente contra posibles amenazas de seguridad. El modelado de amenazas es un enfoque utilizado para predecir problemas de seguridad. Otros enfoques incluyen la aplicación de herramientas de supervisión y análisis para correlacionar eventos y visualizar el despliegue de amenazas en tiempo real, así como la aplicación de Inteligencia Artificial para ajustar de manera adaptativa las estrategias de seguridad aplicadas en función de la efectividad de las acciones anteriores. La esencia es minimizar la intervención humana y descargar la mayor cantidad de trabajo posible a los algoritmos, ya que el examen manual continuo es casi imposible.

Conclusión

La adopción de un enfoque de seguridad mediante el diseño, de múltiples capas, para el desarrollo de IoT es esencial para gestionar de forma segura dispositivos, datos y aplicaciones y servicios de IoT móviles y basados en la nube, así como para tratar las amenazas o problemas a medida que surgen. Las repercusiones de descuidar la seguridad en los sistemas de IoT pueden provocar fallas en el sistema, pérdida de capital e incluso daños.

La incorporación de la seguridad de forma predeterminada, donde las funciones de seguridad se configuran en sus ajustes más seguros en todo momento, incluso antes, durante y después del desarrollo, te permite mantener la privacidad e integridad de los datos, al tiempo que ofreces datos, aplicaciones y servicios de IoT de alta disponibilidad.