Защита от атаки на секретные данные методом холодной перезагрузки

23/01/2009 09:40

Группа ACME Security представила прототип возможного решения для защиты ключей шифрования дисков от атаки методом холодной перезагрузки, сообщает opennet.ru. Суть атаки: имея физический доступ к работающей машине, злоумышленник может получить доступ к ключам, используемым при шифровании дисковых разделов такими системами, как BitLocker, FileVault, dm-crypt и TrueCrypt. Метод основан на способности оперативной памяти (DRAM) какое-то время сохранять информацию после отключения питания и отсутствия импульсов регенерации ее содержимого. Причем, чем ниже температура, тем дольше сохраняются данные, например, выдернув чип и поместив его в жидкий азот(-196 градусов C), данные удалось считать через несколько часов. При температуре -50 градусов, данные сохраняются более 10 минут. Получив таким образом чип памяти из работающей машины, среди содержимого памяти нетрудно выявить ключи шифрования и прочую конфиденциальную информацию. Действие предложенной защиты сводится к использованию возможности сквозного маппинга областей памяти в кеш центрального процессора, когда данные сохраняются только в кеше CPU, не оставаясь в памяти. Такую технологию например использует проект LinuxBIOS/CoreBoot на стадиях работы до момента инициализации контроллера памяти. Разместив ключи шифрования только в кеше CPU, злоумышленник не сможет восстановить их содержимое при анализе остатков информации в ОЗУ, сохранившихся после перезагрузки. Отрицательной стороной метода является замедление работы из-за перевода кеша CPU в режим заморозки содержимого. Для многоядерных систем замораживается лишь часть кеша, привязанная к одному ядру. Поэтому, метод планируется использовать для временного перемещения ключей в безопасную область во время неактивности системы, например, при запуске хранителя экрана, когда наиболее вероятна возможность совершения кражи ноутбука с важными данными. Также падение производительности можно минимизировать принудительно загрузив в кеш наиболее часто используемые блоки кода ядра.
Подробности