The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

15.08.2016 15:06

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

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

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

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







  1. Главная ссылка к новости (https://thestack.com/cloud/201...)
  2. OpenNews: Разработан метод атаки на уязвимость в DRAM-памяти с использованием JavaScript
  3. OpenNews: Продемонстрировано использование уязвимости в DRAM-памяти для повышения привилегий в системе
  4. OpenNews: Содержимое ячеек DRAM может быть повреждено в результате цикличного чтения
  5. OpenNews: Полпроцента используемых в Web ключей RSA испытывают проблемы с безопасностью
  6. OpenNews: Доступен проект Phuctor, коллайдер RSA-ключей
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44968-rowhammer
Ключевые слова: rowhammer, memory
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (63) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Michael Shigorin (ok), 15:22, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    Прелестно! (ц)
     
     
  • 2.57, izyk (ok), 00:04, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Прелестно! (ц)

    Копро экономика в действии. Память стала дешевой, не правда ли?

     
     
  • 3.58, Аноним (-), 00:36, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Копро экономика в действии. Память стала дешевой, не правда ли?

    Компьютер в каждом доме! Какой скандал!

     
  • 3.77, Аноним (-), 08:19, 23/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ты дурачек который не осилил новость но сказать что то хочется?

    Проблема отчасти в том что памяти не хватает и приходится мутить дедуплекацию.

     
  • 2.59, Аноним (-), 00:41, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Прелестно! (ц)

    Что тебе прелестно?
    Ты первый будешь сдавать все местные логи от первого нуля до последнего по первому требованию "партии". Ты ведь именно этим здесь уже сейчас занимаешься.


     
     
  • 3.63, Аноним (-), 10:07, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно подумать,  у вас не летят сдавать по легкому мановению волосатой руки вашингтонского обкома.
     
  • 3.75, Michael Shigorin (ok), 16:03, 17/08/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Ты первый будешь сдавать все местные логи от первого нуля до последнего
    > по первому требованию "партии". Ты ведь именно этим здесь уже сейчас
    > занимаешься.

    Посмотрите, люди.  Вот так выглядит типовой лжец: пишет, но подтвердить не сможет.
    По самой простой причине -- нет у меня "местных логов".

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

     
  • 2.72, продаватель_кирпичиков (?), 17:42, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Прелестно! (ц)

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

     
     
  • 3.76, Michael Shigorin (ok), 16:03, 17/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Прелестно! (ц)
    > Миша, уж тебе то пора знать про отличие регистровой памяти и драма

    Так всё равно ж прелестно.  В комплексе с TTM, WiB и прочими факторами, разумеется...

     

  • 1.2, kleem_head (?), 15:25, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как трудно жить. (ц)
     
     
  • 2.11, Аноним (-), 16:15, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ц (ц)
     
     
  • 3.16, ВакумныйМужик (?), 17:17, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Ц*Ц=Щ
     
  • 2.33, Аноним (-), 20:07, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отсюда мораль: используйте нестандартные компоненты, чтобы их не дедуплицировали.

    Пример: если вы раскатаете debian testing с самосборным ядром, дедуплицировано будет заметно меньше чем если вы возьмете стандартный образ ubuntu 16.04 LTS. И атака превратится в конкретный ребус, особенно если попрятать баннеры с версиями и проч.

     
     
  • 3.56, Аноним (-), 23:52, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Одни шпиёны вокруг. Думаете, скроете свою порнуху с понями от Путина? Неее, он всё видит!


     

  • 1.3, bircoph (ok), 15:33, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Что ещё раз доказывает, что виртуализация и безопасность рядом не лежали. Нужна безопасность => используй разное железо для каждой задачи. ARM микросерверы здесь неплохо смотрятся.
     
     
  • 2.8, Аноним (-), 16:07, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Обход защиты вирутализации - всего лишь пример использования. Уязвимость существует в самом железе, что есть опасным для любой машины.
     
     
  • 3.34, Аноним (-), 20:09, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Обход защиты вирутализации - всего лишь пример использования. Уязвимость существует в самом
    > железе, что есть опасным для любой машины.

    На собственном микросервере чужой код извне можно совсем не запускать. Вектор проведения атаки отваливается.

     
     
  • 4.51, Аноним (-), 23:07, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А бункер ты уже построил? А посадил там под землёй дерево? А вырастил ли своих подземных детей?


     
     
  • 5.61, Аноним (-), 08:59, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда твой сервак поломают и заставят тебя несколько суток разбираться с проблемой, особенно в самый неподходящий момент, тогда и послушаем твои шуточки про подземные деревья и подземных детей
     
     
     
    Часть нити удалена модератором

  • 7.65, Sarmat (?), 12:14, 16/08/2016 [ответить]  
  • +1 +/
    Маладой человек когда 15 лет назад, я сказал заказчику что надо к ДДОС приготовитьсяя услышал "да кому оно нужно", через годик рвали волосы и думали "что же делать????"
     
  • 6.70, torvn77 (ok), 13:51, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ИМХО нет у него ни какого сервака, ни реального, ни виртуального.
     
  • 2.9, leap42 (ok), 16:12, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    действительно, сама по себе виртуализация не обеспечивает безопасности, но для этого есть специальные технологии (sVirt, например). да, отдельная железка безопаснее связки kvm+libvirt+sVirt, но эта связка в свою очередь безопаснее чем запуск всех сервисов в одной системе. а в виду того, что разное железо под разные задачи могут себе позволить только юные теоретики (цена на место в приличном ДЦ имеет определяющее значение), за неимением лучшего, так сказать.
     
  • 2.19, z (??), 17:36, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Клован, уязвимость в технологии DRAM, а не архитектуре процессора
     
     
     
    Часть нити удалена модератором

  • 4.28, Аноним (-), 18:57, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > За скорость и уменьшение расхода памяти платишь точностью и безопасностью

    Типа Айфон и Китайский Андроид?

     
  • 4.32, z (??), 20:06, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >функционал

    дальше не читал

     
  • 4.36, Аноним (-), 20:13, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > клоун: функционал, который известен с самого создания технологии, и который прописан в
    > документации к процессору, уязвимостью не является.

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

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

     
     
  • 5.47, Аноним (-), 22:19, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    клоун: ты когда в последний раз читал документацию по программированию процессоров и памяти? Там куча оговорок вида "может привести к повреждению" (оборудования, данных, ..). Просто эту научились юзать.
     
     
  • 6.66, none_first (ok), 12:46, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > клоун: ты когда в последний раз читал документацию по программированию процессоров и
    > памяти? Там куча оговорок вида "может привести к повреждению" (оборудования, данных,
    > ..). Просто эту научились юзать.

    передай клоуну (только не наври перепечатывая), ЕУЛА от твоего хозяина тоже включает много оговорок (в том же духе), но ты их глюкоподелями пользуешься и уверяешь - они безопасны
    и юзать эти глюки умеют со момента начала продаж МСперделок

     
     
  • 7.69, Аноним (-), 13:34, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    клоун: все известные ошибки принято документировать, предлагая альтернативные варианты решения на время устранения ошибки. Радует, что даже некоторые отечественные разработчики ПО дошли до этой простой истины:

    http://downloads.v8.1c.ru/content/Platform/8_2_19_68/ErrPlatform_8_2_19_68.ht

     
     
  • 8.71, none_first (ok), 15:24, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    говорилка, передай своему клоуну - у тебя нет отечества, ты - дитя МС, а нее св... текст свёрнут, показать
     
  • 4.48, Аноним (-), 22:19, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я ему тут друха нашёл. Не его уровень, конечно. Но всё равно они похожи =)
    http://arhivach.org/thread/93609/


     

  • 1.4, Alukardd (ok), 15:33, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Скажи "нет" дедпуликации памяти!
     
     
  • 2.12, Аноним (-), 16:26, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сократить период регенерации. Таймингами в BIOS поиграться может? Производительность сервера упадёт, но безопасность важнее.
     
     
  • 3.44, nononoon (?), 21:31, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это спорное решение и не факт что будет нормально работать, определенно вылезет что-нибудь другое.
     
  • 3.74, Аноним (-), 20:01, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Можно еще ограничить количество обращений к близлежащим ячейкам памяти за один цикл регенерации.
     
  • 2.13, tensor (?), 16:29, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У VMware ESXi дедупликация страниц памяти, насколько я знаю, начинается при нехватке RAM хоста, что само по себе зашквар^W нештатная ситуация.
    У kvm/qemu с этим вроде бы ещё хуже - они этого не умеют (поправьте меня, если я не прав).

    Да, проблема на уровне физики есть, но разносить все задачи по железякам - не напасёшься юнитов, я уж молчу про деньги.

     
     
  • 3.15, Аноним (-), 16:59, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > У kvm/qemu с этим вроде бы ещё хуже - они этого не умеют (поправьте меня, если я не прав).

    Умеют, но по умолчанию отключено.

     
     
  • 4.38, Аноним (-), 20:18, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Умеют, но по умолчанию отключено.

    По умолчанию сейчас в большинстве дистров ksmd (ядерный тред фонового дедупа) активен, но дедупает только то что явно маркировано через madvise. И вопрос сводится к тому делают ли ваши kvm/qemu madvise() на памяти виртуалки. Свежие версии могут и по умолчантю делать. Или проверяйте или ksmd отключите. Хотя для начала стоило бы проверить что вас rowhammer вообще пробирает. Он срабатывает только на некоторых "неудачных" чипах. А некоторым чипам это пофиг. Ну и у нормальных серверов память с ecc, ошибок бует море.

     
  • 2.37, OpenVMS (?), 20:17, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ударим дупликацией по дедупликации!
     

  • 1.5, Аноним (-), 15:38, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ситуация имеет место быть при использовании KSM (дедупликация памяти хост-системы). Отключив её можно закрыть эту уязвимость.
     
     
  • 2.6, Нанобот (ok), 15:45, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Отключив её можно закрыть эту уязвимость.

    нет, отключение KSM только блокирует возможный вектор атаки, уязвимость остаётся

     

  • 1.17, Аноним (-), 17:18, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Насчет Ubuntu повеселило. Ничего, что apt сверяет контрольную сумму с packages который подписан ключом Ubuntu?
     
     
  • 2.39, Аноним (-), 20:21, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Насчет Ubuntu повеселило. Ничего, что apt сверяет контрольную сумму с packages который
    > подписан ключом Ubuntu?

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

     
     
  • 3.55, Аноним (-), 23:49, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вторая атака приводит к изменению URL пакетов, загружаемых через apt-get и позволяет добиться установки стороннего deb-пакета в Ubuntu и Debian (например, изменили имя хоста загрузки с ubuntu.com на ubuftu.com, ubunt5.com и т.п.).

    Даже текст новости не осилил, а все туда же - пальцы веером.

     

  • 1.18, grsec (ok), 17:35, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я так понимаю, что определить, какие именно ячейки надо изменить для получения нужного результата - задача более чем не тривиальная.
     
  • 1.23, Аноним (-), 17:59, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    *поправляя шапочку из смеси титана, свинца и фольги*
    Феноменально! Бэкдор в железе, в контроллере памяти да ещё и на уровне токов. До этого бы вряд-ли кто-то додумался раньше. Напоминает ситуацию бэкдоров в шрифтах в вин 10, но это серьезней и есть на 99,9% электронных девайсов. Что же остается параноику? Паять Радио 86РК? Или уходить на какие-то ЕС ЭВМ или даже старей?


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

     
     
  • 2.26, Аноним (-), 18:43, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Что же остается параноику? Паять Радио 86РК?

    Разрабатывать собственные микрочипы? Правда Вентилям тоже нельзя доверять... Эх, незадача.

     
     
  • 3.31, Аноним (-), 19:35, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только транзисторы, только хардкор !
     
     
  • 4.53, YetAnotherOnanym (ok), 23:09, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какие ещё "транзисторы"? Только релюшки! А ещё лучше - тётеньки со счётами.
     
     
  • 5.54, Аноним (-), 23:25, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И колбаса "Чайная".


     

  • 1.24, Аноним (-), 18:25, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Херня все это. От однобитовых ошибок есть ECC, а ежели кто гоняет виртуалки на железе без ECC, тот сам себе злой буратино.

    Для нечитателей цитата из публикации (cтр. 12):

    "Another option is to rely on memory with errorcorrecting codes (ECC) to protect against single bit flips."

     
     
  • 2.60, Crazy Alex (ok), 03:20, 16/08/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Именно. Зато вой подняли...
     

  • 1.25, Аноним (-), 18:39, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разработка нового DRAM при поддержки АНБ
     
     
  • 2.30, Аноним (-), 19:34, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • +/
    При поддержке (для поддержки).
     

  • 1.35, Ника (??), 20:12, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вложенная Виртуализациия и тотальное шифрование, включая память - наше всё.

    Им для начала нужно будет узнать, что именно и как менять, потом придётся ломать шифры.

     
     
  • 2.43, Аноним (-), 20:33, 15/08/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что, идея Только это софтварное шифрование - тормозит А аппаратное - так ... большой текст свёрнут, показать
     

  • 1.45, Аноним (-), 21:51, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > через apt-get и позволяет добиться установки стороннего deb-пакета в Ubuntu и Debian (например, изменили имя хоста загрузки с ubuntu.com на ubuftu.com, ubunt5.com и т.п.)

    Что за плохой пример, apt-get просто откажется устанавливать в таком случае, так как подпись не совпадёт.

     
  • 1.46, sergey.vfx (ok), 22:12, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как с подобным справится зеркалирование памяти? (если вообще хоть какая-то разница будет..)
     
  • 1.49, Аноним (-), 22:34, 15/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > RowHammer

    В DDR4 это исправили, насколько я понимаю. Ну и про ECC правильно пишут выше - с ним даже в DDR3 сложно проэксплуатировать.

     
  • 1.62, iZEN (ok), 09:49, 16/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > выполнение непрерывного чтения одной и той же области памяти приводит к флуктуации напряжения и аномалиям, вызывающим небольшую потерю заряда соседних ячеек. Если интенсивность чтения достаточно большая, то ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить его первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных.

    Инженера 1970-х в шоке.

     
     
  • 2.78, Аноним (-), 18:17, 06/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Инженера 1970-х в шоке.

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

     
     
  • 3.79, Аноним (-), 18:18, 06/06/2017 [^] [^^] [^^^] [ответить]  
  • +/
    * не было
     

  • 1.73, Аноним (-), 19:22, 16/08/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ksmd так жрёт процессор, что лучше его выключить, нпдеюсь qemu ещё не научили самостоятельно страницы мержить
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру