Группа исследователей из Общества имени Фраунгофера (https://ru.wikipedia.org/wiki/%D0%9E%D0%... разработали технику атаки SEVered (https://arxiv.org/pdf/1805.09604.pdf), позволяющую обойти механизм защиты AMD Secure Encrypted Virtualization (http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/... (AMD SEV) и получить полный доступ к зашифрованному содержимому памяти виртуальной машины, защищённой при помощи SEV.Напомним, что технология SEV присутствует в последних поколениях процессоров AMD для серверных систем (AMD Epyc и Ryzen Pro) и
позволяет защитить виртуальные машины от компрометации со стороны гипервизора или администратора хост системы. Суть метода защиты в интеграции в архитектуру виртуализации AMD-V возможности для прозрачного шифрования памяти виртуальных машин, при которой доступ к расшифрованным данным имеет только текущая гостевая система, а остальные виртуальные машины и гипервизор при попытке обращения к этой памяти получают зашифрованные данные.
Предложенный исследователями метод атаки позволяет в случае компрометации системы виртуализации и получения контроля за гипервизором извлечь в открытом виде все данные, находящиеся в памяти виртуальных машин, защищённых при помощи AMD SEV. Для совершения атаки не требуется физический доступ к оборудованию или возможность влияния на процессы в атакуемой виртуальной машине. Достаточно наличия виртуальной машины с любым сетевым сервисом (например, HTTP, SSH, FTP или почтовый сервер), отдающим через сетевые соединения данные, присутствующие в зашифрованной памяти виртуальной машины.
В качестве демонстрации приведён пример атаки на web-сервер, отдающий HTML-страницы. При получении атакующими контроля за гипервизором наличие подобного сервиса позволяет полностью восстановить содержимое зашифрованной памяти гостевой системы. Атака состоит из двух стадий:На первой стадии выполняется идентификация ресурсов - определяются страницы физической памяти (GPA, Guest Physical Address), в которых находятся отдаваемые через сетевой сервис данные. Процесс трансляции адресов в виртуальных машинах напрямую скрыт от гипервизора из-за использования SEV-шифования, но имеются методы определения страниц памяти на основе субъективного сопоставления активности в памяти и сетевом сервисе, которые можно комбинировать для повышения точности определения принадлежности ресурса.
На второй стадии выполняется непосредственно извлечение данных из памяти виртуальных машин. На стороне гипервизора в HPT (Host Page Table) выполняется изменение маппинга GPA (Guest Physical Address) в HPA (Host Physical Address), при котором вместо адреса отдаваемого через сетевой сервис ресурса указываются другие страницы памяти. После изменения отражения страницы памяти сетевой сервис выдаёт вместо ожидаемого контента (например, буфера с HTML-страницей) содержимое другой области физической памяти (в том числе памяти другой гостевой системы). Повторяя операцию и постепенно проходя по всем страницам памяти можно получить содержимое всей зашифрованной памяти гостевых систем.Атака стала возможной из-за недоработки в архитектуре SEV, в которой трансляция виртуального адреса гостевой системы (GVA, Guest Virtual Address) в физический адрес гостевой системы (GPA, Guest Physical Address) контролируется исключительно самой виртуальной машиной, скрыто от гипервизора, но гипервизор по-прежнему отвечает за трансляцию SLAT (Second Level Address Translation), т.е может производить маппинг физических адресов гостевой системы (GPA) в физические адреса хост-системы (HPA, Host Physical Address). Подобная особенность даёт возможность гипервизору изменять раскладку памяти виртуальной машины.
В качестве полноценной меры для устранения выявленной уязвимости в дополнение к шифрованию требуется интеграция в процессоры системы контроля целостности страниц памяти гостевых систем, по аналогии с тем как это реализовано для анклавов на базе технологии Intel SGX. Так как данный метод защиты оценивается как требующий слишком сильной доработки чипа, при находящейся под вопросом целесообразности внесения таких усложнений для защиты виртуальных машин, предлагается упрощённый обходной путь - добавление проверки хэшей содержимого страниц памяти, привязанных к записям GPA.
URL: https://www.theregister.co.uk/2018/05/25/amd_epyc_sev_vm_enc.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=48663
Это все преподносят так, как будто любой мамин кулхацкер может провертуть такую аферу. Истерия какая то, что с мелтдауном, что тут.
Мамкин кулхацкер просто воспользуется готовым эксплоитом и все дела.
До этого этой штуки вообще небыло ( защиты виртуалки от гипервизора, и жили как-то )
Но да облака продавать сложнее будет, заказчику не скажешь уже - ваша виртуалка защищена даже от хозяина сервера :)
И действительно, кольца -1 не было никогда.
До этого при необходимости *доказывать* невмешательство использовали или xen (low-end), или aix (high-end/cost). Сейчас появляется подход к решению подобных задач средствами (например) qemu-*. Пройдёт ещё N лет, и этим можно будет пользоваться (надеюсь). Я — за.
Эпохальные события нынче. Будем надеяться на появление новых архитектур.
Наверное, просто время пришло.
К проблемам кокретных архитектур всё это ну никак не относится. А данный баг - вообще недоработка относительно нового механизма и не более
Вообще-то тенденция тревожная - дыры нынче в железе, а не только в софте. С супер-навороченными архитектурами это, конечно, совсем никак не связано...
Софт уже давно в железе, а не только в софте.
Дары в железе появились с момента когда его только ковать научились.
Просто раньше, когда наделали к нему еще кучу дырявого софта этого было достаточно. Сейчас появились области где просто ошибок в ПО недостаточно и стали ковырять железки.
Например в далекие уже 90тые годы был обнаружена дыра в процессоре 386 которая позволяла любой дос программе иметь доступ не к 1 мгб памяти а ко всем 4гб.
И т.д. и т.п.
Пообщайтесь с теми кто знает как работает мобильная связь. Там вообще симка это одна сплошная дыра
Обычная тенденция. Более сложные задачи - более сложные системы их решают - больше дыр. Не лечится, если не хотите откатиться по возможностям и быстродействию.
А "супер-навороченные архитектуры" это х86-гаунетцо, которое родом из 70-х?
F0 0F C7 C8
Лучше надейтесь на новые заворачивания гаек. Больше вероятность исполнения.
Дыра на дыре дырой погоняет. Пусть эти дырявые артихитектуры отправляются в утиль. Нам нужна абсолютно новая архитектура с революционной парадигмой построения!
Что, еще одна?!
> Нам нужнаКому это "нам"?
Значит ботам не нужна.
Теперь я понимаю, что взлом землянами компьютера космического корабля пришельцев в к/ф "День независимости" — не такая уж и фантастика.
И опять AMD FX осталься неуязвимым. :D
С тем же успехом можно сказать, что Ryzen, у которого в биосе отключено это шифрование, неуявзим.
Этож для полной виртуализации которая использует AMD-V
Становится всё очевиднее, что производителям процессоров лучше не лезть в область безопасности дальше абсолютно необходимого минимума.
>> Найден метод обхода механизма защиты AMD Secure Encrypted VirtualizationКто бы сомневался. Механизм защиты просто не внедрят без готового способа его обойти.
>Кто бы сомневался. Механизм защиты просто не внедрят без готового способа его обойти.Вареник срывает покровы с мировых заговоров!
Я что-то плохо понимаю, как вообще можно защитить виртуалку от хоста, если он вообще хост, а это вообще виртуалка. Банально, диск для виртуалки предоставляет кто? Не хост ли?)
Это примерно как защита детей от их же родителей - так же эффективно и полезно
Внезапно для дисков шифрование не проблема. Так что технология вполне нужная. Только вот у обоих производителей не работает, лол.
А пароль к диску откуда вводить будешь?
Можно вводить хоть через SSH. Можно по SSH получать со своего хоста. Вариантов полно, было бы желание.
И во всех этих вариантах надо сначала загрузить базовую систему с незашифрованного образа.
> И во всех этих вариантах надо сначала загрузить базовую систему с незашифрованного
> образа.ну как-бы можно, вопос как с этим заморочиться...
Но у этой технологии в принципе другие "покупатели", пока не сломали, это была та технология которая помогала продавать облака ( в т.ч. получастные ) со словами - даже нашему обслуживающему персоналу недоступны ваши данные.
тем не менее появилась такая потребность, начали искать способы как это сделать, пока получилось только частично.
Причем AMD с самого начала внедрения технологии так и говорила, что эта технология поможет в некоторых случаях защитить память виртуальных машин от прямого дампа, но не защитит от вредоносного гипервизора. Не понимаю, в чем здесь уязвимость как таковая. Это особенность технологии, о ней было заявлено с момента ее создания.
Не обязательно гипервизора. Любого драйвера который может подменять маппинг физической памяти для гипервизора.