paint-brush
Микроархитектурная безопасность AWS Firecracker VMM: заключение, благодарности и ссылкик@autoencoder
445 чтения
445 чтения

Микроархитектурная безопасность AWS Firecracker VMM: заключение, благодарности и ссылки

Слишком долго; Читать

В этой исследовательской работе исследуется, насколько безопасен Firecracker от микроархитектурных атак.
featured image - Микроархитектурная безопасность AWS Firecracker VMM: заключение, благодарности и ссылки
Auto Encoder: How to Ignore the Signal Noise HackerNoon profile picture
0-item

Авторы:

(1) Зейн Вайсман, Вустерский политехнический институт, Вустер, Массачусетс, США {[email protected]};

(2) Томас Айзенбарт, Университет Любека Любек, Шотландия, Германия {[email protected]};

(3) Торе Тиманн, Университет Любека Любек, Ш., Германия {[email protected]};

(4) Берк Сунар, Вустерский политехнический институт, Вустер, Массачусетс, США {[email protected]}.

Таблица ссылок

6. ВЫВОДЫ

Облачные технологии постоянно меняются, чтобы удовлетворить потребности своих клиентов. В то же время CSP стремятся к максимизации эффективности и прибыли, что стимулирует бессерверных CSP к чрезмерному выделению доступных вычислительных ресурсов. Хотя это разумно с экономической точки зрения, результирующее поведение системы может оказаться катастрофическим в контексте микроархитектурных атак, использующих общие аппаратные ресурсы. За последние несколько лет ландшафт микроархитектурных угроз менялся часто и быстро. Существуют меры по смягчению последствий, которые достаточно хорошо работают для предотвращения многих атак, но они часто приводят к значительным затратам производительности, что вынуждает CSP искать компромисс между экономической ценностью и безопасностью. Более того, некоторые микроархитектурные атаки просто не защищены существующими средствами защиты. Клиенты CSP имеют мало контроля над развернутой микроархитектурной защитой и должны доверять своим поставщикам, чтобы идти в ногу с темпами развития микроархитектурных атак и средств защиты. Для глубокоэшелонированной защиты требуется безопасность на каждом уровне: от микрокода до VMM и контейнера. Каждую систему необходимо рассматривать как единое целое, поскольку некоторые средства защиты на одном уровне системы могут открыть уязвимости на другом.


Мы показали, что контрмеры по умолчанию, рекомендованные для Firecracker VMM, недостаточны для достижения целей изоляции. Фактически, многие из протестированных векторов атак показали утечку информации, хотя контрмеры были на месте. Мы определили вариант индексации/блочной записи кэша Medusa как вектор атаки, который работает только на виртуальных машинах, то есть с дополнительными механизмами изоляции. Кроме того, мы показали, что отключение SMT — дорогостоящего метода смягчения последствий, рекомендованного и выполняемого AWS, — не обеспечивает полной защиты от вариантов Medusa. Вышеупомянутый вариант Medusa и Spectre-PHT по-прежнему способны передавать информацию между арендаторами облака, даже если SMT отключен, пока атакующий и целевой потоки продолжают конкурировать за аппаратные ресурсы одного и того же физического ядра ЦП. К сожалению, это неизбежно происходит в бессерверных средах с высокой плотностью размещения. В настоящее время бессерверные CSP должны сохранять бдительность, поддерживать актуальность встроенного ПО и использовать все возможные средства защиты от микроархитектурных атак. Пользователи должны не только доверять выбранным ими CSP, чтобы поддерживать актуальность и правильную настройку своих систем, но также осознавать, что некоторые микроархитектурные уязвимости, особенно некоторые варианты Spectre, все еще могут пересекать границы сдерживания. Более того, конструкции процессоров продолжают развиваться, а спекулятивное и внеочередное выполнение остаются важными факторами повышения производительности от поколения к поколению. Таким образом, маловероятно, что мы увидели последнюю из новых микроархитектурных уязвимостей, как показывает недавняя волна вновь обнаруженных атак [36, 47, 53].

