id: Гость   вход   регистрация
текущее время 20:47 24/04/2024
Владелец: SATtva (создано 21/02/2008 22:12), редакция от 20/03/2008 14:37 (автор: SATtva) Печать
Категории: инфобезопасность, защита дисков, хард, атаки
http://www.pgpru.com/Новости/2008/ДисковоеШифровниеМожетБытьВзломанохолоднойПерезагрузкой
создать
просмотр
редакции
ссылки

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


 
На страницу: 1, 2, 3, 4, 5, 6, 7, 8 След.
Комментарии [скрыть комментарии/форму]
— SATtva (22/02/2008 17:56)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Из программных мер защиты могу предложить сохранение ключа в области памяти затираемой BIOS при загрузке

Такой вариант описан в работе исследователей. Взломщик может извлечь DIMM из машины (предварительно заморозив) и подключить к другой машине таким образом, чтобы его адресное пространство не использовалось BIOS'ом при загрузке (если BIOS пишет в конец адресного пространства, взломщик может поставить целевой DIMM в первичный разъём, а собственный DIMM — во вторичный). В итоге, ключевой материал останется цел.

перешивку BIOS дополнительным модулем затирающим память при загрузке

лучше чтобы она затиралась при отключении питания компьютера, например какие-нить конденсаторы которые будут разряжаться на оперативку при отключении питания...

Да, иначе взломщик опять же может просто переставить DIMM в собственную машину.

Основной вопрос какое число циклов гарантирует отсутствие в памяти компрометирующих данных?

Кажется, Вы путаете Гутмановское статическое "впечатывание" долго хранящихся данных в ячейки памяти и то, что описано в этой работе. Для защиты от последней достаточно лишь раз заполнить память случайными данными.

Это угроза для сервера, а не для пользовательского компьютера.

Это угроза для всех. Например, для ноутбуков с фирменными секретами на зашифрованном диске. Пользователь может просто переносить "спящий" (hibernate, standby) ноутбук через общественное место. Тут на него набрасываются злобные дядьки и делают своё чёрное дело.

Если кто не читал работу, подчеркну, что, по её результатам, современные чипы DRAM высокой плотности утрачивают своё состояние в течение всего нескольких секунд (при комнатной температуре). Технически, наиболее простая контрзащита — при отключении машины не давать оппоненту подойти к ней в течение этих секунд. Главное, чтобы мешком по голове неожиданно не стукнули.

Кстати, о серверах. Вообще это исследование показывает возможность извлечения любых секретов из обесточенной ОЗУ. Там же показано, как с помощью такой атаки можно получить закрытый SSL-ключ веб-сервера. Причём в определённой ситуации сделать это можно даже удалённо через сеть.
— ntldr (22/02/2008 18:12)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Да, иначе взломщик опять же может просто переставить DIMM в собственную машину.

Заливаем память эпоксидкой, как было предложено выше. В этом случае ее будет трудно извлечь за допустимое время.

Пользователь может просто переносить "спящий" (hibernate, standby) ноутбук через общественное место.

Использование hibernate в данном случае не опасно, т.к. при этом происходит сброс памяти на диск и выключение компьютера. Опасно использование standby.

Там же показано, как с помощью такой атаки можно получить закрытый SSL-ключ веб-сервера. Причём в определённой ситуации сделать это можно даже удалённо через сеть.

Это уже целиком и полностью уязвимость вызваная неправильной конфирурацией загрузки. С тем же успехом любые данные могут быть извлечены по сети из неправильно сконфигурированой ОС.
— ent1 (22/02/2008 21:01)   <#>
Кажется, Вы путаете Гутмановское статическое "впечатывание" долго хранящихся данных в ячейки памяти и то, что описано в этой работе. Для защиты от последней достаточно лишь раз заполнить память случайными данными.

