Без права на запись: как мы заперли содержимое SPI Flash в сейф и выбросили ключ

Wait 5 sec.

Привет, Хабр! Меня зовут Сергей, я embedded-разработчик в «Гравитон», моя основная задача в компании — разрабатывать и внедрять системы защиты встраиваемого программного обеспечения.В современных реалиях, когда число изощренных угроз целостности прошивки, таких как персистентные руткиты, растет (так, согласно исследованию руткит CosmicStrand был внедрен во множество устройств в разных странах), а риск фатальных ошибок при ее обновлении или эксплуатации остается критически высоким, полагаться только на софтверный уровень защиты недостаточно. ​Поэтому наша команда сделала ставку на аппаратные возможности чипсетов (PCH) и разработала многоуровневую систему защиты.Сегодня я расскажу, как устроен механизм аппаратной защиты от записи в BIOS-регион SPI Flash, как разработчикам и инженерам безопасности контролировать его, используя доступные инструменты, и покажу, как я применил этот подход на практике и что из этого вышло.Статья будет полезна embedded-разработчикам, инженерам по безопасности и всем, кто хочет понять, как обеспечивается защита BIOS от несанкционированной записи на аппаратном уровне. Читать далее