БЛАГОДАРНОСТИ

Работа выполнена при поддержке Немецкого исследовательского фонда (DFG) в рамках грантов № 439797619 и 456967092, Федерального министерства образования и исследований Германии (BMBF) в рамках грантов SASVI и SILGENTAS, Национального научного фонда (NSF) в рамках гранта CNS- 2026913 и частично за счет гранта Национального исследовательского фонда Катара.

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА

[1] Александру Агаче, Марк Брукер, Александра Йордаке, Энтони Лигуори, Рольф Нойгебауэр, Фил Пивонка и Диана-Мария Попа. 2020. Firecracker: облегченная виртуализация для бессерверных приложений. В НСДИ. Ассоциация USENIX, 419–434.


[2] Алехандро Кабрера Алдайя и Билли Боб Брамли. 2022. HyperDegrade: эффективные частоты процессора от ГГц до МГц. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 2801–2818 гг.


[3] Алехандро Кабрера Алдайя, Билли Боб Брамли, Сохаиб уль Хасан, Сезар Перейда Гарсия и Никола Тувери. 2019. Борьба за порты ради развлечения и прибыли. На симпозиуме IEEE по безопасности и конфиденциальности. ИИЭР, 870–887.


[4] Веб-сервисы Amazon. 2023. AWS Фаргейт. https://docs.aws.amazon.com/eks/latest/userguide/fargate.html, доступ: 17 августа 2023 г. [5] Веб-службы Amazon. 2023. Возможности AWS Lambda. https://aws.amazon.com/lambda/features/, доступ: 17 августа 2023 г.


[6] Веб-сервисы Amazon. 2023. Дизайн фейерверка. https://github.com/firecrackermicrovm/firecracker/blob/9c51dc6852d68d0f6982a4017a63645fa75460c0/docs/design.md.


[7] Веб-сервисы Amazon. 2023. Тюремщик фейерверков. https://github.com/firecracker-microvm/firecracker/blob/main/docs/jailer.md. доступ: 14 августа 2023 г.


[8] Веб-сервисы Amazon. 2023. Рекомендации по настройке производственного хоста. https://github.com/firecracker-microvm/firecracker/blob/9ddeaf322a74c20cfb6b5af745112c95b7cecb75/docs/prod-host-setup.md. доступ: 22 мая 2023 г.


[9] Абхирам Баласубраманян, Марек С. Барановский, Антон Бурцев, Ауроджит Панда, Звонимир Ракамарич и Леонид Рыжик. 2017. Системное программирование в Rust: за пределами безопасности. В ХоОСе. АКМ, 156–161.


[10] Энрико Барберис, Пьетро Фриго, Мариус Мюнх, Герберт Бос и Криштиану Джуффрида. 2022. Внедрение истории ветвей: эффективность аппаратных средств защиты от атак Spectre-v2 с перекрестным доступом. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 971–988.


[11] Атри Бхаттачарья, Александра Сандулеску, Матиас Нойгшвандтнер, Алессандро Сорниотти, Бабак Фальсафи, Матиас Пайер и Анил Курмус. 2019. SMoTherSpectre: Использование спекулятивного исполнения посредством конкуренции за порты. В СКС. АКМ, 785–800.


[12] Джо Ван Балк, Дэниел Могими, Майкл Шварц, Мориц Липп, Марина Минкин, Дэниел Генкин, Юваль Яром, Берк Сунар, Дэниел Грусс и Фрэнк Писсенс. 2020. LVI: перехват временного выполнения посредством микроархитектурного внедрения значений нагрузки. На симпозиуме IEEE по безопасности и конфиденциальности. IEEE, 54–72.


