S$A: Атака на общий кэш, работающая между ядрами и обходящая изоляцию виртуальных машин, и её применение к AES

S$A: A Shared Cache Attack That Works across Cores and Defies VM Sandboxing -- and Its Application to AES
Berk Sunar, Gorka Irazoqui, Thomas Eisenbarth
2015-05-01

восстановление ключа AESмежвиртуальная побочная атакамежъядерная атака на кэшогромные страницы памятиобщий кэш последнего уровня
Облачная вычислительная инфраструктура опирается на виртуализированные серверы, обеспечивающие изоляцию гостевых операционных систем посредством песочниц. В предыдущих работах было показано, что эта изоляция несовершенна: аппаратные утечки информации позволяют получать доступ к конфиденциальным данным между виртуальными машинами (ВМ), размещёнными на одном физическом узле. В ответ компании — разработчики средств виртуализации и поставщики облачных сервисов — отключили такие функции, как дедупликация, чтобы предотвратить подобные атаки. В настоящей работе мы представляем мелкодискретную межъядерную атаку на кэш, использующую вариации времени доступа к кэшу последнего уровня. Атака использует страницы большого размера и работает через границы ВМ без необходимости дедупликации. Изменение конфигурации операционной системы жертвы не требуется, что делает атаку практически осуществимой. Кроме того, требуется лишь совместное размещение на одной физической машине; целевая и атакуемая операционные системы могут находиться на разных ядрах этой машины. Наша новая атака представляет собой разновидность атаки на кэш по схеме prime-and-probe, применимость которой в то время ограничивалась кэшем L1. В отличие от неё, наша атака действует в духе атаки flush-and-reload, нацеливаясь на общий кэш L3. Изменяя размер страницы большого размера, атаку можно адаптировать для работы практически с любым уровнем или размером кэша. Мы демонстрируем работоспособность атаки, нацелившись на реализацию AES в OpenSSL 1.0.1f. Атака извлекает ключи AES в меж-ВМ-сценарии на Xen 4.1 при отключённой дедупликации и лишь немного уступает по эффективности атаке flush-and-reload. Поскольку страницы большого размера являются стандартной функцией, поддерживаемой блоком управления памятью операционных систем, а помимо совместного размещения не требуется никаких дополнительных предположений, представленная атака создаёт значительный риск для существующих облачных серверов.
1
Поскольку огромные страницы широко включены, а кроме совместного размещения дополнительных предположений не требуется, атака представляет значительный риск для облачных серверов.
2
Используя огромные страницы и вариации времени доступа, метод нацелен на общий кэш L3 и может адаптироваться практически к любому уровню или размеру кэша.
3
Представлена мелкодисперсная межъядерная атака на кэш последнего уровня, пересекающая границы виртуальных машин без дедупликации памяти и изменений в ОС жертвы.
4
Для атаки требуется только физическое совместное размещение; виртуальные машины атакующего и жертвы могут работать на разных ядрах процессора.
5
Метод восстанавливает ключи AES из OpenSSL 1.0.1f между виртуальными машинами в Xen 4.1 при отключённой дедупликации, лишь немного уступая Flush+Reload по эффективности.

поведение кэш-памяти последнего уровня между виртуальными машинами на виртуализированных облачных серверах, продемонстрированное на реализации AES в OpenSSL

мелкозернистые межъядерные вариации времени доступа к кэшу, позволяющие восстанавливать ключ AES через границы виртуальных машин без дедупликации

Publication Details
Publication Date
2015-05-01
Journal
Publisher
ISSN
Access Type
Author Information
Authors
Berk Sunar
Gorka Irazoqui
Thomas Eisenbarth
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%