Группа ACME Security представила (http://frozencache.blogspot.com/) прототип возможного решения для защиты ключей шифрования дисков от атаки методом холодной перезагрузки. Напомню суть атаки (http://www.opennet.me/opennews/art.shtml?num=17035): имея физический доступ к работающей машине, злоумышленник может получить доступ к ключам, используемым при шифровании дисковых разделов такими системами, как BitLocker, FileVault, dm-crypt и TrueCrypt.
Метод основан на способности оперативной памяти (DRAM) какое-то время сохранять информацию после отключения питания и отсутствия импульсов регенерации ее содержимого. Причем, чем ниже температура, тем дольше сохраняются данные, например, выдернув чип и поместив его в жидкий азот(-196 градусов C), данные удалось считать через несколько часов. При температуре -50 градусов, данные сохраняются более 10 минут. Получив таким образом чип памяти из работающей машины, среди содержимого памяти нетрудно выявить ключи шифрования и прочую конфиденциальную ин...URL: http://frozencache.blogspot.com/
Новость: http://www.opennet.me/opennews/art.shtml?num=19910
а если вытащить ЦПУ и снять данные с его кеша аналогичным образом?
проц горячий, данные долго храниться не будут)
>а если вытащить ЦПУ и снять данные с его кеша аналогичным образом?Данные в кэше обычно непостоянны и врядли там успеет что-то отложиться.И кстати AFAIK кэш обычно SRAM а не DRAM.Вы уверены что для SRAM это вообще работает?
Хм.А в чем проблема просто при шатдауне протереть память 00 и FF например?И пусть себе атакер выгребает нолики наздоровье :)
Выдернут из работающей системы.
То, что планку можно выдрать из работающей машины, в этом, собственно, вся фишка метода.
так речь-то идет о холодной перезагрузке aka хардрезете, выливаешь бутылку азота на память и жмешь резет
От перепада температуры микросхемы или сама плата не лопнут?
Для особо любознательных: _медленно_ выливаешь и далее по тексту.
Сферические кони в вакууме
Как-то до меня не доходит область применения...
перемотай опеннет на год назад или хотя бы глянь "Ссылки к новости"
Гляжу, но не понимаю где бедное животное зарыли.
Разве что группа спецназа, врывающаяся в квартиру к хакеру, моментально разбирающая корпус, выдергивающая память и в азот ее... Звучит почище матрицы. Думаю у них есть методы и понадежнее. Больше вариантов применения придумать не могу...
Наверно при такой степени параноидальности пользователя можно придумать и более надежные методы хранения информации чем TrueCrypt.
А я хочу попробовать. Агент 007.
графику потихонку переносят в проц, надо и память потихоньку переносить в проц.
когда уже будет один чип с USB4.0 разъемами?
>графику потихонку переносят в проц, надо и память потихоньку переносить в проц.
>когда уже будет один чип с USB4.0 разъемами?так уже есть. только не x86
+ethernet(и не один) +videoout +много прочего
>графику потихонку переносят в проц, надо и память потихоньку переносить в проц.
>
>когда уже будет один чип с USB4.0 разъемами?тогда уже и инфу с винта тоже надо в проце хранить! ))))) Все в проц))
А что мешает шифровать часть памяти, например по таймеру? Ну получит злоумышлиник память, но ему ещё нужно будет знать точное системное время остановки + содержимое ячеек CMOS'a и т.д. Или же в стек/регист процессора запихать номер алгоритма шифрования части памяти... Вобщем как мне кажется - проще сделать информацию в памяти непригодной к использованию, чем найти хорошую "одну корзинку, куда сложить все яица" (с) Народная пословица
Шифровать те же самые циклы cpu, в данном случае в cpu кеш которого исчисляется 2-4! мегабайта ключик в 512 кбит очень не велик, да и к тому же занимается место которое юзается стеками при применении многозадачности, ну ничего подожёт процесс когда появится свободное место для размещения своих стеков ...2Sergey_vl - Не забывай, что тебе надо память постоянно шифровать и расшифровывать, (циклы cpu) при операциях с ключами, это гемор и ещё более ахуе***ая потеря производительности ...
Интересно, а кто-нибудь может описать процесс взлома методом холодной перезагрузкой. Ведь надо точно знать что в данный момент ключ находиться в ОП и надо ее дергать. А где гарантии что плашка памяти не "крякнет" в этом самом жидком азоте? Представляю себе заходит злоумышленник в серверную с ведром жидкого азота и прочими примочками. По моему терморектальный криптоанализ будет на много эффективней. Я считаю что метод холодной перезагрузки - это какой-то лабораторный метод не применимый в реальной жизни.
>Интересно, а кто-нибудь может описать процесс взлома методом холодной перезагрузкой. Ведь надо
>точно знать что в данный момент ключ находиться в ОП и
>надо ее дергать. А где гарантии что плашка памяти не "крякнет"
>в этом самом жидком азоте? Представляю себе заходит злоумышленник в серверную
>с ведром жидкого азота и прочими примочками. По моему терморектальный криптоанализ
>будет на много эффективней. Я считаю что метод холодной перезагрузки -
>это какой-то лабораторный метод не применимый в реальной жизни.Почему же с ведром ? Если вы наблядали оффициальный блог создателей метода то всё очень даже сделано отлично - балончик рыспылитель которым охлаждают память , после лишают питания целевую машину и извлекают память (либо сразу из работающей извлекают) помещают его в контейнер - привозят куда надо ставят память и делают дамп содержимого , потом анализируют и получают желанные ключики.
А по поводу шифрования отдельных областей памяти - не вижу смысла , ключики для дешифровки шде хранить то будете ? в кеше процессора ? ну так а смысл тогда если сами защищаемые ключи можно там хранить ? получается ключь запру в сундук а ключь от сундука положу в карман - ну так не проще ли сам ключь положить в карман ? ;)
>помещают его в контейнер - привозят куда
>надо ставят память и делают дамп содержимого , потом анализируют и
>получают желанные ключики.Потом едут обратно ставят память на место и забирают винты?
А если ключей в памяти нет или плашку нету вытащили? Все равно очень сомнительный метод, не вижу смысла от него защищаться.
>>помещают его в контейнер - привозят куда
>>надо ставят память и делают дамп содержимого , потом анализируют и
>>получают желанные ключики.
>
>Потом едут обратно ставят память на место и забирают винты?
>
>А если ключей в памяти нет или плашку нету вытащили? Все равно
>очень сомнительный метод, не вижу смысла от него защищаться.Неее - тащут всё - винты, RAM , попутно снимают все CPU - если ключи не выудят так хоть приборохлятса немного :)
Есть фикс: Заливаеш банки памяти жидким пластиком по самые "яйки" и радуешся жизни =)Проще весь компь спи***ть чем ковырять такую конструкцию =)
Ставишь на развязке питания транзистор?, как только питание пропадает(выдернули память) - замыкается цепь на разрядку.
А сколько секунд хранится информация в памяти DRAM при ее обычной рабочей температуре? И каким образом ее оттуда извлечь за этот промежуток времени? Или как остудить память в рабочем состоянии до более низкой температуры? Чтобы все это провернуть нужно иметь машины в полном распоряжении. Короче, нужно физический доступ блокировать, а не методами хранения ключей баловаться. Паранойа это ИМХО.Немного подумал...
В теории можно стянуть работающий ноут с зашифрованным винтом и залоченой ОС... Без ребута до инфы не добраться, а после ребута инфа станет "совсем зашифрованой" и малопригодной... Тогда может и пригодится такой метод. Но всеравно это бред =)
От чего же бред ?Вы можете провести простой эксперимент - запишите в свободную память какую нибудь повторяющуюся последовательность (в примере создателей метода это память была забита буквой "А") , перегрузите машину , и прочитайте память снова - вы удевитесь сколько раз встретиться последовательность которую вы записали
>"А") , перегрузите машину , и прочитайте память снова - вы
>удевитесь сколько раз встретиться последовательность которую вы записали2Аноним после перезагрузки ваша память будет девственно чистой, да и смысл, адрес или диапазон адресов куда входят ваши ячейки куда вы запишите (ААА), будет выдан другому процессу и там будут левые данные. Фишка метода - именно "горячее" выдерание модуля памяти.
# Create a Python program with the following code:#!/usr/bin/env python
# a pirate's favorite chemical element
a = ""
while 1: a += "ARGON"This program will fill memory with copies of the word “ARGON”.
# Run the sync command to flush any cached data to the hard disk.# Start the Python program, and allow it to run for several minutes. It won’t display anything on the screen, but after a while you should see hard drive activity as the memory fills and data gets swapped to disk.
# Deliberately crash the system by turning the power off and on again or briefly removing the battery and power cord.
# After the system reboots, look for the “ARGON” pattern in memory. You can use the following command to print strings of text contained in RAM:
sudo strings /dev/mem | less
If you see copies of the string “ARGON”, some of the contents of memory survived the reboot.
2Аноним после перезагрузки ваша память будет девственно чистой, да и смысл, адрес или диапазон адресов куда входят ваши ячейки куда вы запишите (ААА), будет выдан другому процессу и там будут левые данные. Фишка метода - именно "горячее" выдерание модуля памяти.
нет , не будет если будет стоять быстрая а не полная проверка POST - в следствии чего бы это она стала пустой ? Вполне реальна эксплуатация этого метода