Análisis de seguridad IOT con OWASP FSTM
Tabla de contenidos
Descubre las principales técnicas de análisis de seguridad IoT con guías de buenas prácticas sobre cada una de las distintas etapas de una revisión de seguridad IoT que hemos analizado en anteriores artículos de la metodología OWASP FSTM
El sector del Internet de las cosas (IoT) ha experimentado un crecimiento exponencial durante los últimos años. Con el lanzamiento de las redes 4G se dio el impulso que este sector necesitaba para desplegar comunicaciones de forma efectiva y barata. El despliegue actual de las redes 5G supondrá otro punto de inflexión en este mercado tan competitivo, por lo que el análisis de seguridad IoT será imprescindible en los años venideros.
Por otro lado, la proliferación de los dispositivos vestibles (wearables) no solo ha generado un nuevo mercado, sino que también ha creado un nuevo modelo de negocio centrados en los datos. Así, el paradigma de negocio ha cambiado y ya no se centra tanto en la venta de dispositivos físicos, sino que está orientado a la venta de servicios y a la gestión del dato.
Tanto los dispositivos vestibles como los teléfonos inteligentes y las redes sociales han propiciado un cambio de mentalidad en la sociedad haciendo que estos servicios sean cada vez más necesarios. La penetración y aceptación de este tipo de productos es cada vez más alta y llega a más rangos de la población.
Por todo ello, se puede afirmar que en la sociedad actual estamos viviendo un momento de transición tecnológica importante que está cambiando nuestra forma de pensar, educar, relacionarnos con los demás, etc. Sin embargo, ¿Cómo de seguros son estos dispositivos IoT? ¿Es la seguridad un elemento principal en su diseño? ¿Existe alguna metodología para poder evaluar su seguridad? En este artículo se responderán a estas preguntas a partir de unas reflexiones sobre las metodologías OWASP FSTM y su impacto en el sector del IoT.
La metodología OWASP FSTM es una metodología adaptada al análisis de firmware y estandarizada por OWASP. En el artículo introductorio que precede a la serie realizada se ahonda más sobre el enfoque de esta metodología. Desde el equipo de Innovación de Tarlogic Security se ha buscado ampliar la metodología a lo largo de esta serie de 9 artículos Así, se han incluido recomendaciones, buenas prácticas y un listado de herramientas en cada una de las etapas del análisis de seguridad IoT.
Si bien es cierto que esta metodología está enfocada a cualquier tipo de firmware aplica especialmente al mercado de los dispositivos IoT. Por regla general, los dispositivos IoT suelen aplicar políticas de actualización OTA y, en numerosas ocasiones, los firmwares están disponibles en la web del fabricante. Los fabricantes también publican online los parches de actualización que contienen firmwares parciales, aunque en algunos análisis de seguridad IoT hemos podido localizar firmwares completos disponibles en Internet.
A continuación, se presenta una revisión de la metodología agrupada en cuatro fases: adquisición de la información, análisis estático, análisis dinámico y explotación. Cada una de estas fases lleva asociada una o más etapas de la metodología.
Adquisición de la información del dispositivo IoT
Las primeras etapas de la metodología están centradas en la obtención de información (OWASP FSTM – Etapa 1) y del firmware (OWASP FSTM – Etapa 2) del dispositivo que se está auditando. Es importante resaltar que la metodología OWASP FSTM es una aproximación incremental de forma que la información obtenida en las etapas anteriores impacta directamente en las etapas sucesivas. Cuanto más esfuerzo se dedique a una etapa, mayor será el grado de conocimiento sobre el dispositivo y más rápido se realizarán las siguientes.
Por ello, la obtención de información (etapa 1) es un proceso crítico para la auditoría de seguridad IoT. Un equipo especializado en Ciberinteligencia puede aportar un gran valor añadido en este tipo de análisis. En la entrada correspondiente a la etapa 1 de la metodología se describen tanto las fuentes de información como los puntos de análisis más útiles para estudiar correctamente el dispositivo que se desea analizar. En definitiva, mayor profundidad alcanzará el análisis de seguridad IoT.
Por otro lado, la etapa 2 de la metodología se focaliza en la obtención del firmware. Este paso es especialmente relevante porque el firmware constituye el sustrato del análisis de seguridad IoT. Gracias a la información contenida en él se podrá enfocar de una forma óptima y eficiente el resto del análisis. En la mayoría de las ocasiones el firmware no se puede obtener desde Internet a partir de las fuentes identificadas durante la etapa 1 por ello hay que recurrir a técnicas de hardware hacking y obtenerlo directamente del dispositivo físico.
Tarlogic dispone de un departamento especializado en hardware hacking con capacidades de extracción de firmware a través de puertos de depuración (JTAG, serie…) o desoldando las memorias del dispositivo. Además, para las tareas de análisis más inusuales, se diseña hardware ad-hoc para trabajar con este tipo de dispositivos. En la entrada correspondiente a la etapa 2 se presentan los pasos necesarios para la obtención del firmware y un ejemplo práctico muy ilustrativo.
Análisis y estudio de la información recopilada (3,4,5). Análisis estático
Tras obtener el firmware del dispositivo IoT, el siguiente paso a realizar es analizar su contenido para entender mejor el funcionamiento del dispositivo, identificar posibles vulnerabilidades y enfocar el resto del análisis de la forma más efectiva y eficiente posible.
Las etapas de la metodología que se centran en el análisis del firmware y extracción del sistema de ficheros son: OWASP FSTM – Etapa 3 (análisis del firmware), OWASP FSTM – Etapa 4 (extracción del sistema de ficheros), y OWASP FSTM – Etapa 5 (análisis del sistema de ficheros). Al final del artículo podrá acceder a todos y cada uno de los artículos que hemos elaborado en relación con esta metodología.
El objetivo de la etapa 3 de la metodología es estudiar el firmware para identificar: las regiones más interesantes (sistema de ficheros), si existe algún tipo de cifrado, cadenas de interés, la entropía… En la entrada correspondiente a esta etapa se explican con detenimiento todos estos procesos.
Es importante destacar que numerosos fabricantes reutilizan el firmware para muchos de sus productos, por lo que obtener experiencia sobre uno de ellos agiliza el análisis del resto de productos de la familia. Además, dentro de un mismo contexto (por ejemplo, videocámaras domésticas), muchos fabricantes construyen sus soluciones sobre proyectos de código libre a los que añaden capas extra, por lo que adquirir experiencia en uno de ellos constituye la puerta de entra al resto de soluciones de la competencia.
La etapa 4 es la continuación natural de la etapa anterior. Un paso central en el análisis de seguridad IoT. Tras identificar las regiones de interés del firmware, se procede a la extracción del sistema de archivos.
Por regla general, los tipos de sistemas de ficheros que se suelen utilizar en los dispositivos IoT son bastante estándares, aun así, la experiencia del analista es determinante en este tipo de análisis porque numerosos fabricantes modifican las firmas de los binarios y es importante tener intuición y experiencia previa para identificarlo.
En el artículo correspondiente a esta etapa se pone de manifiesto la importancia de aprender a buscar firmas y números mágicos, la utilidad de la entropía en este tipo de trabajos y se presentan distintas técnicas y herramientas para extraer los sistemas de ficheros.
Tras realizar la extracción del sistema de ficheros es necesario analizar y estudiar su contenido (etapa 5). Normalmente se buscan ficheros de interés como certificados, claves, contraseñas o ejecutables susceptibles de ser explotados. Esta tarea suele ser bastante monótona y repetitiva, por lo que siempre es interesante contar con la ayuda de algunas herramientas que permitan automatizar este proceso de forma total o parcial. En el artículo correspondiente a esta etapa de la serie se presentan algunas de ellas.
Es importante resaltar que cuando se trabaja con dispositivos IoT, en numerosas ocasiones los fabricantes reutilizan claves y certificados por lo que vulnerar un único dispositivo puede dar paso a vulnerar toda una red. Algunos ejemplos de este tipo de casuísticas las encontramos en un sistema de videovigilancia en el que se reutilicen las cámaras o en una red de sensores desplegada en un entorno rural (explotación agrícola).
Análisis del dispositivo IoT en tiempo de ejecución (6,7,8). Análisis dinámico
Tras conseguir el acceso al sistema de ficheros del dispositivo, se puede realizar un análisis dinámico del mismo. Las etapas OWASP FSTM – Etapa 6, OWASP FSTM – Etapa 7 y OWASP FSTM – Etapa 8 se focalizan en la emulación, en el análisis dinámico y en tiempo de ejecución respectivamente.
El objetivo de la etapa 6 es emular el firmware para evaluar su nivel de seguridad. La emulación es una técnica muy potente del análisis de seguridad IoT porque permite paralelizar las pruebas de concepto (ataques) además de abaratar el análisis ya que no se precisa de un dispositivo físico para su realización.
Sin embargo, es necesario tener en cuenta que, aunque un ataque sea exitoso en tiempo de emulación, no siempre tiene por qué funcionar sobre el dispositivo real. Aun así es una técnica muy interesante que merece la pena utilizar. En el contexto del IoT, al tratarse generalmente de dispositivos empotrados con una arquitectura bastante sencilla, es relativamente asequible realizar este proceso de emulación.
En el artículo correspondiente a esta etapa de la serie se presentan una serie de herramientas (QEMU, Unicorn, Renode…) con las que llevar a cabo este proceso de emulación (dependiendo de a qué nivel se desee emular). Además, se complementa esta explicación con un ejemplo práctico utilizando la herramienta QEMU.
La fase de análisis dinámico (etapa 7) se define como el estudio del dispositivo en ejecución en un entorno real o emulado. Para ello, se analiza el dispositivo en su conjunto, tratando de profundizar en las posibles vulnerabilidades que se hayan encontrado en las etapas anteriores.
En este artículo de la serie se exponen técnicas de hardware hacking (como depuración con puertos físicos o con emulación), de pentesting tradicional, de fuzzing o procedimientos para modificar el bootloader o el firmware del dispositivo. Otras técnicas útiles que aplican en esta etapa son la ingeniería inversa de protocolos de comunicación y el glitching.
Como consecuencia de que el análisis estático del firmware y sus ejecutables ofrece únicamente una cantidad limitada de información sobre su funcionamiento, es habitual que sea necesario continuar el análisis en un entorno dinámico. Un entorno en el que el firmware y sus componentes puedan ser observados (y manipulados) en ejecución.
Así, el análisis en tiempo de ejecución (etapa 8) se apoya en las fases anteriores para obtener acceso a los ejecutables y procesos internos del sistema, ya sea en un entorno real a través de un acceso de administrador o en un entorno virtualizado, construido específicamente para los ejecutables de este firmware y en el que se tiene mucho más control sobre la ejecución.
En este artículo de la serie se presentan las principales técnicas existentes para realizar un análisis en tiempo de ejecución: instrumentación y depuración, tracing y logging. En lo referente a la instrumentación y depuración, desde Tarlogic tenemos una gran experiencia en depuración hardware dentro de nuestros servicios de hardware hacking; y de depuración software e instrumentación.
Explotación de binarios durante el análisis de seguridad IoT
Las técnicas de explotación de vulnerabilidades varían mucho dependiendo del tipo de vulnerabilidad y del componente al que afecten, aunque, habitualmente, las más graves y dañinas provienen de ejecutables sin las medidas de seguridad pertinentes o que hacen uso de funciones vulnerables.
Si las fases de análisis anteriores han dado frutos, en este punto se habrá descubierto una vulnerabilidad o indicios de ella en alguno de los componentes del firmware de un dispositivo OT o IoT. En ocasiones, esa vulnerabilidad se encuentra en un ejecutable, para el cual se puede escribir una prueba de concepto (PoC) o exploit.
En el artículo correspondiente a la etapa 9 de la serie OWASP FSTM, se presentan las principales técnicas de explotación de ejecutables, contra las medidas de protección y de evasión. Este es el objetivo final del servicio de auditoría de seguridad IoT de Tarlogic, identificar los puntos vulnerables y explotarlos para garantizar que los productos de nuestros clientes sean lo más seguros posibles.
Conclusiones
Es importante resaltar que el sector del IoT no solo se va a convertir en un sector predominante en los próximos años, sino que también es un elemento crítico para la seguridad tanto en entornos domésticos como industriales. Un fallo en unos de estos dispositivos puede comprometer la seguridad de todo un sistema si no se encuentra adecuadamente protegido (redes aisladas, bastionado de sistemas…).
Por ello, se puede afirmar que el IoT constituirá uno de los principales vectores de entrada a las organizaciones en el futuro y servirá para pivotar y hacer movimientos laterales dentro de ellas.
Para evitar este tipo de amenazas es muy importante seguir las recomendaciones de este tipo de metodologías y contar con la ayuda y el asesoramiento de expertos en la materia. Desde Tarlogic, a través de los servicios de ciberseguridad y de ciberinteligencia estamos preparados para realizar cualquier análisis de seguridad IoT (tanto software como hardware). Si tienes alguna duda sobre si tus dispositivos son o no seguros, ¡no dudes en contactar con nosotros!
Este artículo forma parte de una serie de articulos sobre OWASP
- Metodología OWASP, el faro que ilumina los cíber riesgos
- OWASP: Top 10 de vulnerabilidades en aplicaciones web
- Análisis de seguridad en IoT y embebidos siguiendo OWASP
- OWASP FSTM, etapa 1: Reconocimiento y búsqueda de información
- OWASP FSTM, etapa 2: Obtención del firmware de dispositivos IoT
- OWASP FSTM, etapa 3: Análisis del firmware
- OWASP FSTM, etapa 4: Extracción del sistema de ficheros
- OWASP FSTM, etapa 5: Análisis del sistema de ficheros
- OWASP FSTM etapa 6: emulación del firmware
- OWASP FSTM, etapa 7: Análisis dinámico
- OWASP FSTM, etapa 8: Análisis en tiempo de ejecución
- OWASP FSTM, Etapa 9: Explotación de ejecutables
- Análisis de seguridad IOT con OWASP FSTM
- OWASP SAMM: Evaluar y mejorar la seguridad del software empresarial
- OWASP: Top 10 de riesgos en aplicaciones móviles