К какой памяти можно получить доступ с помощью Meltdown и Spectre v1 / v2?

478
user4691

Я понимаю, что Meltdown может получить доступ к памяти ядра, поскольку программы в Windows, по крайней мере, совместно используют одно и то же пространство виртуальной памяти. У нас есть патч для этого, чтобы отобразить как можно больше данных ядра. Может ли Meltdown получить доступ к памяти других процессов?

Но как насчет Призрака 1/2? К какой памяти он может получить доступ? Может ли он получить доступ к памяти ядра как Meltdown? Может ли он получить доступ к памяти других процессов?

-1

1 ответ на вопрос

0
Jonathan Laperle

Как кратко упомянуто в статье об ошибках, современные операционные системы просто отображают всю физическую память в виртуальное адресное пространство ядра. Это означает, что для большинства целей и задач вы можете предполагать доступ к памяти ядра = доступ к памяти любых других процессов.

В блоге ProjectZero показано, что Spectre может использоваться для доступа к памяти ядра.

Вариант 1 может считывать память ядра, выполняя произвольный код в режиме ядра внутри песочницы (например, с помощью фильтра пакетов Беркли ), а затем использовать уязвимость для доступа к памяти вне песочницы.

Вариант 2 может получить к нему доступ, поскольку предсказание ветвлений работает в контексте безопасности, поэтому ветвь в пользовательском режиме может использоваться для обучения предсказанию ветвлений в режиме ядра.

Не знал, что все другие приложения отображаются в пространстве ядра. Это означает, что Meldown / Spectre может получить доступ к любым другим приложениям. user4691 6 лет назад 0
Это означает, что система x86 безопаснее, чем системы x64? user4691 6 лет назад 0

Похожие вопросы