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

Автор: vik_kr Дата: . Категория: Новости

Группа исследователей из Амстердамского свободного университета разработала новую технику атаки FFS (Flip Feng Shui), позволяющую добиться изменения содержимого памяти чужих виртуальных машин. Продемонстрированы два успешных примера осуществления атак.

Первая атака позволяет изменить значение отдельных битов публичного RSA-ключа OpenSSH в чужой виртуальной машине, приведя его в соответствие с закрытым ключом на системе атакующего, что позволяет осуществить подключение к VM жертвы. Вторая атака приводит кизменению URL пакетов, загружаемых через apt-get и позволяет добиться установки стороннего deb-пакета в Ubuntu и Debian (например, изменили имя хоста загрузки с ubuntu.com на ubuftu.com, ubunt5.com и т.п.).

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

Арендовав виртуальную машину на том же физическом сервере, что и виртуальная машина жертвы, атакующие могут воспользоваться тем, что в процессе дедупликации, идентичные страницы памяти разных виртуальных машин отражаются в одну область физической памяти. Например, при запуске в разных виртуальных машинах идентичных операционных систем, многие доступные на чтение компоненты данных ОС будут размещены в ОЗУ в виде одной физической копии, отзеркаленной в разные виртуальные машины. Применение метода RowHammer для таких дедуплицированных областей позволяет атакующим внести искажения в совместно используемые области памяти.