[13] Клаудио Канелла, Джо Ван Балк, Михаэль Шварц, Мориц Липп, Бенджамин фон Берг, Филипп Ортнер, Франк Писсенс, Дмитрий Евтюшкин и Дэниел Грусс. 2019. Систематическая оценка временных атак и защиты. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 249–266.


[14] Клаудио Канелла, Дэниел Генкин, Лукас Гинер, Дэниел Грусс, Мориц Липп, Марина Минкин, Дэниел Могими, Фрэнк Писсенс, Михаэль Шварц, Берк Сунар, Джо Ван Балк и Юваль Яром. 2019. Последствия: утечка данных об устойчивых к расплавлению процессорах. В СКС. АКМ, 769–784.


[15] Клаудио Канелла, Джо Ван Балк, Майкл Шварц, Дэниел Грусс, Кэтрин Исдон и Саагар Джа. 2019. Временный сбой [Исходный код]. https://github.com/IAIK/transientfail


[16] Госин Чен, Санчуань Чен, Юань Сяо, Иньцянь Чжан, Чжицян Линь и Тен-Хван Лай. 2019. SgxPectre: кража секретов Intel из анклавов SGX посредством спекулятивного исполнения. В ЕвроС&П. IEEE, 142–157.


[17] Мари Долезелова, Милан Навратил, Ева Майор Синова, Петер Ондрейка, Дуглас Сайлас, Мартин Прпич и Рюдигер Ландманн. 2020. ˘ Red Hat Enterprise Linux 7 Руководство по управлению ресурсами. Использование контрольных групп для управления системными ресурсами в RHEL. Red Hat, Inc. https://access.redhat.com/documentation/enus/red_hat_enterprise_linux/7/pdf/resource_management_guide/red_hat_ Enterprise_linux-7-resource_management_guide-en-us.pdf, доступ: 17 августа 2023 г.


[18] Джейкоб Фустос, Майкл Гаррет Бектел и Хичоль Юн. 2020. SpectreRewind: утечка секретов прошлых инструкций. В ASHES@CCS. АКМ, 117–126.


[19] Дэниел Грусс, Мориц Липп, Майкл Шварц, Ричард Феллнер, Клементина Морис и Стефан Мангард. 2017. KASLR мертв: да здравствует KASLR. В ESSoS (Конспекты лекций по информатике, Том 10379). Спрингер, 161–176.


[20] Паван Гупта. 2020. TAA - Асинхронное прерывание TSX. Организация ядра Linux. https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html, доступ: 17 августа 2023 г.


[21] Тайлер Хикс. 2019. MDS - Выборка микроархитектурных данных. Организация ядра Linux. https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html, доступ: 17 августа 2023 г.


[22] Ян Хорн. 2018. Спекулятивное исполнение, вариант 4: спекулятивный обход магазина. https://bugs.chromium.org/p/project-zero/issues/detail?id=1528, доступ: 17 августа 2023 г.


[23] Интел. 2018. Меры по смягчению последствий спекулятивного исполнения по побочным каналам. https: //www.intel.com/content/dam/develop/external/us/en/documents/336996-speculative-execution-side-channel-mitigations.pdf. обр. Доступ к версии 3.0: 22 марта 2023 г.


[24] Интел. 2019. Асинхронное прерывание расширений Intel Transactional Synchronization Extensions (Intel TSX). Технический отчет. Корпорация Intel https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technicaldocumentation/intel-tsx-asynchronous-abort.html, доступ: 17 августа 2023 г. .


[25] Интел. 2019. Выборка микроархитектурных данных. Технический отчет. Корпорация Intel https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/intel-analysismicroarchitectural-data-sampling.html ver. 3.0, доступ: 17 августа 2023 г.


[26] Интел. 2020. Выборка векторного регистра. Технический отчет. Intel Corp. https: //www.intel.com/content/www/us/en/developer/articles/technical/softwaresecurity-guidance/advisory-guidance/vector-register-sampling.html, доступ: 17 августа 2023 г.


