marzo 29, 2024

Herramienta de análisis y comparación de vulnerabilidades de firmware de dispositivos IoT

0
Voiced by Amazon Polly
Comparte en redes sociales

La herramienta de análisis y comparación de firmware (FACT) está destinada a automatizar el análisis de seguridad de firmware (enrutador, IoT, UEFI, cámaras web, drones, …). Por lo tanto, será fácil de usar (GUI web), extender (sistema de complemento) e integra (API REST).

FACT proporciona un script de instalación para Ubuntu 18.04 que instala FACT y todas las dependencias automáticamente. El script de instalación también es compatible con Ubuntu 19.04, Debian 9, Debian 10, Kali 2019.4. Sin embargo, puede haber problemas menores en estos, porque no se ha desarrollado activamente en estas plataformas. Además, tiene una interfaz web para que pueda comenzar de inmediato sin ningún conocimiento adicional sobre FACT o el firmware que desea ver. FACT se basa en un concepto de conjunto de complementos. Los extractores, las funciones de análisis y las funcionalidades de comparación se implementan como complementos. La integración también es fácil, ya que proporcionamos una API REST que cubre casi todas las características de FACT.

El análisis de firmware es un desafío difícil con muchas tareas. Muchas de estas tareas pueden automatizarse (con nuevos enfoques o la incorporación de herramientas existentes) para que un analista de seguridad pueda centrarse en su tarea principal: analizar el firmware y encontrar vulnerabilidades. FACT implementa esta automatización que conduce a un análisis más completo, así como a una aceleración masiva en la búsqueda de vulnerabilidades.

Las fases del análisis:

1º Extracción de firmware

La extracción de una imagen de firmware puede llevar mucho tiempo. Al principio debes identificar el formato del contenedor. Luego, necesita encontrar un desempacador apropiado. Si no hay una herramienta de extracción disponible, puedes usar binwalk para extraer al menos algunos de los componentes del firmware. Cuando termine esta tarea, debe volver a hacer estas tareas para cada capa varias veces. FACT automatiza todo el proceso.

2º Análisis inicial de firmware

El próximo desafío es averiguar todo lo posible sobre el firmware para identificar posibles riesgos y vulnerabilidades. Algunos de estos desafíos resueltos por FACT se enumeran a continuación:

  • Identificación de software
  • ¿Qué sistema operativo se usa?
  • ¿Qué programas están presentes?
  • ¿Qué versiones se usan?
  • ¿Qué servicios se inician en el arranque?
  • ¿Hay alguna vulnerabilidad conocida en estos? (CVE)
  • Encuentra credenciales de inicio de sesión, especialmente contraseñas codificadas
  • Detección de material criptográfico
  • claves privadas
  • certificados
  • Detecta la arquitectura de la CPU (necesaria para la emulación y el desmontaje)
  • Compruebe si es ejecutable utilizando QEMU (necesario para borrado y depuración)
  • Busque fallas de implementación (CWE)

3º Comparación de firmware

En muchos casos, es posible que desee comparar muestras de firmware. Por ejemplo, es posible que desee saber si un fabricante solucionó un problema en una nueva versión de firmware y dónde lo hizo. O quizás desee saber si el firmware de su dispositivo es el firmware original proporcionado por el fabricante. Si difieren, desea saber qué partes se cambian para una mayor investigación. Nuevamente, FACT puede automatizar muchos de estos desafíos:

  • Identificar archivos modificados / iguales
  • Identificar versiones de software modificadas

5º Encontrar otras imágenes de firmware afectadas

Si encuentra una nueva vulnerabilidad o un nuevo formato de contenedor, es posible que desee saber si otras imágenes de firmware comparten su hallazgo. Por lo tanto, FACT almacena todos los archivos de firmware y resultados de análisis en una base de datos con capacidad de búsqueda. Puede buscar patrones de bytes en todos los archivos desempaquetados, así como cualquier tipo de resultado de análisis.

Más información y descarga de FACT:

https://fkie-cad.github.io/FACT_core/

Deja un comentario