Това няма да има край: GhostRace е хардуерна атака срещу механизма за спекулативно изпълнение в процесорите на Intel, AMD, ARM и IBM

Най-четени

Даниел Десподов
Даниел Десподов
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

Екип от изследователи от Свободния университет в Амстердам и IBM е разработил нов вариант на атака срещу механизма за спекулативно изпълнение в съвременните процесори. Той носи кодовото име GhostRace (CVE-2024-2193). Проблемът се проявява в процесорите, произвеждани от Intel, AMD, ARM и IBM. За да се демонстрират принципите на атаката, е публикуван прототип на експлойт, който позволява извличане на данни от паметта на ядрото на Linux със скорост 12 KB в секунда. Нивото на надеждност е типично за атаките от клас Spectre. При атаките срещу системите за виртуализация атакуващият от гостуваща система може да определи съдържанието на паметта на хост средата или на другите гостуващи системи.

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

Това няма да има край: GhostRace е хардуерна атака срещу механизма за спекулативно изпълнение в процесорите на Intel, AMD, ARM и IBM

Подобно на експлоатирането на уязвимостта Spectre v1, атаката GhostRace изисква наличието на определени последователности от инструкции (gadgets) в ядрото. Именно те водят до спекулативно изпълнение на код в зависимост от външните условия, които могат да бъдат повлияни от атакуващия. За целите на оптимизацията процесорът започва да изпълнява такива програмни фрагменти в спекулативен режим. Ноа ако след това установи, че предсказването на условния преход се е провалило, връща операциите в начално състояние.

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

Това няма да има край: GhostRace е хардуерна атака срещу механизма за спекулативно изпълнение в процесорите на Intel, AMD, ARM и IBM

За да се блокира атаката, се предлага да се използва сериализация на примитивите за синхронизация. Тоест да се добави процесорната инструкция LFENCE след инструкцията cmpxchq, която проверява състоянието на заключване. Методът за защита, предложен за включване в ядрото на Linux, води до намаляване на производителността с приблизително 5% при преминаване на теста LMBench. Причината е, че извикването LFENCE забранява изпреварващото изпълнение на следващите инструкции, преди да е приключило заключването на всички предишни операции.

Какво ще е забавянето в ОС Windows засега не е известно.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

Нови ревюта

Подобни новини