Cabecera blog ciberseguridad

Análisis de seguridad en IoT y embebidos siguiendo OWASP

La metodología OWASP ofrece una guía estandariza para el análisis de IoT y embebidos

La metodología OWASP-FSTM nos ofrece una guía estandarizada con los pasos a seguir para llevar a cabo un análisis de seguridad de dispositivos embebidos e IoT de modo que se cubran todos los puntos de análisis y garantizar un análisis en detalle.

Contexto

Los dispositivos inteligentes o smart devices que usamos cada día (relojes, altavoces, cocinas, robots de limpieza…) son pequeños ordenadores de capacidades limitadas. Esto en el espectro del diseño de dispositivos se llaman sistemas embarcados (cuando son más grandes y potentes) y embebidos (cuando son más simples y enfocados al bajo consumo). Cuando estos dispositivos están integrados en una red e intercambian datos se suele decir que son dispositivos IoT.

Pero ¿qué significa IoT? Según el Comité Europeo de Protección de Datos se define: «IoT es toda aquella infraestructura en la que múltiples sensores incorporados a dispositivos comunes y cotidianos (objetos) registran, someten a tratamiento y transfieren datos e interactúan con otros dispositivos o sistemas haciendo uso de sus capacidades de conexión en red. En muchos casos, dichos objetos están asociados a identificadores únicos y tratan datos personales».

Sobre estos dispositivos embebidos e IoT se centra la metodología de análisis de seguridad de OWASP.

OWASP es el acrónimo de Proyecto de Seguridad en Aplicaciones Web Abiertas (del inglés Open Web Application Security Project). Se trata de una comunidad abierta cuya finalidad es la ayudar a organizaciones a concebir, desarrollar, adquirir, operar y mantener aplicaciones que puedan ser seguras. Su objetivo principal es erradicar el software inseguro proporcionando herramientas, guías y metodologías que, usadas de manera correcta, garantizan una cierta certeza en que las aplicaciones analizadas, al menos, tendrán en gran medida un menor número de vulnerabilidades y se habrán analizado el mayor número de estas.

El análisis de seguridad en IoT y embebidos siguiendo OWASP ofrece numerosas ventajas

Ilustración 1: https://github.com/scriptingxss/owasp-fstm/raw/master/.gitbook/assets/15.png

El proyecto OWASP ha trabajado activamente en la estandarización y metodologías que siguen un gran número de compañías y organismos de seguridad de todos los países para garantizar la seguridad de sus dispositivos.

El dilema de publicar o liberar el código fuente para securizarlo

De cara a mantener seguros los desarrollos y libres de vulnerabilidades, principalmente en el código fuente, en función del tipo de licencia del software, existen dos vías:

  • Publicar el código fuente en Internet de modo que la comunidad pueda revisar y corregir posibles problemas de seguridad (licencias GPL y derivadas).
  • Gestionarlo internamente en la empresa y encargar una auditoría de seguridad en IoT y embebidos a empresas especializadas (licencias con derecho de autor clásicas).

Desde el punto de vista del software libre, la mejor manera lograr que un software sea casi invulnerable es liberar su código. Aunque inicialmente la liberación del código puede desembocar en la aparición de una alta cantidad de vulnerabilidades, la curva de mejora de su seguridad es exponencial.

Si bien a corto plazo se pueden encontrar múltiples inseguridades de manera más sencilla al contar con el código fuente, conforme el tiempo pase se irá generando un código más robusto con una gran disminución de vulnerabilidades al medio plazo. Lo más probable es que en el largo plazo el sistema llegue a un nivel de madurez donde sea complicado identificar nuevas vulnerabilidades, todo esto se basa en la simple premisa que al estar el código fuente disponible, habrá más ojos revisando el código e identificando y arreglando posibles problemas que inicialmente se le pueden haber pasado al desarrollador.

Desde el punto de vista de la gestión interna por parte de la empresa, no siempre es posible o tiene sentido por motivos de competitividad, patentes… el liberar el código fuente para corregir errores. Y muchas veces se pretende adquirir un nivel de seguridad por oscuridad haciendo más complicado el análisis de las aplicaciones. Esto propicia que, por lo general, se preste menos atención a la seguridad ya que se tiene la falsa creencia de que nadie va a poder analizar el dispositivo.

Encargar un análisis de seguridad en IoT, una solución útil

Encargar un análisis de seguridad en IoT y embebidos y la verificación de la seguridad a empresas especializadas es, en muchas ocasiones, la mejor y única opción. Estas acostumbran a auditar los sistemas software y hardware con un punto de vista menos convencional. Son profesionales del mundo de la seguridad y desarrollo que conocen los entresijos de los dispositivos y del firmware que están auditando.

Durante el ciclo de vida del desarrollo de dispositivos inteligentes se cubren etapas de verificación de la:

  • Usabilidad
  • Repetitividad
  • Seguridad

La realidad es que las empresas se centran generalmente en la primera, la usabilidad y dejan de lado las demás, principalmente la seguridad. Y es así tanto por falta de recursos como por desconocimiento y falta de formación en esta materia de los diseñadores y desarrolladores de los dispositivos.

Estas suelen cubrir la visión del desarrollador para la forma correcta de usar el dispositivo. Las comprobaciones de seguridad de empresas especializadas son más exhaustivas y cubren usos previstos, imprevistos, posibles acciones realizadas por actores maliciosos y un largo etcétera en función del tipo de dispositivo.

