Методика обратной разработки прошивок BIOS/UEFI с целью выявления программных закладок
Автор: Косырев М.И.
Журнал: Международный журнал гуманитарных и естественных наук @intjournal
Рубрика: Технические науки
Статья в выпуске: 6-3 (93), 2024 года.
Бесплатный доступ
Данная работа посвящена методике обратной разработки прошивок BIOS/UEFI с целью обнаружения программных закладок - скрытых компонентов, предназначенных для вредоносной активности или обхода защитных механизмов. В работе рассматриваются основные аспекты методики, включая выбор инструментов для анализа прошивок, техники извлечения и анализа кода, а также методы обнаружения и идентификации потенциально опасных компонентов. Особое внимание уделено статическому и динамическому анализу прошивок, а также исследованию методов защиты, используемых для затруднения обратной разработки. В работе представлены результаты исследований на реальных образцах прошивок с целью выявления встроенных программных закладок. Работа полезна для специалистов по информационной безопасности, исследователей уязвимостей и разработчиков защищенных систем, помогая расширить понимание угроз, связанных с использованием программных закладок в BIOS/UEFI, и разработать эффективные методы их обнаружения и предотвращения.
Обратная разработка, программные закладки
Короткий адрес: https://sciup.org/170205465
IDR: 170205465 | DOI: 10.24412/2500-1000-2024-6-3-253-256
Текст научной статьи Методика обратной разработки прошивок BIOS/UEFI с целью выявления программных закладок
Доступные инструменты : Изучите и оцените различные инструменты для реверс-инжиниринга, доступные на рынке, такие как 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].
Дальнейшие действия:
Верификация: Используйте комбинацию статического и динамического анализа для верификации потенциальных нахо- док. Может быть необходимо моделирование поведения прошивки с помощью эмуляции или на тестовом оборудовании.
Удаление: В случае подтверждения наличия закладки, исследуйте методы безопасного удаления или нейтрализации её воздействия, возможно, с помощью патчинга прошивки.
Обновление: следите за обновлениями прошивки от производителя и при наличии исправлений для обнаруженных проблем – обновляйте прошивку до последней версии.
Идентификация программных закладок (бэкдоров):
Анализ сетевой активности: Мониторинг сетевой активности устройства на предмет необычных соединений или попыток связи с внешними серверами. Использование снифферов и анализаторов трафика может выявить неожиданные сетевые запросы, осуществляемые без ведома пользователя.
Проверка целостности: Сравнение хеш-сумм файлов прошивки с официальными или эталонными версиями. Любые расхождения могут указывать на внесение изменений, включая добавление бэкдоров.
Поиск скрытых команд и функций: Реверс-инжиниринг кода прошивки на предмет обнаружения функций, которые не документированы и могут предоставлять несанкционированный доступ или управление устройством.
Анализ поведения: Использование эмуляции или тестирования на изолированном оборудовании для наблюдения за поведением прошивки в различных ситуациях. Наблюдение за реакцией системы на специфические команды или сценарии может выявить скрытые механизмы.
Поиск уязвимостей: Использование специализированных инструментов для анализа кода на предмет известных уязвимостей, которые могут быть использованы для реализации бэкдоров. Это включает в себя проверку на переполнение буфера, SQL-инъекции (для веб-интерфейсов управления UEFI, если таковые имеются) и другие типичные уязвимости.
Реверс-инжиниринг протоколов: Анализ протоколов коммуникации между компонентами прошивки и внешними устройствами или серверами на предмет наличия нестандартных или скрытых каналов обмена данными.
Проверка аутентификации и авторизации: Проверка механизмов аутентификации и авторизации встроенного ПО на предмет обхода этих механизмов без соответствующих учетных данных.
Дополнительные советы:
Используйте несколько инструментов: Комбинация различных инструментов может дать более полное представление о прошивке и потенциальных угрозах.
Сравните с эталонной прошивкой: Если это возможно, сравните вашу прошивку с версией прошивки, известной как безопасная, чтобы выявить неожиданные изменения или добавления.
Использование антивирусных решений: Некоторые антивирусные программы спо- собны сканировать UEFI на предмет известных подписей вредоносного ПО. Хотя это и не панацея, это может быть полезным дополнением к общей стратегии безопасности.
Сотрудничество с сообществом: Обмен информацией с другими исследователями и сообществами по безопасности может помочь в идентификации новых типов бэкдоров, а также в разработке методик их обнаружения.
Важно отметить:
-
- Не существует универсального реше-
- ния для защиты от программных закладок.
-
- Необходимо использовать комплексный подход, сочетающий в себе технические, организационные и правовые меры.
-
- Следует постоянно обновлять знания и методы защиты в соответствии с evolving threat landscape.
Список литературы Методика обратной разработки прошивок BIOS/UEFI с целью выявления программных закладок
- Аветисян А.И., Белеванцев А.А., Чукляев И.И. Технологии статического и динамического анализа уязвимостей программного обеспечения // Вопросы кибербезопасности. - 2014. - № 3 (4). - С. 20-28.
- Баталова Н.С., Владимирова А.И. Методы обнаружения вирусов неизвестного типа // Современные проблемы проектирования, применения и безопасности информационных систем. - 2017. - С. 16-22.
- Козлова О.А. Уязвимости BIOS // Лебедева Надежда Анатольевна - доктор философии в области. - 2019. - С. 9.
- Костенков В.С., Бабичева М.В. Переход от BIOS к UEFI, с точки зрения информационной безопасности // Донецкие чтения 2018: образование, наука, инновации, культура и вызовы современности. - 2018. - С. 151-152.
- Панков И.Д., Коноплев А.С., Чернов А.Ю. Анализ защищенности встроенного программного обеспечения UEFI BIOS в современных Intel-based ЭВМ //Проблемы информационной безопасности. Компьютерные системы. - 2018. - № 3. - С. 120-125.