Опубліковано код аналізатора безпеки прошивок 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 або забуті ключі формування цифрового підпису).

Опубліковано код аналізатора безпеки прошивок FwAnalyzer

Джерело: opennet.ru

Додати коментар або відгук