Применение метода атаки Rowhammer для создания уникальных идентификаторов

Группа исследователей из Калифорнийского университета в Дейвисе проанализировала возможность применения метода искажения битов динамической оперативной памяти Rowhammer для идентификации систем. Оказалось, что характер возникающих в результате атаки Rowhammer искажений достаточно уникален для каждого экземпляра чипа DRAM и не изменяется со временем. В итоге была разработана техника Centauri, позволяющая идентифицировать системы в среднем с точностью 99.91%.

Для генерации идентификатора в Centauri достаточно выполнения кода с правами непривилегированного пользователя в течение нескольких секунд или минут. Наибольшая точность достигается при проверке в течение примерно трёх минут. Ценой незначительного снижения точности (на 0.64) идентификация может быть проведена со снижением накладных расходов на 95% за 9.92 секунды. Работа метода протестирована примерно на 98 модулях DRAM (6 наборов идентичных чипов от двух производителей). Повторные эксперименты, проводимые в течение 10 дней не выявили снижения точности идентификации.

Атаки класса RowHammer позволяют исказить содержимое отдельных битов памяти путём цикличного чтения данных из соседних ячеек памяти. Так как память DRAM представляет собой двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора, выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения большая, то соседняя ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить её первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.

Процесс производства чипов неоднороден, поэтому по своей физической структуре каждый чип памяти уникален из-за возникающих допустимых отклонений. Подобные отклонения приводят к тому, что распределение вероятности вызванного атакой Rowhammer искажения битов также является уникальным для каждого произведённого модуля памяти, чем и воспользовались создатели метода Centauri. Применяемый производителями памяти механизм TRR (Target Row Refresh), которые защищает от атак Rowhammer блокируя искажения ячеек в соседних строках, не влияет на точность идентификации методом Centauri.

Идентификация выполняется в три стадии: использование метода Blacksmith (вариант RowHammer) для определения применяемой в чипе стратегии защиты (TRR) от искажения ячеек памяти; выполнение кода, приводящего к появлению искажений; определение относительной позиции и числа конденсаторов, изменивших значение заряда. Идентификатор формируется на основе построения эмпирического распределения вероятности изменения заряда конденсаторов в 2-мегабайтном блоке памяти.


С практической стороны метод может применяться, например, для выявления подмены оборудования или определения систем, в который один компьютер выдаёт себя за несколько разных устройств. При этом маловероятно, что метод выйдет за пределы академического исследования, так как при его применении наблюдается повышенный износ чипов памяти и в процессе работы из-за искажений содержимого ячеек могут возникать сбои в программном обеспечении. Не исключается, что метод может быть адаптирован для работы в браузере для идентификации посетителей сайтов, используя в качестве основы ранее подготовленную реализацию Rowhammer на языке JavaScript.

Release. Ссылка here.