[27] Брайан Йоханнесмайер, Якоб Кошель, Каве Разави, Герберт Бос и Криштиану Джуффрида. 2022. Каспер: сканирование гаджетов обобщенного временного выполнения в ядре Linux. В НДСС. Интернет-сообщество.


[28] Владимир Кирианский и Карл А. Вальдспургер. 2018. Спекулятивные переполнения буфера: атаки и защита. КоРР абс/1807.03757 (2018).


[29] Ави Кивив, Янив Камай, Дор Лаор, Ури Любин и Энтони Лигуори. 2007. kvm: монитор виртуальной машины Linux. На симпозиуме Linux, Vol. 1. kernel.org, 225–230.


[30] Пауль Кохер, Ян Хорн, Андерс Фог, Даниэль Генкин, Даниэль Грусс, Вернер Хаас, Майк Гамбург, Мориц Липп, Стефан Мангард, Томас Прешер, Михаэль Шварц и Юваль Яром. 2019. Призрачные атаки: использование спекулятивного исполнения. На симпозиуме IEEE по безопасности и конфиденциальности. IEEE, 1–19.


[31] Исмаил Мохаммадиан Коруе, Халед Н. Хасауна, Ченгью Сонг и Наэль Б. Абу-Газале. 2018. Призрак возвращается! Спекулятивные атаки с использованием буфера стека возврата. На симпозиуме по безопасности WOOT @ USENIX. Ассоциация ЮСЕНИКС.


[32] Мориц Липп, Михаэль Шварц, Дэниел Грусс, Томас Прешер, Вернер Хаас, Андерс Фог, Ян Хорн, Стефан Мангард, Пауль Кохер, Даниэль Генкин, Юваль Яром и Майк Гамбург. 2018. Meltdown: чтение памяти ядра из пользовательского пространства. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 973–990.


[33] Георгий Майсурадзе и Кристиан Россов. 2018. ret2spec: Спекулятивное выполнение с использованием буферов стека возврата. В СКС. АКМ, 2109–2122 гг.


[34] Дебора Т. Марр, Фрэнк Биннс, Дэвид Л. Хилл, Гленн Хинтон, Дэвид А. Куфати, Дж. Алан Миллер и Майкл Аптон. 2002. Архитектура и микроархитектура технологии Hyper-Threading. Intel Technology Journal 6, 1 (2002), 4–15.


[35] Дэниел Могими. 2020. Репозиторий кода Medusa [Исходный код]. https://гитхаб. ком/flowyroll/медуза


[36] Дэниел Могими. 2023. Падение: использование спекулятивного сбора данных. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 7179–7193.


[37] Дэниел Могими, Мориц Липп, Берк Сунар и Майкл Шварц. 2020. Медуза: утечка микроархитектурных данных посредством автоматического синтеза атак. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 1427–1444 гг.


[38] Шраван Нараян, Крейг Дисселькоен, Дэниел Могими, Санджай Каулиджи, Эван Джонсон, Чжао Ган, Аньо Валдик-Обервагнер, Рави Сахита, Ховав Шачам, Дин М. Таллсен и Дейан Стефан. 2021. Swivel: усиление защиты WebAssembly от Spectre. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 1433–1450 гг.


[39] Даг Арне Освик, Ади Шамир и Эран Тромер. 2006. Атаки на кэш и меры противодействия: случай AES. В CT-RSA (Конспекты лекций по информатике, Том 3860). Спрингер, 1–20.


[40] Антон Пурнал, Фуркан Туран и Ингрид Вербауведе. 2021. Prime+Scope: преодоление эффекта наблюдателя при атаках на высокоточные конфликты в кэше. В СКС. АКМ, 2906–2920.


[41] Qumranet Inc., 2006. KVM: Драйвер виртуализации на основе ядра, Технический документ. Технический отчет. Qumranet Inc. https://docs.huihoo.com/kvm/kvm-white-paper.pdf, доступ: 17 августа 2023 г.


