# Плата за $159 превращает защищённые виртуалки Intel и AMD в тыкву
# Плата за $159 превращает защищённые виртуалки Intel и AMD в тыкву ----------------------------- Привет, подписчики! На связи DevGeek.IT ----------------------------- Знакомо, когда читаешь про Intel TDX или AMD SEV-SNP и думаешь: «Ну тут хотя бы память зашифрована, гипервизор не заглянет»? Спойлер: заглянет. Точнее, не заглянет, а подсунет старые данные под видом новых. И для этого не нужен эксплойт в софте — достаточно платы за $159, воткнутой между процессором и модулем DDR5. ----------------------------- Команда из KU Leuven, ETH Zurich, Даремского университета и Google представила атаку DDRop. Работает она с серверной DDR5 и ломает Intel TDX, Intel Scalable SGX и AMD SEV-SNP. Суть в том, что современные системы конфиденциальных вычислений шифруют память и изолируют гостевую среду даже от админа гипервизора, но не проверяют свежесть зашифрованных данных. То есть не могут понять, лежит в ячейке последнее записанное значение или старое. ----------------------------- Как это устроено на практике? Между процессором и модулем памяти ставится плата-интерпозер. Она намеренно создаёт ошибку чётности на командной шине DDR5, а затем блокирует сигнал об ошибке. Модуль памяти отбрасывает команду записи, процессор ничего не замечает и позже получает прежний зашифрованный блок как актуальный. Один комплект для сборки — примерно $159 без учёта разработки. ----------------------------- **🛠 Фишка от DevGeek.IT:** Если ты проектируешь конфиденциальные вычисления, проверяй не только шифрование памяти, но и наличие anti-replay защиты. Шифрование без контроля свежести данных — это сейф, который можно открыть, подсунув старую фотографию замка. ----------------------------- Раньше аппаратные методы либо только наблюдали за шиной DDR5, либо активно вмешивались в DDR4. Например, Battering RAM за $50 подменяла адреса памяти на лету, но переработанный протокол DDR5 мешает тому же приёму. DDRop отказалась от перенаправления адресов и научилась выборочно отменять записи на штатной скорости шины. Это принципиально другой уровень вмешательства. ----------------------------- Самые серьёзные результаты команда получила на Intel TDX. При создании защищённых таблиц страниц доверенная прошивка сначала заполняет новую область пустыми записями. DDRop блокирует очистку, поэтому в памяти остаются заранее подготовленные атакующим зашифрованные значения. В экспериментах это дало контролируемой VM доступ к произвольным физическим адресам, позволило читать память другой виртуалки и принудительно включать для жертвы режим отладки. ----------------------------- Вот как выглядит логика атаки в псевдокоде: ```python # Псевдокод: отмена записи через интерпозер DDR5 def ddroop_write_cancel(target_addr, fake_data): inject_parity_error(cmd_bus=True) suppress_error_signal() # модуль отбрасывает запись, CPU не замечает return read_stale_block(target_addr) # возвращает fake_data ``` ----------------------------- Специалисты также подменили измерение, которое Intel TDX использует при удалённой аттестации. Вредоносная VM после вмешательства могла представить криптографически подписанный отчёт с измерением легитимной системы. Часть атак показали только в стандартном режиме логической целостности TDX. Более строгий режим криптографической целостности должен блокировать вмешательство между доменами, но, по оценке авторов, подделка собственной аттестации всё равно возможна из-за отсутствия проверки актуальности данных. ----------------------------- На AMD SEV-SNP последствия оказались уже. Команда использовала механизм перемещения страниц, чтобы копировать содержимое одной защищённой страницы в другую. Похожая технология AMD ранее уже оказывалась целью атак вроде StackWarp, но DDRop принципиально отличается физическим вмешательством непосредственно в обмен с DDR5 и не требует ошибки внутри гостевой системы. ----------------------------- Атаку проверили на Intel Xeon Scalable 5-го поколения и AMD EPYC Turin. Авторы опубликов