Компания Cruise, специализирующаяся на технологиях автоматического управления автомобилями, открыла (https://medium.com/cruise/firmware-security-fwanalyzer-dcbd9...) исходные тексты проекта FwAnalyzer (https://www.fwanalyzer.io), предоставляющего инструменты для анализа образов прошивок на базе Linux и выявления в них потенциальных уязвимостей и утечек данных. Код написан на языке Go и распространяется (https://github.com/cruise-automation/fwanalyzer) под лицензией 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 позволяют сформировать точную спецификацию состояния прошивки и выявлять недопустимые отклонения, такие как присвоение не тех прав доступа или оставление закрытых ключей и отладочного кода (например, проверка позволяет избежать такие ситуаций, как оставление (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5399) используемого на этапе тестирования ssh-сервера, предопределённый (https://www.opennet.me/opennews/art.shtml?num=46175) инженерный пароль, доступный (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-5457) на чтение /etc/config/shadow или забытые (https://www.opennet.me/opennews/art.shtml?num=43043) ключи (https://www.opennet.me/opennews/art.shtml?num=42986) формирования цифровой подписи).URL: https://medium.com/cruise/firmware-security-fwanalyzer-dcbd9...
Новость: https://www.opennet.me/opennews/art.shtml?num=51249
Эту штуку надо в обязательном порядке D-link-у и К внедрять. А то есть у них манера, всякие хвосты оставить :D.
это не манера а многолетние систематические действия у длинк
не надо путать китайские спецслужбы с закулисой.
проблема что в прошивках один большой бинарник, который и веб сервер и управлялка, которая при запуске кидает в файлы всякое.
Вон, в смарт свичах длинк видел телнет, в котором вшит guest с паролем guest123, у которого прав больше чем у админа и возможностей больше. + есть enable с паролем ilovecameo, который совсем все возможности даёт.свитчи типа des-1210-24
чё тока не напридумают чтобы не делать покрытие тестами
Код ядра тестируется.
т.е. FwAnalyzer не подходит для этого?
Но ведь это же и есть самое натуральное тестирование кодом.
Чо тока не придумают, чтобы хоть как-то справиться с кодом, который не открытый.
Это не тесты. Это анти-люмпмен защиты. И от двоешников - заодно.
Без актуальной базы данных об уязвимых версиях исполняемых файлов (как бинарных, так и текстовых) эта штука бесполезна. В гитхаб-аккаунте я этой базы не нашёл.
> проверка собственных прошивокУ нее изначально чуть другой вектор проверок. Хотя такой функционал тоже был бы не лишний
5 строчек на баше для распаковки фс + inspec + базы github.com/dev-secбудет анализатор не хуже местного. Работы на 15 минут. Наслаждайтесь.