Когда-то считалось, что встроенная память процессоров — одна из самых защищённых зон на кристалле. Разработчики доверяли ей самые ценные данные — криптографические ключи, пароли и секреты, полагая, что после отключения питания информация мгновенно исчезает. Однако недавнее исследование, опубликованное в журнале Communications of the ACM, перевернуло это представление с ног на голову. Оказалось, что даже мгновенная память, такая как SRAM, может «заморозить» свои данные и раскрыть тайны, которые должны были навсегда остаться секретом.
🔎 Новый тип атаки: Volt Boot
Исследователи Jubayer Mahmod и Matthew Hicks обнаружили уникальную уязвимость, получившую название «Volt Boot». Суть этой атаки заключается в использовании особенностей современных чипов — разделения на отдельные домены питания. Обычно питание на кристалле разделено по блокам — это позволяет лучше управлять энергопотреблением и производительностью. Но именно этот «умный» подход сыграл с безопасностью злую шутку.
🧠 Почему SRAM считался неуязвимым?
На первый взгляд, SRAM (статическая память с произвольным доступом), встроенная прямо на процессорный кристалл, идеально защищена от традиционных атак «холодного старта» (Cold Boot). В отличие от DRAM, память SRAM не обладает заметной задержкой разряда и теряет содержимое практически мгновенно после отключения напряжения. Холодный старт, обычно использующий заморозку памяти, здесь казался невозможным.
Однако Volt Boot меняет правила игры:
📌 Как устроена атака Volt Boot?
Вместо того чтобы охлаждать чип, злоумышленник использует нестандартный подход:
🔋 Шаг 1: Подача внешнего напряжения
Злоумышленник подключает внешний источник питания к определённому домену SRAM на кристалле через тестовые площадки или контактные пины на плате устройства.
🔄 Шаг 2: Перезагрузка системы
Основной источник питания устройства отключается, процессор перезапускается, а домен SRAM остаётся под напряжением. Это создаёт ситуацию, когда процессор заново загружается, а секреты, спрятанные в SRAM, сохраняются полностью нетронутыми.
💾 Шаг 3: Извлечение данных
После загрузки злоумышленник извлекает содержимое памяти, включая секретные ключи и пароли, с точностью до 100%.
🛡️ Что оказалось уязвимым?
Исследователи проверили атаку на популярных чипах, таких как ARM Cortex-A (Raspberry Pi 3 и 4, i.MX535 от NXP). Выяснилось, что Volt Boot может извлекать данные из:
- 📂 L1 кэша процессора
- 📌 Регистров (включая векторные регистры, используемые для криптографических операций)
- 💽 Внутренней оперативной памяти (iRAM)
Эти компоненты долгое время считались неприступными бастионами безопасности процессора.
🚧 Почему Volt Boot эффективен на 100%?
Традиционные атаки типа Cold Boot требуют охлаждения памяти до экстремально низких температур, при этом даже в таких условиях данные могут быть повреждены. В случае Volt Boot ситуация кардинально иная: SRAM просто никогда не теряет питание и сохраняет свои биты в неизменном состоянии. Это исключает ошибки и позволяет извлекать секреты абсолютно точно.
🚨 Что это значит для безопасности?
Volt Boot заставляет нас заново пересмотреть подходы к безопасности:
- 🔑 Нельзя доверять внутренней памяти «по умолчанию»
Программисты привыкли считать внутренние регистры и SRAM безопасными, но теперь это не так. - ⚠️ Аппаратные решения не всегда эффективны
Контрмеры вроде аппаратного сброса SRAM при перезагрузке или использования TrustZone (технология изоляции от ARM) частично помогают, но далеко не всегда реализуемы в готовых чипах. - 🛠️ Необходимы архитектурные изменения
Возможно, производителям придется пересмотреть подход к разработке схем питания и защиты доменов, чтобы исключить возможность атаки по типу Volt Boot.
🎯 Что делать дальше?
Проблема, обозначенная исследователями, не просто гипотетическая. Она представляет реальный риск для любых устройств, которые могут оказаться в руках злоумышленников, например, смартфонов, IoT-устройств и промышленных контроллеров.
Чтобы минимизировать риски, производителям процессоров и разработчикам ПО придется предпринять дополнительные шаги:
- 🚧 Использование шифрования SRAM
Секреты не должны храниться в памяти в чистом виде даже на кристалле. - 🔄 Аппаратный сброс SRAM при каждом запуске
Идеально, если бы эта процедура стала обязательной для всех современных SoC. - 🔐 Более строгая изоляция секретов
Такие технологии, как TrustZone и обязательная проверка цифровой подписи при загрузке, могут помочь снизить риск, хотя и не исключают его полностью.
🔍 Итог: безупречная безопасность требует постоянной бдительности
Открытие Volt Boot — важное напоминание о том, что безопасность никогда не бывает абсолютной, а старые подходы могут потерять актуальность в любой момент. Это заставляет нас постоянно проверять, испытывать и улучшать наши системы защиты, чтобы быть на шаг впереди злоумышленников. И в первую очередь — не воспринимать текущие технологии как заведомо безопасные, даже если мы привыкли к ним годами.
Источники: