Две уязвимости позволяют обойти защитную функцию AMD SEV

Две уязвимости позволяют обойти защитную функцию AMD SEV

Две уязвимости позволяют обойти защитную функцию AMD SEV

Компания AMD, один из крупнейших производителей процессоров, опубликовала информацию о двух уязвимостях, позволяющих обойти защитную функцию SEV (Secure Encrypted Virtualization, надёжная зашифрованная виртуализация). Задача SEV — изолировать виртуальные машины и гипервизор, но бреши нивелируют этот механизм.

Уязвимости получили идентификаторы CVE-2020-12967 и CVE-2021-26311. Описания дыр можно найти в исследованиях «SEVerity: Code Injection Attacks against Encrypted Virtual Machines» и «undeSErVed trust: Exploiting Permutation-Agnostic Remote Attestation».

Если киберпреступники задействуют выявленные уязвимости в кибератаках, им удастся внедрить вредоносный код на виртуальную машину даже при активированной защите. Известно, что проблема затрагивает процессоры линейки AMD EPYC: первое, второе и третье поколения.

Владельцам 3-го поколения повезло больше, поскольку риск эксплуатации уязвимостей можно минимизировать с помощью функции SEV-SNP.

Первая брешь — CVE-2020-12967 — как раз допускает выполнение произвольного кода из-за недостаточной защищённости таблицы в AMD SEV/SEV-ES. А CVE-2021-26311 позволяет модифицировать память.

Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Инженер Microsoft Рэймонд Чен рассказал любопытную историю отладки загадочных падений Проводника. Сначала всё выглядело так, будто в Windows внезапно появился неприятный баг. Но виновником оказалась вовсе не Microsoft, а сторонний деинсталлятор.

Проблема проявилась как резкий всплеск сбоев Проводника. Инженеры начали изучать дампы и заметили странную деталь: падала 32-битная версия программы, запущенная на 64-битных системах Windows.

Такая версия Проводника всё ещё есть в Windows ради совместимости со старыми приложениями. Обычно современные системы почти не используют этот путь. Но в данном случае сторонний деинсталлятор каким-то образом заставлял систему обращаться именно к этому устаревшему компоненту.

Дальше выяснилось, что деинсталлятор некорректно работал с системными API: использовал неправильное соглашение о вызовах функций и неверно обрабатывал параметры стека. Из-за этого при каждой неудачной операции данные из стека удалялись неправильно.

Поскольку процесс повторялся в цикле, повреждение памяти постепенно накапливалось. В какой-то момент указатель стека уезжал в область активного кода, и Проводник падал.

Со стороны всё выглядело как типичная системная ошибка: софт снова и снова аварийно завершал работу, создавая ощущение, что проблема в самой Windows. На деле операционная система лишь показывала последствия ошибки в стороннем ПО.

Чен напомнил важную вещь: в экосистеме Windows с миллиардами устройств и огромным количеством приложений далеко не каждый сбой компонента Microsoft означает баг в Windows. Сторонние программы тоже могут ломать системные процессы, особенно если неправильно используют низкоуровневые API.

RSS: Новости на портале Anti-Malware.ru