Нов вариант на хардуерната уязвимост Spectre в х86 процесорите

Нов вариант на хардуерната уязвимост Spectre в х86 процесорите

IT експерти от университетите на Вирджиния и Калифорния демонстрира нова хардуерна уязвимост, която дава възможност за осъществяване на нов вид атака срещу микроархитектурните структури на x86 процесорите, както на Intel, така и на AMD. Новата хардуерна уязвимост е открита чрез обратно инженерство на недокументираните възможности на централните процесори. Предложеният нов метод на атака е свързан с използването в х86 процесорите на междинен кеш за микрооперациите (micro-op cache), който може да се използва за извличане на информация, останала в този кеш по време на спекулативното изпълнение на процесорните инструкции.

С цел постигане на максимална оптимизация, процесорът започва да изпълнява някои инструкции в спекулативен режим, без да очаква завършването на изпълнението на предишните изчисления, и ако после се окаже, че прогнозата е била неправилна, последната операция се връща за повторно изпълнение, само че останалите и обработени по време на спекулативното изпълнение данни остават в този кеш, съдържанието на който може да бъде прочетено.

Експертите отбелязват, че новият метод е значително по производителя от атаката Spectre v1, осъществяването на новата атака е много трудно да бъде открито и тя не може да се блокира с досега използваните методи за защита от подобни атаки.

Новата атака засяга процесорите на Intel и AMD, произвеждани от 2011 година, включително фамилиите Intel Skylake и AMD Zen. Съвременни централни процесори разделят сложните процесорни инструкции на много по-прости RISC-подобни микрооперации, които се кешират в отделен кеш. Този кеш кардинално се различава от кешовете от по-високо ниво, не е директно достъпен и играе ролята на поточен буфер за бърз достъп до резултатите от декодирането на CISC инструкциите в RISC микроинструкции. Въпреки това, специалистите са намерили начин за създаване на специфични условия, възникващи при конфликтите за достъп до този кеш и даващ възможност да се прочете информацията от този кеш с микрооперации чрез анализа на разликите по време на изпълнението на едни или други специално подбрани действия.

При използването на новата атака, при която се използва кеша за микрооперации, експертите са успели да постигнат производителност от 965.59 Kbps при ниво на грешката 0,22% и 785.56 Kbps при използване корекция на грешките, в случай използване на едно и също адресно пространство и ниво на привилегиите. При изтичането на данни, обхващащо различни нива на привилегиите (между ядрото и адресното пространство на потребителя), производителността е на ниво 85.2 Kbps с използване корекция на грешките и 110.96 Kbps при ниво на грешките 4%.

При реализиране на същата атака срещу процесорите AMD Zen, при които има изтичане на данни между различните логически ядра на CPU, производителността е 250 Kbps при ниво на грешките 5.59% и 168.58 Kbps при използване корекция на грешките.

В сравнение с класическия Spectre v1, новата така е 2,6 пъти по-бърза.

Специалистите подчертават, че за защита от атаката срещу кеша на микро операциите се налагат промени, които много по-силно понижават производителността на процесорите в сравнение с класическия Spectre.



Източник: www.kaldata.com