La empresa Cruise, especializada en tecnologías de conducción automática de vehículos, los textos originales del proyecto , que proporciona herramientas para el análisis de imágenes de firmware basadas en Linux y la identificación de vulnerabilidades potenciales y filtraciones de datos. El código está escrito en el lenguaje Go y bajo la licencia Apache 2.0.
se admite el análisis de imágenes que utilizan sistemas de archivos ext2/3/4, FAT/VFat, SquashFS y UBIFS. Para revelar la imagen se utilizan utilidades estándar, como e2tools, mtools, squashfs-tools y ubi_reader. FwAnalyzer extrae de la imagen un árbol de directorios y evalúa el contenido en función de un conjunto de reglas. Las reglas pueden vincularse a los metadatos del sistema de archivos, al tipo de archivos y al contenido. La salida genera un informe en formato JSON que resume la información extraída del firmware y emite advertencias y una lista de archivos que no cumplen con las reglas procesadas.
Se admite la verificación de los permisos de acceso a archivos y directorios (por ejemplo, se detecta el acceso completo para escritura y establecimiento de UID/GID incorrectos), se determina la presencia de archivos ejecutables con la bandera suid y el uso de etiquetas SELinux, se identifican claves de cifrado olvidadas y archivos potencialmente peligrosos. En el contenido se destacan las contraseñas ingenieras dejadas y los datos de depuración, se extrae información sobre versiones, se realiza la determinación/verificación de la carga a través de hashes SHA-256 y se lleva a cabo la búsqueda utilizando máscaras estáticas y expresiones regulares. Es posible vincular scripts de análisis externos a tipos de archivos específicos. Para firmwares basados en Android, se determinan los parámetros de compilación (por ejemplo, el uso del modo ro.secure=1, el estado de ro.build.type y la activación de SELinux).
FwAnalyzer se puede utilizar para simplificar el análisis de problemas de seguridad en firmware ajeno, pero su principal propósito es el control de calidad de los propios firmwares o de los suministrados por proveedores externos bajo contrato. Las reglas de FwAnalyzer permiten formar una especificación precisa del estado del firmware e identificar desviaciones inaceptables, como la asignación de permisos incorrectos o la dejación de claves secretas y código de depuración (por ejemplo, la verificación permite evitar situaciones como utilizado en la etapa de prueba del servidor ssh, ingeniera predeterminada, con permiso de lectura para /etc/config/shadow o formación de firma digital).
Fuente: opennet.ru