Да нет, о чем статья понятно, я решил спросить "на один уровень глубже". Уже задал вопросик на форуме у ntldr можно ли считать это "впечатывание" через контакты планки памяти, – пока ясно что не разбирая чип памяти нельзя.
Но "атака криостатом" тоже казалась фантастикой до настоящего времени, пока не проверили это в домашних условиях и выяснилось что можно при помощи балончика с газом и обычного компа (никаких криостатов и лабораторных установок)!

Цена ошибки – лишний раз ввести пароль. :)

Для сервера это недопустимо, и для рабочей станции тоже не есть гут. И потом, если для открытия диска используется двухуровневая авторизация, а кючевой файл хранится в удаленном месте, то вызвав аварийную ситуацию вас могут затавить принести этот ключ по собственному желанию прямо им в руки! (ну как делают угонщики, когда владелец выбегает к своей сигналящей машине, у него отбирают ключи и спокойно уезжают)
— SATtva (23/02/2008 00:55)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Уже задал вопросик на форуме у ntldr можно ли считать это "впечатывание" через контакты планки памяти, – пока ясно что не разбирая чип памяти нельзя.

На старых чипах статической RAM оно проявлялось в тенденциозности состояния ячеек при подаче напряжения: биты самопроизвольно принимали то значение, в котором они долго находились до выключения ПК. На современных DRAM этот эффект не выражается так явно.
— Paran0ik (24/02/2008 21:54)   профиль/связь   <#>
комментариев: 88   документов: 13   редакций: 3
мне кстати интересно – на сколько сложно будет вытащить конкретные данные из памяти... я плохо представляю какие процессы происходят в оперативной памяти, щас буду искать статейки по этому поводу...но вот что я хотел узнать: сама по себе планка оперативной памяти это просто куча данных, чтобы она стала кучей информации нужно, как я понял, иметь на руках адресное пространство, которое формирует процессор (может я и неправильно понял, если что – поправьте) ... т.е. без него информация в оперативки никакой ценности не представляет, т.к. является хранилищем рандомных данных, так?
— SATtva (24/02/2008 22:15)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Конечно не так! Любая программа имеет собственный менеджер памяти, который распределяет данные вполне определённым образом. Они не раскидываются, где придётся.

Почему это исследование представляет столь существенный шаг вперёд: оно предлагает абсолютно реальную модель атаки и инструменты для её осуществления (исследователи пока не выкладывают свои утилиты в свободный доступ по понятной причине). Помимо прочего, в работе описаны практические шаги для идентификации и восстановления криптографических ключей. Нюанс в том, что СКЗИ прибегают ко множеству оптимизаций, чтобы выжать из работы шифра максимальную скорость обработки данных. Так, в памяти хранится не только шифроключ, но и ключевое расписание, чтобы не вычислять его для обработки каждого блока. Ключевое расписание, помимо того, что имеет определённую структуру данных, упрощающую обнаружение и себя, и ключа в памяти, представляет собой также функцию ключа с высокой избыточностью. Даже если взломщик не успел снять образ памяти до того, как часть ячеек сбросилась, и ключ оказался повреждён, он может использовать хранящееся в памяти ключевое расписание как код коррекции ошибок, чтобы восстановить ключ к первоначальному виду. Исследователям удавалось реанимировать ключ AES, в котором сбито до 10% битов (для DES цифра вообще запредельная: до 50%).
— unknown (24/02/2008 23:43)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

для DES цифра вообще запредельная: до 50%


Не удивительно, ведь на каждом раунде ключ делится на две половины, подвергается двум сдвигам и перестановке со сжатием. Можно определить ошибку в преобразовании на каждом раунде.

Вспомним наш родной ГОСТ: ключ делится на восемь частей и каждая без изменений используется (повторяется) по четыре раза в одном из 32 раундов, три раза из четырёх в прямом порядке и последний четвёртый в обратном.

В других шифрах зависимости сложнее, но также предсказуемые и избыточные.

Получаем "Glass box" – криптоанализ в (полу) прозрачном ящике: можно подглядеть что творится на каждом раунде. Против этого бессилен почти любой шифр. Более того, по остаткам ключевого расписания можно найти и определить ключ в памяти, что авторы и делали.
— Гость (25/02/2008 04:16)   <#>
И потом, если для открытия диска используется двухуровневая авторизация, а кючевой файл хранится в удаленном месте, то вызвав аварийную ситуацию вас могут затавить принести этот ключ по собственному желанию прямо им в руки!

Не верно, это ничего не даст. Из соли и пароля генерируется реальный пароль, которым и шифруется диск – именно он и хранится в оперативной памяти. Двухфакторная нужна лишь для усложнения реконструкции ключа на социальном уровне (разные носители, принцип разделения секретов и т.д.) Если вы включите дебаг-уровень то вы увидете свой реальный ключ которым вы шифруете диск, поулчаемый из соли и пароля. Я видел это своими глазами :)

Даже если взломщик не успел снять образ памяти до того, как часть ячеек сбросилась, и ключ оказался повреждён, он может использовать хранящееся в памяти ключевое расписание как код коррекции ошибок, чтобы восстановить ключ к первоначальному виду. Исследователям удавалось реанимировать ключ AES, в котором сбито до 10% битов (для DES цифра вообще запредельная: до 50%).

В связи с этим у простых смертных возникает насущный вопрос: какой шифр надёжнее в этом плане, какой сложнее восстанавливается при порче данных? AES, Blowfish, Twofish? Или ещё какой-либо?
— ntldr (25/02/2008 06:41)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Глупо пытаться выбирать шифр "какой сложнее восстанавливается при порче данных". Уязвимость аппаратная – и защита от нее тоже должна быть аппаратной. Приемлимого программного решения нет, и быть не может. Так что запасайтесь сейфами, или просто примите во внимание такую возможность и не оставляйте включеный комп без присмотра.
— SATtva (25/02/2008 10:20)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
В связи с этим у простых смертных возникает насущный вопрос: какой шифр надёжнее в этом плане, какой сложнее восстанавливается при порче данных? AES, Blowfish, Twofish? Или ещё какой-либо?

Blowfish, Serpent, другие ключи со сложным ключевым расписанием. Исследователи предлагают и несколько прямых контрмер, которые могут быть реализованы на уровне приложения. В частности, можно снять оптимизации, и вычислять ключевое расписание для каждого блока; но это сделает программу чудовищно медленной, особенно для шифров с тяжёлой установкой ключа. Ещё можно брать большую случайную последовательность и XOR'ить ключевое расписание с ней и хранить расписание в таком замаскированном виде; это сильно затруднит его обнаружение по эвристическим признакам, как это делалось в работе.

Но вообще это всё полумеры, да. Забавно, мне в Линуксе так и не удалось настроить hibernate-to-ram. Прям какое-то божественное проведение. :-)
— ent1 (25/02/2008 14:16)   <#>
Я тоже не вижу что программного можно противопоставить такой атаке с хорошей надежностью, все решения видятся недоделанными. Все равно что пытаться обмануть собеседника умеющего читать мысли! (извините за такую ложную аналогию)

Здесь уже кто-то предлогал харнить ключ раздельно не только в оперативке но и в памяти видеокарты.

Давайте пофантазируем! Где вообще теоретически можно хранить ключ? Где есть ячейки памяти или регистры?
Теоретически, можно предположить возможность хранить ключи
1. в кеше жисткого диска или cd привода, скорость доступа будет ограничена интерфейсом ата/сата, ниже плинтуса
2. в буффере сетевой карты
3. если какой-то девайс не используется по прямому назначения (звуковуха, вторая сетевая/видео карта и тд), можно использовать его регистры настройки
4. ?
Все это упирается в скорость работы с таким "видом" памяти.

