Купить решения «Лаборатории Касперского»
в интернет-магазине Kaspersky-Security.ru |
WireTap и Battering RAM: атаки на TEE | Блог Касперского
WireTap и Battering RAM, две независимые теоретические работы, показали возможность атак на Trusted Execution Environment (TEE).
Для работы с особо конфиденциальной информацией в современных серверных процессорах предусмотрена «доверенная вычислительная среда» (Trusted Execution Environment, TEE). Реализаций TEE очень много, но для этого материала важно знать о двух: это Intel Software Guard eXtensions (SGX) и AMD Secure Encrypted Virtualization (SEV). Сразу две команды ученых в США и Европе, независимо друг от друга, нашли очень похожие (хотя и с отличиями) методы взлома этих двух реализаций с целью добраться до зашифрованных данных в оперативной памяти. Научные работы с результатами были опубликованы с разницей буквально в пару дней:
- WireTap.fail: работа американских ученых, в которой они взламывают систему Intel Software Guard eXtensions (SGX), перехватывая обмен данными между процессором и модулем оперативной памяти стандарта DDR
- Battering RAM: исследование ученых из Бельгии и Великобритании, в котором они также взламывают Intel SGX, но еще и схожую защитную систему SEV-SNP компании AMD, воздействуя на процесс передачи данных между процессором и модулем оперативной памяти стандарта DDR
Как ломают TEE
Обе упомянутые технологии, и Intel SGX и AMD SEV, предполагают защиту данных, даже если система, на которой они обрабатываются, полностью скомпрометирована. Поэтому исследователи решили исходить из предпосылки, что у атакующего будет полная свобода действий: он будет иметь полный доступ и к софту, и к железу сервера, при этом конфиденциальные данные, которые они пытаются добыть, содержатся, например, на запущенной на этом сервере виртуальной машине.
В таких реалиях становятся актуальными некоторые ограничения технологий Intel SGX и AMD SEV. Например, применение детерминированного шифрования — алгоритма, в котором определенная последовательность данных на входе всегда дает одну и ту же последовательность зашифрованных данных на выходе. Поскольку у атакующего есть полный доступ к ПО, он может подавать на вход TEE произвольные данные. Если бы у атакующего был еще и доступ к зашифрованной информации, то сравнение этих двух наборов данных позволяло бы высчитать использованный приватный ключ. А значит — расшифровать «чужие» данные, зашифрованные на этой же системе.
Да, только как считать зашифрованные данные? Они хранятся в оперативной памяти, и доступ к ним имеет только процессор. Наша воображаемая вредоносная программа «видит» только исходную информацию, которая затем шифруется в памяти. Вот это — главная проблема, которую разными способами пытаются решить исследователи. И есть способ решения проблемы «в лоб», прямолинейно: аппаратный перехват данных, передающихся от процессора в модуль оперативной памяти.
Как это работает? Вытаскиваем модуль памяти, вставляем его обратно через переходник, который, в свою очередь, подключен к специальному устройству — логическому анализатору. Логический анализатор перехватывает потоки данных, передающихся по всем линиям связи и адресации на модуль памяти. Это достаточно сложно. В любом сервере модулей памяти много, и надо как-то заставить процессор записывать информацию именно в нужный нам диапазон. Далее требуется реконструировать и анализировать «сырые» данные, полученные с логического анализатора.
Проблемы на этом не заканчиваются. Современные модули памяти обмениваются данными с процессором на огромной скорости — миллиарды операций в секунду. Чтобы перехватить такой поток информации, требуется высококлассное оборудование. В 2021 году возможность такой атаки доказали, использовав аппаратуру стоимостью в сотни тысяч долларов.
Особенности атаки Wiretap.fail
Американским исследователям в работе Wiretap.fail удалось снизить бюджет взлома до тысячи долларов. Их «установка» для перехвата данных с модуля памяти DDR4 выглядела таким образом:

