Почему предсказатель ветки не может быть обучен другому процессу. - PullRequest
0 голосов
/ 29 октября 2018

В варианте Spectre 2 целевой буфер ветвления (BTB) может быть отравлен в другом процессе. Если предиктор ветвления также использует виртуальный адрес для индексации ветки, почему мы не можем обучить предиктору ветвления, как обучение BTB, в атаке Spectre v1?

1 Ответ

0 голосов
/ 07 ноября 2018

Если предиктор ветвления также использует виртуальный адрес для индексации ветки, почему мы не можем обучить предиктору ветвления, как обучение BTB, в атаке Spectre v1?

Простые ответы:

  1. Нам не известен виртуальный адрес другого процесса

  2. Поскольку это другой процесс, мы не можем напрямую вводить инструкции ЦП в другой процесс для доступа к необходимой памяти.

Подробнее:

Конечно, Spectre V1 и V2 используют одну и ту же уязвимость - предиктор ветвления. Основное отличие состоит в том, что V1 работает в одном и том же процессе, в то время как V2 работает среди процессов.

Типичным примером V1 является виртуальная машина JavaScript. Мы не можем получить доступ к памяти процесса из виртуальной машины, потому что виртуальная машина проверяет границы каждого доступа к памяти. Но используя Spectre V1, мы можем сначала обучить предсказатель ветвления для виртуальной машины, а затем спекулятивно получить доступ к памяти в текущем процессе.

Ситуация усложняется, если мы хотим получить доступ к другому процессу, то есть Spectre V2 . Во-первых, мы должны обучить предсказатель ветвления удаленного процесса. Есть много способов сделать это, в том числе, как вы упомянули: обучить локальный виртуальный адрес (если мы его знаем).

Тогда мы не можем просто попросить удаленный процесс «пожалуйста, прочитайте этот и этот секрет», поэтому мы должны использовать технику, называемую «программирование с возвратом», для умозрительного выполнения фрагментов кода, которые нам нужны внутри удаленного процесса.

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

...