Re: Meltdown and Spectre
От: Vain Россия google.ru
Дата: 05.01.18 00:03
Оценка: 29 (3)
Здравствуйте, Cyberax, Вы писали:

C>Стали известны детали Meltdown и Spectre. Если кратко: всё плохо.

Уже и статью запилили: https://habrahabr.ru/post/346078/

Собственно, суть атаки то очень проста и достаточно красива:

  1. Сбрасываем кэш процессора.
  2. Читаем интересную нам переменную из адресного пространства ядра, это вызовет исключение, но оно обработается не сразу.
  3. Спекулятивно делаем чтение из массива, который располагается в нашем, пользовательском адресном пространстве, на основе значения переменной из пункта 2.
  4. Последовательно читаем массив и аккуратно замеряем время доступа. Все элементы, кроме одного, будут читаться медленно, а вот элемент, который соответствует значению по недоступному нам адресу.

Таким образом, объектом атаки является микроархитектура процессора, и саму атаку в софте не починить.


Т.е. читая последовательно байт за байтом из таблицы (как понимаю размером в 256) и замеряя время доступа к каждому байту, ловят значение этого самого байта за пределами юзер спейса.

А красово, а?

Хотя конечно есть тонкости, к примеру, исключение может прийти раньше, чем таблица будет прочитана до конца. Или каждый раз надо также сбрасывать кеш, потому-что сама таблица может быть закеширована, ну и т.д.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.