LINUX.ORG.RU
ФорумTalks

Вся современная DRAM-память не надёжна

 , ,


1

3

http://www.opennet.ru/opennews/art.shtml?num=41340

Пример ассемблерного кода, который может привести к повреждению смежных битов памяти (простой цикл с чтением содержимого памяти и очисткой кэша, чтение двух значений по разным адресам обусловлено необходимостью инициирования закрытия линии WL, если постоянно читать только одну ячейку линия WL остаётся открытой и эффект не проявляется):

loop:
       mov X, %eax  ; Читаем значения адресов X и Y, 
       mov Y, %ebx  ; сохраняем значения в регистрах и кэше
       clflush (X)  ; Чистим содержимое кэша
       clflush (Y)
       mfence       ; Убеждаемся, что данные точно вычищены из кэша
       jmp loop

Причина в том, что при частом чтении соседних ячеек памяти заряд конденсатора может слишком сильно упасть и цикла регенерации оказаться недостаточно для его восстановления. Утверждается, что эта проблема характерна для всей совремённой DRAM-памяти, особенно для выпущенной позже 2011 года.

Ответ на: комментарий от Meyer

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

Harald ★★★★★ ()
Последнее исправление: Harald (всего исправлений: 1)

Только вот с учётом использования всеми современными ОС страничной организации памяти, шансов угадать что же физически лежит в памяти рядом с твоей программой нет. А ещё ведь есть прерывания, которые могут прервать этот код и всё обломать, а он даже не узнает.

KivApple ★★★★★ ()
Ответ на: комментарий от ieeya

Ну как в четвёртом орешке взрывать компы всяких хакиров.

luke ★★★★★ ()

Чем сюда просто копипастить, собрал бы rawhammer и написал бы микро отчет.

greenman ★★★★★ ()
Ответ на: комментарий от KivApple

шансов угадать что же физически лежит в памяти рядом с твоей программой нет.

Наугад действовать. Тогда появляется возможность взлома. Интересно, возможно ли при помощи специально сформированных пакетов через драйвер сетевого интерфейса эксплуатировать данную уязвимость?

rezedent12 ☆☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.