На прошлой неделе были опубликованы сразу два исследования об атаках на механизмы Trusted Execution Environment в процессорах Intel и AMD. Произошла довольно необычная ситуация, когда две команды исследователей из США и Европы независимо друг от друга нашли более-менее одинаковую уязвимость в защитном механизме, используя очень похожий метод атаки. Механизм TEE предполагает создание защищенного «анклава» в оперативной памяти: отдельный аппаратный модуль шифрует и расшифровывает данные на лету, затрудняя доступ к ним, даже в том случае, если система скомпрометирована. Один из вариантов TEE, технология Intel Software Guard Extensions (SGX), использовалась в том числе в пользовательских ПК для воспроизведения видео с дисков Blu-ray Ultra HD. Но наиболее актуальны такие технологии в облачных системах, когда модель угроз предполагает отсутствие доверия даже к поставщику сервиса или железа.

Атака Wiretap.fail, предложенная учеными из двух американских университетов, ломает защиту Intel SGX. Она предполагает, что потенциальный атакующий имеет полный контроль над ПО и также вмешивается в работу железа для того, чтобы извлечь секреты из работающей на компьютере и защищенной с помощью Intel SGX программы — виртуальной машины или другого ПО. Общая схема выглядит так: вынимаем один модуль памяти стандарта DDR4 и вставляем его в специальный переходник, который подключен к логическому анализатору и позволяет перехватывать данные. «Вредоносная программа» должна обеспечить запись зашифрованных с помощью TEE данных именно в этот модуль.

Такая сложная конструкция дает возможность воспользоваться принципиальной уязвимостью SGX: заданный открытый текст всегда превращается в одну и ту же последовательность символов после шифрования. Атакующий может подавать на вход алгоритма шифрования произвольные данные и, наблюдая за результатом, вычисляет приватный ключ. Авторы атаки <code>Wiretap.fail</code> предлагают практический пример ее использования для компрометации клиента децентрализованной блокчейн-сети Phala Network, использующей SGX для защиты транзакций.
Атака на оперативную память с использованием переходников не является новой. Преимуществом работы Wiretap.fail
является значительное снижение стоимости необходимого оборудования. Ранее в подобных исследованиях использовались дорогостоящие анализаторы стоимостью в сотни тысяч долларов. Бюджет американских исследователей — в пределах одной тысячи долларов: переходник спаяли сами, логический анализатор купили древний. Из-за ограничений анализатора, который в норме просто не способен переварить поток данных модуля памяти DDR4, в самом модуле подменили прошивку чипа SPD, чтобы максимально замедлить скорость его работы. И вот здесь вполне логично перейти к описанию работы европейских ученых, которые решили ту же задачу несколько более элегантно.
Работа Battering RAM исследователей из Бельгии и Великобритании в целом предлагает очень похожую атаку. Точно так же вставляем модуль памяти в зловредный переходник, при помощи которого ломаем механизм TEE. Но вместо мешанины проводов и логического анализатора, в этой работе использована куда более простая плата с микрокомпьютером Raspberry Pi Pico:

Да, плату переходника разработали с нуля, но произвести такую сейчас не составляет проблемы, а общий бюджет на железо не превышает пятидесяти долларов. Эта плата работает в качестве «переключателя»: в нужный момент микрокомпьютер Raspberry Pi «заземляет» две линии адресации, в результате чего зашифрованные данные записываются в область памяти, которую контролирует потенциальный злоумышленник. При этом удалось сохранить стабильность работы компьютера и обойти ограничения, накладываемые системой контроля целостности данных в модуле оперативной памяти. Далее тот же переключатель создает условия для replay-атаки: сохраненный ранее зашифрованный текст расшифровывается штатными средствами TEE.
Атака Battering RAM ломает защиту не только Intel SGX, но и технологии SEV-SNP, используемой в процессорах AMD. Эта система предназначена для обеспечения безопасности виртуальных машин и предполагает не только шифрование данных в памяти, но и отслеживание попыток несанкционированного доступа к секретной информации. Ранее была показана схожая атака на SEV-SNP, в которой использовался модифицированный модуль памяти: в прошивке чипа SPD была заявлена емкость модуля в два раза больше реальной, что обеспечивало возможность чтения защищенных данных. Ту проблему в AMD оперативно закрыли, а вот защититься от Battering RAM будет несколько сложнее.
Работа европейских ученых выглядит более реалистично, насколько это возможно при таком узкоспециализированном сценарии атаки. Переходник теоретически можно установить скрытно в атакуемый сервер и управлять процессом атаки удаленно. Тем не менее у обоих исследований есть и естественные ограничения. Обе работы не актуальны для систем с памятью стандарта DDR5. В случае Wiretap.fail
не получится перехватывать данные из-за более высокой скорости передачи. Battering RAM не работает из-за архитектуры модулей памяти, хотя это не значит, что схожая атака в принципе невозможна. Соответственно, атаки не угрожают и более современной технологии Intel Trust Domain Extensions, просто потому, что она реализована на системах с памятью DDR5. Оба производителя процессоров признали работы американских и европейских исследователей любопытными, но не входящими в модель угроз.
Что еще произошло
Сразу две публикации экспертов «Лаборатории Касперского» описывают применение системы машинного обучения для детектирования атак с использованием механизма DLL hijacking: здесь рассказывается о процессе разработки, а тут приводятся реальные кейсы с обнаружением вредоносных атак.
Громкое событие в сфере инфобезопасности: взлом системы поддержки чата Discord. Утекли персональные данные крайне небольшого числа пользователей, но в списке украденной информации присутствуют даже копии паспортов и других официальных документов. Еще одна кража произошла у компании Red Hat: похищены в том числе приватные репозитории ПО.
Очередные патчи для браузеров: в Chrome 141 и Firefox 143 закрыты опасные уязвимости, обнаруженные независимыми исследователями через программу bug bounty.
Уязвимость, приводящая к удаленному выполнению произвольного кода, обнаружена в роутерах DrayTek Vigor.
Исследователи компании Cleafy обнаружили банковский троян, маскирующийся под VPN-приложение для устройств под управлением Android OS. В код вредоносной программы включен VNC-сервер для ручного управления зараженным устройством.