21.02 // Дисковое шифровние может быть взломано "холодной" перезагрузкой
Команда учёных из Центра ИТ-политики Принстонского университета опубликовала работу, пересматривающую эффективность современных средств дискового шифрования перед лицом реалистичной угрозы.
Исследователи рассмотрели такие общераспространённые современные средства, как dm-crypt в Linux, BitLocker в Windows Vista, FileVault в MacOS X, а также TrueCrypt. Все эти системы, как и их аналоги, размещают полученный от пользователя шифровальный ключ в оперативной памяти компьютера и используют его в дальнейшем для динамического расшифрования и зашифрования данных с диска, к которым осуществляется доступ. Модель такой защиты исходит из того, что как только цепи компьютера и схемы оперативной памяти (ОЗУ) обесточиваются, компьютер "забывает" ключ, и восстановить его без участия пользователя уже невозможно. Однако, в своей работе учёные показали, что это не так.
Типичная современная микросхема DRAM сбрасывает транзисторы не моментально с потерей напряжения, а постепенно в течение нескольких секунд или минут. Этот промежуток времени создаёт для противника окно, в которое он способен провести атаку: обесточив (выключив) компьютер, он тут же запускает его вновь и загружает в собственную облегчённую ОС (например, с загрузочного CD или USB-диска), которая создаёт полный образ оперативной памяти. Взломщику лишь остаётся найти в полученном массиве шифровальный ключ и с его помощью расшифровать жёсткий диск жертвы.
Исследователи показали, что атака остаётся осуществимой даже при частичном сбросе битов ОЗУ. Охлаждение микросхем DRAM сжатым воздухом или более высокотехнологичными методами, включая жидкий азот, позволяет чипам "сохранять память" вплоть до нескольких часов. На своей странице учёные приводят полное описание атаки и даже демонстрируют видео.
К сожалению, эта проблема не имеет простого решения; такие устройства, как Trusted Platform Module (используемый BitLocker'ом), не усложняют атаку. Хотя специалистам давно известно, что замораживание чипов ОЗУ позволяет им сохранять состояние памяти и без напряжения, данное исследование показывает, что атака может быть проведена и не обладающим сверхвысокотехнологичным оборудованием оппонентом.
Добавлено:
Джон Каллас из PGP Corporation опубликовал программную схему защиты от данной атаки (она аналогична тому, что предложили сами исследователи из Принстона, только вместо XOR'а здесь используется шифрование в режиме EME с большим блоком, благодаря чему разрядка даже одной ячейки памяти после потери напряжения приводит к искажению всех критичных данных). Схема не запатентована.
Источник: http://www.freedom-to-tinker.com/?p=1257, http://citp.princeton.edu/memory/, http://www.mail-archive.com/cr.....wd.com/msg08939.html
комментариев: 11558 документов: 1036 редакций: 4118
Такой вариант описан в работе исследователей. Взломщик может извлечь DIMM из машины (предварительно заморозив) и подключить к другой машине таким образом, чтобы его адресное пространство не использовалось BIOS'ом при загрузке (если BIOS пишет в конец адресного пространства, взломщик может поставить целевой DIMM в первичный разъём, а собственный DIMM — во вторичный). В итоге, ключевой материал останется цел.
Да, иначе взломщик опять же может просто переставить DIMM в собственную машину.
Кажется, Вы путаете Гутмановское статическое "впечатывание" долго хранящихся данных в ячейки памяти и то, что описано в этой работе. Для защиты от последней достаточно лишь раз заполнить память случайными данными.
Это угроза для всех. Например, для ноутбуков с фирменными секретами на зашифрованном диске. Пользователь может просто переносить "спящий" (hibernate, standby) ноутбук через общественное место. Тут на него набрасываются злобные дядьки и делают своё чёрное дело.
Если кто не читал работу, подчеркну, что, по её результатам, современные чипы DRAM высокой плотности утрачивают своё состояние в течение всего нескольких секунд (при комнатной температуре). Технически, наиболее простая контрзащита — при отключении машины не давать оппоненту подойти к ней в течение этих секунд. Главное, чтобы мешком по голове неожиданно не стукнули.
Кстати, о серверах. Вообще это исследование показывает возможность извлечения любых секретов из обесточенной ОЗУ. Там же показано, как с помощью такой атаки можно получить закрытый SSL-ключ веб-сервера. Причём в определённой ситуации сделать это можно даже удалённо через сеть.
комментариев: 371 документов: 19 редакций: 20
Заливаем память эпоксидкой, как было предложено выше. В этом случае ее будет трудно извлечь за допустимое время.
Использование hibernate в данном случае не опасно, т.к. при этом происходит сброс памяти на диск и выключение компьютера. Опасно использование standby.
Это уже целиком и полностью уязвимость вызваная неправильной конфирурацией загрузки. С тем же успехом любые данные могут быть извлечены по сети из неправильно сконфигурированой ОС.
Да нет, о чем статья понятно, я решил спросить "на один уровень глубже". Уже задал вопросик на форуме у ntldr можно ли считать это "впечатывание" через контакты планки памяти, – пока ясно что не разбирая чип памяти нельзя.
Но "атака криостатом" тоже казалась фантастикой до настоящего времени, пока не проверили это в домашних условиях и выяснилось что можно при помощи балончика с газом и обычного компа (никаких криостатов и лабораторных установок)!
Для сервера это недопустимо, и для рабочей станции тоже не есть гут. И потом, если для открытия диска используется двухуровневая авторизация, а кючевой файл хранится в удаленном месте, то вызвав аварийную ситуацию вас могут затавить принести этот ключ по собственному желанию прямо им в руки! (ну как делают угонщики, когда владелец выбегает к своей сигналящей машине, у него отбирают ключи и спокойно уезжают)
комментариев: 11558 документов: 1036 редакций: 4118
На старых чипах статической RAM оно проявлялось в тенденциозности состояния ячеек при подаче напряжения: биты самопроизвольно принимали то значение, в котором они долго находились до выключения ПК. На современных DRAM этот эффект не выражается так явно.
комментариев: 88 документов: 13 редакций: 3
комментариев: 11558 документов: 1036 редакций: 4118
Почему это исследование представляет столь существенный шаг вперёд: оно предлагает абсолютно реальную модель атаки и инструменты для её осуществления (исследователи пока не выкладывают свои утилиты в свободный доступ по понятной причине). Помимо прочего, в работе описаны практические шаги для идентификации и восстановления криптографических ключей. Нюанс в том, что СКЗИ прибегают ко множеству оптимизаций, чтобы выжать из работы шифра максимальную скорость обработки данных. Так, в памяти хранится не только шифроключ, но и ключевое расписание, чтобы не вычислять его для обработки каждого блока. Ключевое расписание, помимо того, что имеет определённую структуру данных, упрощающую обнаружение и себя, и ключа в памяти, представляет собой также функцию ключа с высокой избыточностью. Даже если взломщик не успел снять образ памяти до того, как часть ячеек сбросилась, и ключ оказался повреждён, он может использовать хранящееся в памяти ключевое расписание как код коррекции ошибок, чтобы восстановить ключ к первоначальному виду. Исследователям удавалось реанимировать ключ AES, в котором сбито до 10% битов (для DES цифра вообще запредельная: до 50%).
комментариев: 9796 документов: 488 редакций: 5664
Не удивительно, ведь на каждом раунде ключ делится на две половины, подвергается двум сдвигам и перестановке со сжатием. Можно определить ошибку в преобразовании на каждом раунде.
Вспомним наш родной ГОСТ: ключ делится на восемь частей и каждая без изменений используется (повторяется) по четыре раза в одном из 32 раундов, три раза из четырёх в прямом порядке и последний четвёртый в обратном.
В других шифрах зависимости сложнее, но также предсказуемые и избыточные.
Получаем "Glass box" – криптоанализ в (полу) прозрачном ящике: можно подглядеть что творится на каждом раунде. Против этого бессилен почти любой шифр. Более того, по остаткам ключевого расписания можно найти и определить ключ в памяти, что авторы и делали.
Не верно, это ничего не даст. Из соли и пароля генерируется реальный пароль, которым и шифруется диск – именно он и хранится в оперативной памяти. Двухфакторная нужна лишь для усложнения реконструкции ключа на социальном уровне (разные носители, принцип разделения секретов и т.д.) Если вы включите дебаг-уровень то вы увидете свой реальный ключ которым вы шифруете диск, поулчаемый из соли и пароля. Я видел это своими глазами :)
В связи с этим у простых смертных возникает насущный вопрос: какой шифр надёжнее в этом плане, какой сложнее восстанавливается при порче данных? AES, Blowfish, Twofish? Или ещё какой-либо?
комментариев: 371 документов: 19 редакций: 20
комментариев: 11558 документов: 1036 редакций: 4118
Blowfish, Serpent, другие ключи со сложным ключевым расписанием. Исследователи предлагают и несколько прямых контрмер, которые могут быть реализованы на уровне приложения. В частности, можно снять оптимизации, и вычислять ключевое расписание для каждого блока; но это сделает программу чудовищно медленной, особенно для шифров с тяжёлой установкой ключа. Ещё можно брать большую случайную последовательность и XOR'ить ключевое расписание с ней и хранить расписание в таком замаскированном виде; это сильно затруднит его обнаружение по эвристическим признакам, как это делалось в работе.
Но вообще это всё полумеры, да. Забавно, мне в Линуксе так и не удалось настроить hibernate-to-ram. Прям какое-то божественное проведение. :-)
Здесь уже кто-то предлогал харнить ключ раздельно не только в оперативке но и в памяти видеокарты.
Давайте пофантазируем! Где вообще теоретически можно хранить ключ? Где есть ячейки памяти или регистры?
Теоретически, можно предположить возможность хранить ключи
1. в кеше жисткого диска или cd привода, скорость доступа будет ограничена интерфейсом ата/сата, ниже плинтуса
2. в буффере сетевой карты
3. если какой-то девайс не используется по прямому назначения (звуковуха, вторая сетевая/видео карта и тд), можно использовать его регистры настройки
4. ?
Все это упирается в скорость работы с таким "видом" памяти.
Для себя не вижу смысла заморачиваться "программной" реализацией (зачем мне нужны такие костыли, если на них все равно нельзя будет расчитывать), проще и надежнее физически защитить комп и память + организовать работу так чтобы всегда была временная фора хотябы в несколько секунд на затирание памяти – банально загрузить линь или мемтест.
Я имел ввиду другую ситуацию: если оппонетн знает что система защищена от "силового захвата оперативной памяти" © ent1 ;) и получить "реальный пароль" нет возможности, то таким образом он попросит вас принести ключевой файл (он будет при вас во время проведения мероприятия) а пароль вы скажете им "добровольно".
Причем схему получения ключевого файла для открытия диска при стабильной системе можно усложнить чтобы его нельзя было получить быстро и сразу.
комментариев: 11558 документов: 1036 редакций: 4118
Особенно, если собеседник может засунуть Вашу голову в криостат с жидким азотом. :-)
Да нет же, если у Вас современный чип DRAM, достаточно просто отключить компьютер за несколько секунд до того, как на него наложат руки. Каких-то активных мер по стиранию памяти принимать не нужно, ячейки сами сбросятся через 5-10 секунд до состояния, когда из них ничего интересного нельзя будет извлечь.
Разновидность термического криптоанализа, однако со знаком минус. :)
Да, это обнадеживает :)
Вот думаю на что вешать датчики – на перезагрузку со стиранием или просто на выключение.
комментариев: 9796 документов: 488 редакций: 5664
Против особо горячих голов :) Можно заклеить голову эпоксидкой :0
Выключать компьютер необязательно. Знакомьтесь с ещё одним специализированным девайсом: HotPlug
Позволяет переключить питание с компа на долгоиграющий УПС, не прерывая его.
Это позволяет увести комп в лабораторию во включенном состоянии и сколь угодно долго ковырять его там (например растворяя эпоксидку на памяти или подпаяв к схеме генератор импульсов для удержания её в рабочем состоянии, пока не вынут уже в замороженном виде).
вот способ с переключением вилок на пилоте, против тех, кто не использует пилот применяется перерезание проводов прямо под напряжением (набор инструментов в комплекте).
Теперь мне по ночам будут сниться кошмары :-((