Как стать автором
Обновить

Как долго можно извлекать данные из RAM после отключения компьютера?

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров27K
Всего голосов 64: ↑64 и ↓0+84
Комментарии27
3

Комментарии 27

В конце восьмидесятых, при отладке собранных ZX Spectrum (К565РУ5, период регенерации от 2мс),порой при очередном включении перед сбросом на экране была видна картинка, частично сохранившаяся со времени отключения питания (проходили минуты).

Тогда были старые блоки питания с толстенными конденсаторами на выходе. В школе стояли IBM PS/2 - можно было щелкнуть тумблером питания туда-сюда, и компьютер продолжал работать ;)

А про атаку на считывание содержимого памяти пишут давно, вот например https://xakep.ru/2008/02/28/42561/ - предлагают перед снятием охладить жидким азотом.

Мне досталась аномальная Yamaha из состава КУВТ-2. Всем остальным компам в классе было достаточно моргнуть выключателем питания для сброса содержимого памяти, но моей могло не хватить и минуты и игра загружалась вновь, ошибок при выполнении не было.

О, наши люди! :) У меня тоже есть КУВТ2 (ученический) и раньше еще прикупил Panasonic MSX2+.

Да, у MSX приходилось держать выключенными несколько секунд для надежного сброса памяти.

не совсем памяти, а регистра маппера, который указывал на страницу памяти, по какой-то причине он не имел сброса, но рано или поздно без питания переключался на нулевой банк, где находилось ПЗУ. Если бы этот маппер имел сброс, то эффекта который мы наблюдали в детстве не могло бы возникнуть, всегда при нажатии на сброс был бы бейсик) а так да, пиратские игры Konami, часто не перезапускались по сбросу)))

У меня его нет, к сожалению. ) Этот аномальный экземпляр был моим ученическим компом в детстве на уроках информатики. А потом у нас, в селе Малокурильском, вдруг не стало учителя информатики и класс оказался заброшен и никем официально не посещаем.

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

Для полного счастья не хватало мануала по MSX BASIC, запертого в темнице сырой в сейфе директора школы :)

Да, без круга общения и интернета иметь доступ к MSX - это полдела. Тогда ходили по рукам дискеты-файлы с информацией и софтом для разработки - дибагеры, компиляторы, тексты с описанием вдп и специфики итд. Какое было счастье в своё время получить доступ к опкодам Z80. В своё время, последних классах школы - распечатал хекс-дампы нескольких игр (16 кб) - земля атлетов, долина царей 1 - и потом в общие тетрадки записывался дизасм с анализом, что откуда вызывается. Знал коды наизусть после ДЦ. И, наверное, мозги встали на какое-то место для понимания "низкоуровневого программирования". Потом на основе этого написал статический рекомпилятор игр MSX на PC (80386 DOS). То есть с помощью одной своей тулзы на РС код Z80 преобразовывался в его аналог для x86 (для видео был некий интерпретатор и рендерер образа 16 кб VRAM Screen2), а для звука преобразователь в команды адлиб. И вполне себе работало :) Игр с 10 конвертулись тогда, году в ~94ом.

Не соответствуют ли полученные графики характеристикам конденсаторов, установленных в цепочках питания памяти?

Предполагается, что изначальное значение ячейки DRAM случайно. 

А вот тут можно быть точнее. Если холодную (во всех смыслах) память подключить к питанию регенерации, то там довольно часто повторяется примерно одна картина распределения 0 и 1.

На стареньких компах соответствующий "матрас" можно было увидеть на экране до инициализации экранного адресного пространства.

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

В исследовании вообще никак не объясняется самопроизвольное переключение битов из 0 в 1.

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

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

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

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

Или некоторые ячейки используют инверсную логику (заряжен - 0, разряжен - 1).

Там все сильно сложнее.

Старт работы любого устройства - это довольно не простой переходный процесс.
Если в цепи есть индуктивности и конденсаторы (а там есть и то и другое) то это довольно "веселый" процесс. Если заносила нелегкая на уроки по электротехнике на эту тему в вузе то поймете о чем я.
Так вот теперь еще представьте эти процессы на матрице с кучей элементов. Что там куда потечет во время переходных процессов на старте - будет не очень просто рассчитать, но в некоторых конденсаторы заряды вполне могут попасть. Но по моим наблюдениям все-таки там есть сходимость ибо на своем первом компе (спаянный проводами МГТФ Специалист, там какие-то 565РУ<не помню цифру, но 16 мегабит на схему>) я видел после запуска всегда одинаковый "матрас" на экране.

Не глубоко, но хорошо, потому что последние исследования на этот счет были как бы не времен DDR2.

Непонятные показатели DDR5 могут быть связаны с применением ECC.

Непонятные показатели DDR5 могут быть связаны с применением шифрования, внедрённого в свежие процессоры как раз в целях предотвращения "краж" содержимого памяти...

Оно хоть где-то в consumer линейках доступно?

Очень не хватает оценки при пониженной температуре оперативки, хотя бы 2 среза: небольшой минус (-5 .. -2), большой минус (охлаждение потоком жидкого азота до цифр уровня -50 и ниже) и сравнить результат с комнатной температурой.

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

Когда-то делал видеоадаптер для компьютера, как раз выводил кусок памяти на экран монитора. Если вывести картинку (записать в определенную область памяти) и удерживать сброс на системнике, то картинка "таяла на глазах". Через секунд 20...25 разобрать, что было становилось не возможно.

Около 30 лет назад, "упражнялся" кодом, на TASM с параметром регенерации памяти на IBM XT клоне, под MSDOS. Помню что удавалось получить прирост быстродействия до 12%. Стабильно работало до 10%.

Как вы обошли смену сида маскирования DRAM в контроллере памяти при отключении питания? Или вы не отрубали полностью питание на чипсет?

Это же перевод.

Как долго можно извлечь данные из мозга после смерти человека?

Если заморозить, то срок неограничен.

мозг это транслятор, а не склад.

DIMM состоят из чипов DRAM, количество которых кратно 8 (или 9 с ECC)

Неправда
на серверных планках часто по 17 чипов - 16+1 для корекции. Также число чипов не всегда кратно 8 - оно сокрее кратно двум, так как есть модули на 4 чипа, а чип корекции всегда один, поэтому единственная планка с числом кратным 9 - это планка на 9 чипов, потом идет на 17 (которое вообще простое число и ничему не кратно).
Если коротко - на обычной четное количество чипов, на ECC REG нечетное.

При прошествии гигантского времени половина ячеек таки сохраняет верное значение - так и должно быть! Либо да, либо нет - 50:50 :)

Давняя тема - Cold boot attack. Где-то описывали, что даже в морозилку клали чипы, чтобы посмотреть, сколько продержат.

Никогда не использовал ее (и если честно, сложно представить, как использовать на практике такую уязвимость), но очень ее люблю. Она прекрасно показывает, что в артиллерии свои взгляды на архитектуру. Там, где программистов учат, что оперативная память теряет свое состояние даже при кратковременном сбое питания (и это верно с этой позиции), безопасник должен видеть эту же ситуацию наоборот - состояние удерживается (по этой статье) аж до минуты!

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий