Cruise відкрила вихідні тексти FwAnalyzer, що надає інструменти для аналізу образів прошивок та виявлення в них потенційних вразливостей та витоків даних
Cruise відкрила вихідні тексти FwAnalyzer, що надає інструменти для аналізу образів прошивок та виявлення в них потенційних уразливостей та витоків даних
Cruise, що спеціалізується на технологіях автоматичного керування автомобілями, відкрила вихідні тексти проекту FwAnalyzer, що надає інструменти для аналізу образів прошивок на базі Linux та виявлення в них потенційних уразливостей та витоків даних. Код написаний мовою Go і розповсюджується під ліцензією Apache 2.0.
Підтримується аналіз образів, які використовують файлові системи ext2/3/4, FAT/VFat, SquashFS та UBIFS. Для розкриття образу використовуються штатні утиліти, такі як e2tools, mtools, squashfs-tools та ubi_reader. FwAnalyzer витягує з образу дерево каталогів і оцінює вміст на основі набору правил. Правила можуть прив'язуватися до метаданих ФС, типу файлів та вмісту. На виході формується звіт у форматі JSON, що підсумовує отриману з прошивки інформацію та виводить попередження та список файлів, що не відповідають обробленим правилам.
Підтримується перевірка прав доступу до файлів і каталогів (наприклад, виявляється доступ всім на запис та виставлення некоректних UID/GID), визначається наявність файлів, що виконуються з прапором suid і використання міток SELinux, виявляються забуті ключі шифрування і потенційно небезпечні файли. У вмісті виділяються залишені інженерні паролі та налагоджувальні дані, виділяється інформація про версії, виконується визначення/звіряння начинки по хеш SHA-256 і здійснюється пошук з використанням статичних масок і регулярних виразів. Можливе прив'язування зовнішніх скриптів-аналізаторів до певних типів файлів. Для прошивок на базі Android визначаються параметри збирання (наприклад, використання режиму ro.secure=1, стан ro.build.type та активація SELinux).
FwAnalyzer можна використовувати для спрощення аналізу проблем з безпекою в чужих прошивках, але основним призначенням є контроль якості власних прошивок або сторонніх постачальників, що поставляються за контрактом. Правила FwAnalyzer дозволяють сформувати точну специфікацію стану прошивки і виявляти неприпустимі відхилення, такі як присвоєння не тих прав доступу або залишення закритих ключів і налагоджувального коду (наприклад, перевірка дозволяє уникнути таких ситуацій, як залишення, що використовується на етапі тестування ssh-сервера, попередньо доступний на читання /etc/config/shadow або забуті ключи формування цифрового підпису).