Найти в Дзене
Заметки сисадмина

Уязвимости в процессе создания прошивки OpenWrt: угроза для безопасности пользователей

В последние годы значительно возрос интерес к безопасности встраиваемых систем и прошивок, используемых в маршрутизаторах и других устройствах. В частности, операционная система OpenWrt, популярная среди пользователей, столкнулась с несколькими серьезными уязвимостями, которые могли быть использованы злоумышленниками для компрометации прошивок. Одной из таких уязвимостей стал процесс создания образов прошивки с помощью утилиты "make". Утилита "make" широко используется для автоматизации сборки программного обеспечения, включая создание образов прошивки. Однако она оказалась уязвимой для внедрения вредоносных команд в процессе сборки. Злоумышленник, имеющий доступ к серверу, использующему "make" для создания прошивок, мог вставить вредоносный код в обрабатываемые файлы. Такой код позволял генерировать изображения прошивок, которые, несмотря на наличие вредоносных компонентов, были подписаны валидным ассемблерным ключом. Это позволяло атакующему создавать на сервере образы прошивок, к
Оглавление

В последние годы значительно возрос интерес к безопасности встраиваемых систем и прошивок, используемых в маршрутизаторах и других устройствах. В частности, операционная система OpenWrt, популярная среди пользователей, столкнулась с несколькими серьезными уязвимостями, которые могли быть использованы злоумышленниками для компрометации прошивок. Одной из таких уязвимостей стал процесс создания образов прошивки с помощью утилиты "make".

Уязвимость в утилите make

Утилита "make" широко используется для автоматизации сборки программного обеспечения, включая создание образов прошивки. Однако она оказалась уязвимой для внедрения вредоносных команд в процессе сборки. Злоумышленник, имеющий доступ к серверу, использующему "make" для создания прошивок, мог вставить вредоносный код в обрабатываемые файлы. Такой код позволял генерировать изображения прошивок, которые, несмотря на наличие вредоносных компонентов, были подписаны валидным ассемблерным ключом. Это позволяло атакующему создавать на сервере образы прошивок, которые выглядели легитимными и могли быть загружены пользователями без подозрений.

Проблема с хешированием в библиотеке util.py

Вторая уязвимость, связанная с безопасностью в OpenWrt, касалась библиотеки util.py, которая использует хеширование для проверки целостности прошивок. Хеширование выполнялось с использованием алгоритма SHA-256, однако произошла значительная ошибка: хеши SHA-256, которые использовались для проверки изображений в списках прошивок, были сокращены до 12 символов. Это привело к снижению энтропии хешей и, соответственно, их безопасности. Уменьшение длины хеша сделало возможным использование методов выбора коллизий, которые позволяли злоумышленнику генерировать вредоносные изображения с хешами, совпадающими с хешами действительных, безопасных образов прошивок.

Уязвимость в Imagebuilder

Третьей частью уязвимости является система сборки образов прошивки — Imagebuilder, которая использовалась для создания пользовательских образов OpenWrt. Комбинированное действие уязвимостей в утилите "make" и сокращении хешей привело к тому, что злоумышленники могли "загрязнить" кэш сервера ASU (Automated Software Update). В результате этого процесса, пользователи, которые запрашивали обновления и хотели получить законные образы прошивок, могли скачать и установить на свои устройства вредоносные прошивки.

Меры предосторожности

Хотя разработчики OpenWrt считают, что вероятность использования этих уязвимостей в реальных атаках близка к нулю, эксперты в области безопасности рекомендуют пользователям быть осторожными. Чтобы снизить риски, рекомендуется заменить текущие образы прошивки на устройствах OpenWrt, используя обновленную версию прошивки той же версии. Это поможет исключить возможность воздействия на систему известных уязвимостей.

Заключение

Эти уязвимости являются примером того, как даже небольшие ошибки в процессе сборки программного обеспечения могут стать причиной серьезных угроз безопасности. Несмотря на то, что вероятность реального использования этих уязвимостей в атаках низка, для обеспечения безопасности и защиты данных пользователей крайне важно своевременно обновлять системы и применять рекомендуемые меры предосторожности.