Automatización y orquestación de herramientas en el proceso de búsqueda de vulnerabilidades en firmware de dispositivos de IoT (2021)
La masificación de dispositivos con conectividad a Internet denominados IoT (por sus siglas en inglés), abre la puerta a delincuentes informáticos para aprovechar fallos de seguridad en la implementación o diseños de estos dispositivos. Algunos de los fallos identificados en los despliegues masivos de dispositivos son: algoritmos de cifrado obsoletos, falta de validación de datos de entrada, métodos de codificación simples, credenciales por defecto, entre otros, lo cual puede permitir el acceso a los recursos del dispositivo para hacer daño a terceros. No obstante, un análisis preventivo por parte de los fabricantes, distribuidores y/o consumidores presenta grandes retos dada la diversidad en formatos, arquitecturas, funcionalidades, adicionalmente el código fuente en su gran mayoría no se encuentra disponible. Los desarrollos actuales para el análisis de brechas de seguridad atacan una problemática en particular y requieren una curva de aprendizaje con un esfuerzo y un nivel técnico avanzado. El objetivo de este proyecto es proponer una solución que permita la orquestación de las diferentes herramientas que suplen actividades base en un análisis de firmware, con el objetivo de facilitar la identificación de las diferentes etapas, reconocer las entradas en cada una, enumerar los componentes del firmware evaluado y entregar un resultado de análisis de seguridad con el fin de apoyar a las personas que realizan un proceso de homologación o de investigación de seguridad sobre un Firmware IoT. Los resultados obtenidos con la implementación de la solución presentan una plataforma que centraliza diferentes recursos para la extracción, análisis estático, análisis dinámico y enumeración de componentes con una arquitectura distribuida basada en micro servicios para el análisis de seguridad individual o a gran escala de firmware IoT.