Методика обратной разработки прошивок BIOS/UEFI с целью выявления программных закладок

Бесплатный доступ

Данная работа посвящена методике обратной разработки прошивок 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.
Статья научная