МЕТОДИКА ОБРАТНОЙ РАЗРАБОТКИ ПРОШИВОК BIOS/UEFI С ЦЕЛЬЮ ВЫЯВЛЕНИЯ ПРОГРАММНЫХ ЗАКЛАДОК
М.И. Косырев, магистрант
Финансовый университет при Правительстве Российской Федерации (Россия, г. Москва)
DOI:10.24412/2500-1000-2024-6-3-253-256
Аннотация. Данная работа посвящена методике обратной разработки прошивок BIOS/UEFI с целью обнаружения программных закладок - скрытых компонентов, предназначенных для вредоносной активности или обхода защитных механизмов. В работе рассматриваются основные аспекты методики, включая выбор инструментов для анализа прошивок, техники извлечения и анализа кода, а также методы обнаружения и идентификации потенциально опасных компонентов. Особое внимание уделено статическому и динамическому анализу прошивок, а также исследованию методов защиты, используемых для затруднения обратной разработки. В работе представлены результаты исследований на реальных образцах прошивок с целью выявления встроенных программных закладок. Работа полезна для специалистов по информационной безопасности, исследователей уязвимостей и разработчиков защищенных систем, помогая расширить понимание угроз, связанных с использованием программных закладок в BIOS/UEFI, и разработать эффективные методы их обнаружения и предотвращения.
Ключевые слова: обратная разработка, BIOS, UEFI, программные закладки.
Подготовка
1) Сбор информации:
Модель и версия BIOS/UEFI: Используйте команды системной информации и специализированное программное обеспечение для идентификации версии вашего BIOS/UEFI. Это может быть инструмент командной строки в Windows (,msinfo32') или инструменты в Linux, такие как dmidecode' [1].
Доступные инструменты: Изучите и оцените различные инструменты для реверс-инжиниринга, доступные на рынке, такие как IDA Pro, Ghidra, и UEFI-Analyzer. Ознакомьтесь с их возможностями, сильными и слабыми сторонами, а также с требованиями к обучению для эффективного использования.[2]
Создание резервной копии: Используйте UEFITool и другие специализированные программы для создания полной резервной копии прошивки вашего устройства. Убедитесь, что у вас есть надежный план восстановления в случае сбоя.
2) Анализ имеющихся модулей UEFI
Список всех модулей UEFI в прошивке:
С использованием инструментов, таких как UEFITool, проведите сканирование
прошивки для составления полного списка всех модулей UEFI. Это даст возможность оценить объем работы и планировать анализ.
Информация о каждом модуле: для каждого модуля соберите информацию о названии, версии, производителе и описании его функциональности. Эти данные можно найти в метаданных модуля или в документации к прошивке.
Поиск подозрительных модулей: Модули с неизвестным происхождением и неясным функционалом: Особое внимание уделите модулям, которые не имеют четкой документации или информации о происхождении. Наличие неясного функционала или отсутствие информации о производителе может свидетельствовать о нелегитимности модуля. Модули, содержащие obfuscated code: Используйте инструменты декомпиляции и анализа кода, такие как IDA Pro или Ghidra, для выявления участков кода, которые были специально обфусцированы. Это может быть признаком попытки скрыть вредоносную функциональность [3].
Сравнение с эталонными модулями: Используйте базы данных известных леги-
тимных модулей UEFI для сравнения функций и кода ваших модулей. Различия могут указывать на модификацию или добавление нелегитимного кода.
Анализ прошивки:
1) Использование инструментов:
CHIPSEC: Применяйте этот инструмент
для проверки безопасности BIOS/UEFI и аппаратных компонентов системы. CHIPSEC поможет анализировать прошивку на наличие уязвимостей, проверять защиту от злонамеренных программ и ва-лидировать критические функции безопасности.
IDA Pro/Ghidra: для дизассемблирова-ния прошивки используйте эти мощные инструменты, чтобы изучать структуру кода, определять функции и находить потенциально подозрительные участки кода [4].
UEFITool: Применяйте для навигации по структуре прошивки, изучения модулей, разделов и переменных.
binwalk: Используйте для поиска скрытых или встроенных данных в прошивке, таких как образы, исполняемые файлы или другие потенциально подозрительные элементы.
UEFI-Analyzer: Проанализируйте прошивку на наличие известных уязвимостей и потенциальных закладок, используя этот инструмент для автоматизации процесса поиска.
2) Поиск аномалии:
Необычные модули: Проведите анализ модулей прошивки, чтобы идентифицировать те, которые выглядят необычно или не имеют ясного назначения.
Скрытые функции: Ищите функции или переменные, которые могут быть спрятаны или не задокументированы, что может указывать на наличие скрытого функционала.
Подозрительный код: Анализируйте код на предмет наличия шаблонов, типичных для вредоносного ПО, например, обфусцированный код или нестандартные методы обращения с данными [5].
Дальнейшие действия:
Верификация: Используйте комбинацию статического и динамического анализа для верификации потенциальных нахо-
док. Может быть необходимо моделирование поведения прошивки с помощью эмуляции или на тестовом оборудовании.
Удаление: В случае подтверждения наличия закладки, исследуйте методы безопасного удаления или нейтрализации её воздействия, возможно, с помощью пат-чинга прошивки.
Обновление: следите за обновлениями прошивки от производителя и при наличии исправлений для обнаруженных проблем -обновляйте прошивку до последней версии.
Идентификация программных закладок (бэкдоров):
Анализ сетевой активности: Мониторинг сетевой активности устройства на предмет необычных соединений или попыток связи с внешними серверами. Использование снифферов и анализаторов трафика может выявить неожиданные сетевые запросы, осуществляемые без ведома пользователя.
Проверка целостности: Сравнение хеш-сумм файлов прошивки с официальными или эталонными версиями. Любые расхождения могут указывать на внесение изменений, включая добавление бэкдоров.
Поиск скрытых команд и функций: Реверс-инжиниринг кода прошивки на предмет обнаружения функций, которые не документированы и могут предоставлять несанкционированный доступ или управление устройством.
Анализ поведения: Использование эмуляции или тестирования на изолированном оборудовании для наблюдения за поведением прошивки в различных ситуациях. Наблюдение за реакцией системы на специфические команды или сценарии может выявить скрытые механизмы.
Поиск уязвимостей: Использование специализированных инструментов для анализа кода на предмет известных уязви-мостей, которые могут быть использованы для реализации бэкдоров. Это включает в себя проверку на переполнение буфера, БОЬ-инъекции (для веб-интерфейсов управления UEFI, если таковые имеются) и другие типичные уязвимости.
Реверс-инжиниринг протоколов: Анализ протоколов коммуникации между
компонентами прошивки и внешними устройствами или серверами на предмет наличия нестандартных или скрытых каналов обмена данными.
Проверка аутентификации и авторизации: Проверка механизмов аутентификации и авторизации встроенного ПО на предмет обхода этих механизмов без соответствующих учетных данных.
Дополнительные советы:
Используйте несколько инструментов: Комбинация различных инструментов может дать более полное представление о прошивке и потенциальных угрозах.
Сравните с эталонной прошивкой: Если это возможно, сравните вашу прошивку с версией прошивки, известной как безопасная, чтобы выявить неожиданные изменения или добавления.
Использование антивирусных решений: Некоторые антивирусные программы спо-
Библиографический список
1. Аветисян А.И., Белеванцев А.А., Чукляев И.И. Технологии статического и динамического анализа уязвимостей программного обеспечения // Вопросы кибербезопасности. -2014. - № 3 (4). - С. 20-28.
2. Баталова Н.С., Владимирова А.И. Методы обнаружения вирусов неизвестного типа // Современные проблемы проектирования, применения и безопасности информационных систем. - 2017. - С. 16-22.
3. Козлова О.А. Уязвимости BIOS // Лебедева Надежда Анатольевна - доктор философии в области. - 2019. - С. 9.
4. Костенков В.С., Бабичева М.В. Переход от BIOS к UEFI, с точки зрения информационной безопасности // Донецкие чтения 2018: образование, наука, инновации, культура и вызовы современности. - 2018. - С. 151-152.
5. Панков И.Д., Коноплев А.С., Чернов А.Ю. Анализ защищенности встроенного программного обеспечения UEFI BIOS в современных Intel-based ЭВМ //Проблемы информационной безопасности. Компьютерные системы. - 2018. - № 3. - С. 120-125.
собны сканировать UEFI на предмет известных подписей вредоносного ПО. Хотя это и не панацея, это может быть полезным дополнением к общей стратегии безопасности.
Сотрудничество с сообществом: Обмен информацией с другими исследователями и сообществами по безопасности может помочь в идентификации новых типов бэкдоров, а также в разработке методик их обнаружения.
Важно отметить:
- Не существует универсального решения для защиты от программных закладок.
- Необходимо использовать комплексный подход, сочетающий в себе технические, организационные и правовые меры.
- Следует постоянно обновлять знания и методы защиты в соответствии с evolving threat landscape.
A TECHNIQUE FOR REVERSE ENGINEERING BIOS/UEFI FIRMWARE IN ORDER
TO IDENTIFY BACKDOORS
M.I. Kosyrev, Graduate Student
Financial University under the Government of the Russian Federation (Russia, Moscow)
Abstract. This work is devoted to the technique of reverse engineering BIOS/UEFI firmware in order to detect software bookmarks - hidden components designed for malicious activity or circumvention of protective mechanisms. The paper discusses the main aspects of the methodology, including the choice of tools for analyzing firmware, techniques for extracting and analyzing code, as well as methods for detecting and identifying potentially dangerous components. Special attention is paid to the static and dynamic analysis of firmware, as well as to the study of protection methods used to complicate reverse engineering. The paper presents the results of research on real firmware samples in order to identify embedded software bookmarks. The work is useful for information security specialists, vulnerability researchers and developers of secure systems, helping to expand the understanding of threats associated with the use of software bookmarks in BIOS/UEFI, and to develop effective methods for their detection and prevention. Keywords: reverse engineering, BIOS, UEFI, backdoors.