Тестовая система для перехвата обмена данными между процессором и модулем памяти. Источник
Половину бюджета потратили на древний, четвертьвековой давности логический анализатор ؙ— купили на интернет-аукционе. Остальное ушло на необходимые соединения, а переходник, в который вставляется атакуемый модуль памяти, авторы спаяли самостоятельно. Такая древняя установка никак не могла бы перехватывать поток данных с его нормальной скоростью. Но здесь исследователи выяснили, что работу модуля памяти можно искусственно замедлить: вместо положенных по стандарту DDR4 эффективных скоростей 1600–3200 мегагерц удалось добиться скорости 1333 мегагерца.
Дальше все «просто» (точнее, в реальности очень сложно):
- Надо добиться, чтобы данные атакуемого процесса записывались в «скомпрометированный» модуль памяти, и перехватить их, но пока — в зашифрованном виде.
- Обратиться к Intel SGX и подать на вход для шифрования свой собственный набор данных.
- Перехватить зашифрованную версию известных данных, сравнить открытый текст и зашифрованный, вычислить ключ шифрования.
- Расшифровать данные атакуемого процесса, сохраненные ранее.
Таким образом, работа Wiretap.fail не добавляет ничего принципиально нового в наши знания об ограничениях Intel SGX. Но показывает, что атаку можно значительно удешевить.
Особенности атаки Battering RAM
Исследователи из бельгийского университета KU Leuven с коллегами из Великобритании вместо того, чтобы прямолинейно перехватывать обмен данными между процессором и модулем памяти, искали способ добраться до зашифрованной информации каким-нибудь более хитрым и элегантным способом. Но до того, как мы перейдем к деталям, предлагаем просто посмотреть на «аппаратную» часть и сравнить ее с работой американцев:

«Вредоносный» переходник для модуля памяти в работе Battering RAM. Источник
Вместо мешанины проводов, большого анализатора данных, здесь разработанная с нуля и достаточно простая плата, в которую вставляется атакуемый модуль памяти. На плате — дешевый компьютер Raspberry Pi Pico. Бюджет на железо тут смехотворный: 50 евро! Более того, в отличие от атаки Wiretap.fail, Battering RAM может проводиться скрытно — не нужен постоянный физический доступ к серверу. Достаточно установить модуль памяти и дальше похищать требуемые данные удаленно.
Что вообще эта плата делает? Исследователи обнаружили, что если в нужный момент заземлить всего две линии адресации, которые указывают, куда записывать (или откуда считывать) информацию, то создается ситуация «отзеркаливания» данных. То есть информация записывается в те ячейки, к которым у атакующего есть доступ. Плата-переходник в этой работе представляет собой пару простых переключателей, которые управляются микрокомпьютером Raspberry Pi. Подобные манипуляции с контактами на работающем железе с большой вероятностью приводят к зависанию системы или повреждению данных. Но исследователи смогли добиться стабильной работы, отключая линии адресации и подключая их обратно ровно тогда, когда это необходимо.
Таким образом, авторы работы получили возможность самостоятельно выбирать, куда запишутся необходимые им данные. А значит, им даже не обязательно вычислять код шифрования! Они захватывают зашифрованную информацию атакуемого процесса. Далее запускают собственную программу в том же диапазоне памяти и запрашивают у системы TEE расшифровку ранее перехваченной информации. Это позволило взломать не только технологию Intel SGX, но и AMD SEV. Причем контроль над записью данных помог обойти и расширение AMD SEV под названием SEV-SNP, которое при помощи технологии Secure Nested Paging, по идее, должно было защищать виртуальную машину от компрометации, предотвращая изменение данных в памяти. Ее обход теоретически позволяет не только считывать зашифрованные данные, но и «подсаживать» в чужую виртуальную машину вредоносный код.
Актуальность физических атак на серверную инфраструктуру
Очевидно, что практическое применение подобных атак хоть и возможно, но маловероятно: ценность похищаемых данных должна быть крайне высока, чтобы сделать актуальной атаку на аппаратное обеспечение. По крайней мере, так к своим защитным решениям относятся компании Intel и AMD: оба производителя ответили исследователям, что физические атаки не входят в их модель безопасности. И американские, и европейские исследователи показали, что стоимость таких атак не так уж высока, как считалось ранее, а это в теории расширяет список желающих воспользоваться такими сложными уязвимостями.
Впрочем, у предложенных атак есть и свои собственные ограничения. Мы не зря несколько раз упоминали, что кража информации проводилась в системах, оборудованных модулями памяти стандарта DDR4. Более современный, финализированный в 2020 году стандарт DDR5 пока не взломан даже в исследовательских целях. Виной тому и изменившаяся архитектура модулей памяти, и повышенные скорости работы. Впрочем, исследователи с высокой вероятностью найдут и там свои уязвимые места. И это хорошо: декларируемая безопасность TEE-систем должна регулярно проходить независимый аудит. Иначе в какой-то момент может выясниться, что доверенная система защиты неожиданно оказалась совершенно бесполезной.
Источник: Лаборатория Касперского
22.10.2025