
title: Подробное руководство по NIST SP 800-193: Руководства по устойчивости платформенного микропрограммного обеспечения (PFR) date: 2024-06-15 categories:
Современные вычислительные платформы критически зависят от микропрограммного обеспечения—низкоуровневого кода, отвечающего за конфигурацию аппаратного обеспечения, начальную загрузку и меры безопасности. Поскольку злоумышленники все чаще нацеливаются на микропрограмму для сохранения, повышения привилегий и отключения систем безопасности, организациям необходимо принимать надежные руководства по устойчивости микропрограммы—способность защищать, обнаруживать и восстанавливать от ее повреждений и искажений.
Для решения этих вопросов Национальный институт стандартов и технологий (NIST) издает Special Publication 800-193: Руководства по устойчивости платформенного микропрограммного обеспечения. Этот ключевой документ определяет технические руководства для обеспечения целостности, доступности и надежности платформенного микропрограммного обеспечения и учитывает угрозы на протяжении всего жизненного цикла платформы.
В этом посте мы предоставим как базовое, так и продвинутое ознакомление с устойчивостью платформенного микропрограммного обеспечения (PFR), рассмотрим ключевые разделы NIST SP 800-193, продемонстрируем реальные атаки и стратегии устойчивости, а также предложим практические примеры кода для оценки и восстановления микропрограммного обеспечения.
Устойчивость платформенного микропрограммного обеспечения (PFR)—это структура безопасности, которая обеспечивает возможность вычислительных платформ защищаться от, обнаруживать и восстанавливаться после киберугроз, нацеленных на критически важное микропрограммное обеспечение.
Ключевые цели PFR включают:
Структура PFR особенно важна для инфраструктур, где “корень доверия” является критически важным элементом—настольные ПК, серверы, дата-центры, устройства IoT и облачные системы.
Источник:
Что такое устойчивость платформенного микропрограммного обеспечения
NIST SP 800-193: Руководства по устойчивости платформенного микропрограммного обеспечения предоставляет подробные технические рекомендации для производителей, интеграторов и администраторов для усиления безопасности платформы на уровне микропрограммы. Целью является повышение устойчивости платформ к атакам, таким как:
NIST SP 800-193 применяется к серверным, настольным, ноутбучным и встраиваемым платформам, и охватывает все критически важные компоненты микропрограммного обеспечения, значимые для доверия к платформе.
Источник:
NIST SP 800-193 Финальная версия PDF
| Термин | Определение |
|---|---|
| Микропрограмма | Низкоуровневый, полу-постоянный код, позволяющий инициализацию и конфигурацию оборудования |
| Платформа | Совокупность аппаратных, микропрограммных и программных компонентов системы |
| Корень доверия | Основной элемент, безопасность которого может быть доверена всей системой |
| Устойчивость | Способность продолжать работу безопасно после события, связанного с безопасностью |
| Образ для восстановления | Известно хороший образ микропрограммы, используемый для восстановления целостности платформы |
Согласно SP 800-193, следующие способности устойчивости должны быть обеспечены для платформенного микропрограммного обеспечения:
Платформы должны защищать микропрограмму от несанкционированных изменений или повреждений. Это включает в себя:
Пример:
Платформы Intel и AMD используют Контроллеры платформы (PCH) для управления аппаратными блокировками, предотвращающими доступ записи на флеш после загрузки.
Платформы должны обнаруживать несанкционированные изменения микропрограммы. Это включает в себя:
Пример:
TPM-базированная Measured Boot создает криптографическую цепочку доверия, регистрируя хеш каждого этапа загрузки; несоответствия обнаруживаются через удаленную аттестацию.
Если обнаружена компрометация микропрограммы, восстановление критически важно:
Пример:
Сервер с компрометированным BMC микропрограммным обеспечением возвратится к резервной копии, восстановит функциональность и, возможно, оповестит администраторов.
Атаки на микропрограмму становятся более частыми, включая:
Здесь традиционные меры безопасности (антивирусы, обновление ОС) оказываются недостаточными. Устойчивость на уровне микропрограммы является обязательной.
Создание устойчивого платформенного микропрограммного обеспечения требует как аппаратных, так и программных возможностей.
Храните резервные образы микропрограммы в защищенных (только для чтения или оборудование-заблокированных) регионах—часто называемых "Золотыми образами". Только криптографически проверенные обновления должны перезаписывать активную микропрограмму.
Пример реализации:
Winbond TrustME W77Q хранит резервный образ, защищенный аппаратно; доступен только для внутренних процедур восстановления.
Если основная микропрограмма подделана или не прошла проверку:
Безопасный откат обеспечивает надежное восстановление, возвращаясь к доверенному образу, если произошло повреждение или атака, минимизируя время простоя:
"Функция безопасного отката W77Q обеспечивает надежное восстановление от повреждения микропрограммы или злонамеренных атак, возвращаясь к доверенному образу восстановления, хранящемуся в защищенной области."
Комбинация RTM + TPM обеспечивает надежное обнаружение и отчетность целостности микропрограммы.
Для реализации на практике NIST SP 800-193 платформы должны регулярно аудировать и проверять целостность микропрограммы.
CHIPSEC — это проект с открытым исходным кодом для низкоуровнего анализа оборудования и проверки целостности микропрограммы.
Установка CHIPSEC (Linux):
git clone https://github.com/chipsec/chipsec.git
cd chipsec
sudo python3 setup.py install
Сканировать регионы микропрограммы:
sudo chipsec_main -m firmware
Пример вывода:
[*] Запуск модуля firmware
[*] МОДУЛЬ: Проверки уязвимостей микропрограммы
[!] Обнаружено: BIOS-область не защищена от записи!
[+] Проверки микропрограммы: 3 прошло, 1 провалено
Для хеширования областей изображения микропрограммы и сравнения с известными хорошими значениями:
# Рассчитать SHA256 хеш дампа микропрограммы
sha256sum /path/to/firmware.bin
Автоматизация сравнения:
HASH_KNOWN_GOOD="deadbeef1234567890abcdef"
HASH_CURRENT=$(sha256sum /path/to/firmware.bin | awk '{print $1}')
if [ "$HASH_KNOWN_GOOD" == "$HASH_CURRENT" ]; then
echo "Микропрограмма доверена."
else
echo "Целостность микропрограммы нарушена!"
fi
Предположим, вы собираете журналы микропрограммы (например, из BIOS/UEFI событий), вот базовый парсер на Python:
import json
def check_bios_events(log_file):
with open(log_file, 'r') as f:
logs = json.load(f)
for event in logs:
if "unauthorized update" in event['message'].lower():
print(f"АЛЕРТ: {event['timestamp']} - {event['message']}")
if __name__ == "__main__":
check_bios_events("/var/log/firmware_events.json")
UEFI Secure Boot интегрируется с устойчивостью микропрограммы, загружая только цифрово подписанные загрузчики/драйверы. Это защищает предварительную загрузочную среду, но устойчивость подразумевает обнаружение и восстановление после атак, которые могут обойти Secure Boot (например, через перепрограммирование аппаратной флеш-памяти).
Аппаратный корень доверия такой как FPGA или пользовательский ASIC, проводит первоначальное хеширование критически важной для загрузки микропрограммы. Его неизменяемая природа гарантирует, что, даже если последующая микропрограмма будет повреждена, измерение выявит аномалию.
Новые подходы используют машинное обучение для анализа потоков событий микропрограммы на наличие аномальных паттернов (неожиданное перепрошивание, несовпадение хешей, изменения в поведении), что позволяет проактивное и адаптивное обнаружение атак, направленных на микропрограмму.
Атаки, основанные на микропрограммном обеспечении, представляют собой сложную устойчивую угрозу—устойчивую к искоренению путем простого переустановки ОС или исправления программного обеспечения. Руководства по устойчивости платформенного микропрограммного обеспечения NIST SP 800-193 представляют собой критически важный стандарт для защиты платформ на фундаментальном уровне. Принимая данный стандарт, организации смогут противостоять самым настойчивым злоумышленникам, защищать свое оборудование и сохранять функциональность операций.
Объединяя сильные корпоративные политики, устойчивый дизайн аппаратного/микропрограммного обеспечения и возможность непрерывного аудита, вы значительно снижаете доступную площадь атаки для противников, обеспечивая быстрое восстановление и минимальное нарушение в случае компрометации.
Эта страница оптимизирована для поисковых запросов, включая NIST SP 800-193, устойчивость микропрограммы, безопасность платформенного микропрограммного обеспечения, PFR, корень доверия, защита и восстановление микропрограммы, руководства по кибербезопасности, целостность микропрограммы и доверенный образ для восстановления.
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.