[42] Хани Рагаб, Энрико Барберис, Герберт Бос и Криштиану Джуффрида. 2021. Ярость против машинной очистки: систематический анализ машинной очистки и их последствий для атак временного выполнения. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 1451–1468 гг.


[43] Томас Рокицки, Клементина Морис, Марина Ботвинник и Йосси Орен. 2022. Конфликт портов становится переносимым: побочные каналы конфликта портов в веб-браузерах. В АзииCCS. АКМ, 1182–1194.


[44] Томас Рокицки, Клементина Морис и Майкл Шварц. 2022. Конфликт портов ЦП без SMT. В ESORICS (3) (Конспекты лекций по информатике, Том 13556). Спрингер, 209–228.


[45] Дэвид Шраммель, Сэмюэл Вайзер, Стефан Штайнеггер, Мартин Шварцль, Михаэль Шварц, Стефан Мангард и Дэниел Грусс. 2020. Donky: Ключи домена — эффективная внутрипроцессная изоляция для RISC-V и x86. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 1677–1694 гг.


[46] Майкл Шварц, Мориц Липп, Дэниел Могими, Джо Ван Балк, Джулиан Стеклина, Томас Прешер и Дэниел Грусс. 2019. ZombieLoad: выборка данных между правами и границами. В СКС. АКМ, 753–768.


[47] Даниэль Трухильо, Йоханнес Викнер и Каве Разави. 2023. Начало: выявление новых поверхностей атаки с помощью обучения переходному выполнению. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 7303–7320.


[48] Пол Тернер. 2018. Retpoline: программная конструкция для предотвращения внедрения ветвей. https://support.google.com/faqs/answer/7625886. доступ: 22 марта 2023 г.


[49] Аньо Вальдик-Обервагнер, Эслам Эльникети, Нуно О. Дуарте, Майкл Саммлер, Питер Друшель и Дипак Гарг. 2019. ERIM: Безопасная и эффективная внутрипроцессная изоляция с помощью ключей защиты (MPK). На симпозиуме по безопасности USENIX. Ассоциация USENIX, 1221–1238 гг.


[50] Стефан ван Шайк, Алисса Милберн, Себастьян Остерлунд, Пьетро Фриго, Георгий Майсурадзе, Каве Разави, Герберт Бос и Криштиану Джуффрида. 2019. RIDL: Несанкционированная загрузка данных в полете. На симпозиуме IEEE по безопасности и конфиденциальности. IEEE, 88–105.


[51] Стефан ван Шайк, Алисса Милберн, genBTC, Пол Мензель, jun1x, Стивен Китт,pit fr, Себастьян Остерлунд и Криштиану Джуффрида. 2020. RIDL [Исходный код]. https://github.com/vusec/ridl


[52] Йоханнес Викнер и Каве Разави. 2022. RETBLEED: выполнение произвольного спекулятивного кода с инструкциями возврата. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 3825–3842.


[53] Йоханнес Викнер, Даниэль Трухильо и Каве Разав. 2023. Фантом: использование неверных прогнозов, обнаруживаемых декодером. В МИКРО (чтобы появиться). IEEE.


[54] Юваль Яром и Катрина Фолкнер. 2014. FLUSH+RELOAD: атака по боковому каналу кэша L3 с высоким разрешением и низким уровнем шума. На симпозиуме по безопасности USENIX. Ассоциация USENIX, 719–732.


[55] Итан Г. Янг, Пэнфэй Чжу, Тайлер Караза-Хартер, Андреа К. Арпачи-Дюссо и Ремзи Х. Арпачи-Дюссо. 2019. Истинная стоимость сдерживания: пример использования gVisor. В ХотКлауде. Ассоциация ЮСЕНИКС.


Этот документ доступен на arxiv под лицензией CC BY-NC-ND 4.0 DEED.