Los investigadores de seguridad siempre están de acuerdo: la ocultación no es un mecanismo de seguridad. Que no se vea o se haya complicado el análisis no significa que una vulnerabilidad no pueda ser encontrada y explotada por un actor malicioso.

Metodología de pruebas de seguridad de firmware de OWASP

OWASP ha crecido desde su fundación en 2001 y en la actualidad sus guías cubren casi todos los aspectos metodológicos de la seguridad informática. La guía OWASP-FSTM se refiere a la metodología de comprobación de la seguridad del firmware (del inglés, OWASP Firmware Security Testing Methodology). La metodología FSTM está dividida en nueve etapas que garantizan al ser seguidas de que un investigado llevará a cabo un análisis exaustivo de seguridad de un dispositivo embebido o IoT.

Esta metodología se divide en 9 apartados:

Etapa Descripción
1. Reconocimiento y búsqueda de información Adquirir toda la información técnica y documental relacionados con el dispositivo y análisis a nivel físico del dispositivo.
2. Obtención del firmware Obtener el firmware de la memoria del dispositivo.
3. Analizar el firmware Examinar las características del firmware obtenido del dispositivo.
4. Extraer el sistema de archivos Realizar la extracción del sistema de archivos contenidos en el firmware.
5. Análisis del contenido del sistema de archivos Análisis estático de los archivos de configuración y binarios extraídos en busca de información relevante a nivel de seguridad.
6. Emulación del firmware Ejecución fuera del dispositivo el firmware o parte de este.
7. Análisis dinámico Realizar pruebas de seguridad dinámicas del dispositivo y las interfaces de las aplicaciones.
8. Análisis en tiempo de ejecución Análisis de ejecutables durante el tiempo de ejecución el dispositivo con el fin de encontrar problemas de seguridad.
9. Explotación binaria Explotar las vulnerabilidades descubiertas en etapas anteriores para obtener ejecución de código arbitrario, elevación de privilegios, etc.

¿Por qué usar una metodología?

El hecho de usar una metodología está muy alineado con los modernos procesos de fabricación y mejora de la producción. Las tareas de análisis de seguridad en dispositivos IoT y embebidos son un caso donde la aplicación de las metodologías de gestión de la producción como JIT, elaborada por Toyota en 1938.

Esta enuncia que la mejor forma de conseguir una producción de calidad y estable es realizar todos los trabajos en su justo tiempo. En efecto saber que hacer y como hacerlo en cada momento permite asignar a cada tarea una cantidad de recursos como son el tiempo de ejecución, las herramientas necesarias y el número de dispositivos IoT necesarios. Disponer de cada recurso en cada momento de manera ordenada aumenta la productividad y mejora durante los trabajos de una auditoría.

líneas de señal de eeprom de dispositivo embebido

Contar, en la actualidad, con un sistema coordinado durante una investigación o auditoría de seguridad hardware / firmware ayuda al cliente en varios puntos:

  • Garantizar que se han analizado y revisado todos los elementos críticos.
  • Conocer el punto de desarrollo en el que se encuentra el análisis.
  • Adaptar las auditorías al proceso de fabricación / revisión del producto.
  • Facilitar caminos alternativos para gestionar los puntos críticos en la planificación.
  • Disminuir los costes de desarrollo de un producto nuevo o en una revisión de un producto ya implantado.
  • Disminuir el tiempo de comprensión del análisis al usar un esquema común y constante en cada parte del análisis.
  • Mejoras estratégicas frente a la competencia por conocer sus puntos de mejora.

En los casos en los que el análisis requiera un proceso de reiteración, al contar con un sistema y una metodología, permite revisar los puntos anteriores con la mayor celeridad posible y retomar el análisis sin sobreesfuerzos.

Conclusiones

Usar una metodología para el análisis de seguridad en IoT y embebidos permite definir un plan a la hora de realizar este tipo de trabajos garantizando un análisis concienzudo y metódico, medible y comparable en el tiempo. Exige, por lo general, contar con de equipos multidisciplinares, ya que generalmente deben de usarse técnicas que tocan campos como las telecomunicaciones, la electrónica y la informática.

 

Más artículos de la serie OWASP

Este artículo forma parte de una serie de articulos sobre OWASP

  1. Metodología OWASP, el faro que ilumina los cíber riesgos
  2. OWASP: Top 10 de vulnerabilidades en aplicaciones web
  3. Análisis de seguridad en IoT y embebidos siguiendo OWASP
  4. OWASP FSTM, etapa 1: Reconocimiento y búsqueda de información
  5. OWASP FSTM, etapa 2: Obtención del firmware de dispositivos IoT
  6. OWASP FSTM, etapa 3: Análisis del firmware
  7. OWASP FSTM, etapa 4: Extracción del sistema de ficheros
  8. OWASP FSTM, etapa 5: Análisis del sistema de ficheros
  9. OWASP FSTM etapa 6: emulación del firmware
  10. OWASP FSTM, etapa 7: Análisis dinámico
  11. OWASP FSTM, etapa 8: Análisis en tiempo de ejecución
  12. OWASP FSTM, Etapa 9: Explotación de ejecutables
  13. Análisis de seguridad IOT con OWASP FSTM
  14. OWASP SAMM: Evaluar y mejorar la seguridad del software empresarial
  15. OWASP: Top 10 de riesgos en aplicaciones móviles