Для себя не вижу смысла заморачиваться "программной" реализацией (зачем мне нужны такие костыли, если на них все равно нельзя будет расчитывать), проще и надежнее физически защитить комп и память + организовать работу так чтобы всегда была временная фора хотябы в несколько секунд на затирание памяти – банально загрузить линь или мемтест.

Не верно, это ничего не даст. Из соли и пароля генерируется реальный пароль, которым и шифруется диск – именно он и хранится в оперативной памяти. Двухфакторная нужна лишь для усложнения реконструкции ключа на социальном уровне (разные носители, принцип разделения секретов и т.д.) Если вы включите дебаг-уровень то вы увидете свой реальный ключ которым вы шифруете диск, поулчаемый из соли и пароля. Я видел это своими глазами :)

Я имел ввиду другую ситуацию: если оппонетн знает что система защищена от "силового захвата оперативной памяти" © ent1 ;) и получить "реальный пароль" нет возможности, то таким образом он попросит вас принести ключевой файл (он будет при вас во время проведения мероприятия) а пароль вы скажете им "добровольно".

Причем схему получения ключевого файла для открытия диска при стабильной системе можно усложнить чтобы его нельзя было получить быстро и сразу.
— SATtva (25/02/2008 14:29)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Все равно что пытаться обмануть собеседника умеющего читать мысли!

Особенно, если собеседник может засунуть Вашу голову в криостат с жидким азотом. :-)

организовать работу так чтобы всегда была временная фора хотябы в несколько секунд на затирание памяти – банально загрузить линь или мемтест.

Да нет же, если у Вас современный чип DRAM, достаточно просто отключить компьютер за несколько секунд до того, как на него наложат руки. Каких-то активных мер по стиранию памяти принимать не нужно, ячейки сами сбросятся через 5-10 секунд до состояния, когда из них ничего интересного нельзя будет извлечь.
— Гость (25/02/2008 17:06)   <#>
Особенно, если собеседник может засунуть Вашу голову в криостат с жидким азотом. :-)

Разновидность термического криптоанализа, однако со знаком минус. :)

если у Вас современный чип DRAM, достаточно просто отключить компьютер за несколько секунд до того, как на него наложат руки... ячейки сами сбросятся через 5-10 секунд до состояния, когда из них ничего интересного нельзя будет извлечь.

Да, это обнадеживает :)
Вот думаю на что вешать датчики – на перезагрузку со стиранием или просто на выключение.
— unknown (27/02/2008 13:23)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Особенно, если собеседник может засунуть Вашу голову в криостат с жидким азотом. :-)

Разновидность термического криптоанализа, однако со знаком минус. :)


Против особо горячих голов :) Можно заклеить голову эпоксидкой :0


Заливаем память эпоксидкой, как было предложено выше. В этом случае ее будет трудно извлечь за допустимое время.



Да, это обнадеживает :)
Вот думаю на что вешать датчики – на перезагрузку со стиранием или просто на выключение.


Выключать компьютер необязательно. Знакомьтесь с ещё одним специализированным девайсом: HotPlug

Позволяет переключить питание с компа на долгоиграющий УПС, не прерывая его.

Это позволяет увести комп в лабораторию во включенном состоянии и сколь угодно долго ковырять его там (например растворяя эпоксидку на памяти или подпаяв к схеме генератор импульсов для удержания её в рабочем состоянии, пока не вынут уже в замороженном виде).

fileвот способ с переключением вилок на пилоте, против тех, кто не использует пилот применяется перерезание проводов прямо под напряжением (набор инструментов в комплекте).
— Гость (27/02/2008 22:35)   <#>
Позволяет переключить питание с компа на долгоиграющий УПС, не прерывая его.


против тех, кто не использует пилот применяется перерезание проводов прямо под напряжением (набор инструментов в комплекте).

Теперь мне по ночам будут сниться кошмары :-((
На страницу: 1, 2, 3, 4, 5, 6, 7, 8 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3