-
- Косвенным образом a3r3(503 знак., 07.01.2018 16:07)
- В статье все описано. Запрещенная ячейка (1 байт) используется как индекс для доступа к одному из 256 элементов массива разрешенных ячеек. Далее по задержке можно выяснить, который именно элемент массива оказался в кэше, а значит - какое значение LightElf(29 знак., 07.01.2018 16:02)
- Очень просто - в спекулятивной ветке читается элемент своего массива по индексу, заданному искомым байтом. Оказавшийся в кэше элемент массива подскажет значение индекса. - ASDFS(07.01.2018 16:01)
- А с чего бы это ваш массив окажется по адресу спекулятивно прочитанной памяти? Если чтение было произведено из запрещенной для чтения памяти, то и в кэше этот байт будет принадлежать запрещенному адресу, а никак не вашему массиву. Т.е. в вашем Ксения(102 знак., 07.01.2018 16:10)
- Лучче ссыль на конкретный код приложу - LightElf(07.01.2018 17:26 - 19:24, ссылка)
- После того как мы взяли индекс массива нас запретный адрес больше не интересует и работаем мы исключительно с адресами нашего массива. В частности ищем какой элемент нашего массива был прочитан в рамках спекулятивного исполнения. - ASDFS(07.01.2018 16:14)
- Причем тут массивы и их индексы? Кэшируется только память! Т.е. память вашего массива прокэширована в одном месте, а спекулятивно добытые данные в другом. И эти кэши никак не могут перепутаться, чтобы вторые подлезли под первые. Адресацию вы Ксения(302 знак., 07.01.2018 16:24)
- Не нужно ничего читать. Измеряется скорость доступа к своим данным в кэш. Никаких формальных нарушений нет. - a3r3(07.01.2018 16:29)
- Ксюш, тебя клинит. Мы не пытаемся прочесть секретный байт, мы пытаемся узнать его значение. А для этого нам достаточно знать какой элемент массива был прочитан по индексу. - ASDFS(07.01.2018 16:28)
- Причем тут массивы и их индексы? Кэшируется только память! Т.е. память вашего массива прокэширована в одном месте, а спекулятивно добытые данные в другом. И эти кэши никак не могут перепутаться, чтобы вторые подлезли под первые. Адресацию вы Ксения(302 знак., 07.01.2018 16:24)
- А с чего бы это ваш массив окажется по адресу спекулятивно прочитанной памяти? Если чтение было произведено из запрещенной для чтения памяти, то и в кэше этот байт будет принадлежать запрещенному адресу, а никак не вашему массиву. Т.е. в вашем Ксения(102 знак., 07.01.2018 16:10)