Откриха нова уязвимост в процесорите на Intel, AMD и Arm

Популярни съвременни чипове са уязвими на нов тип SLAM атака
(снимка: CC0 Public Domain)

Съществуващи и бъдещи процесори от най-популярните разработчици на пазара – Intel, AMD и Arm – са уязвими на атака, която позволява на нападателите да крадат пароли и ключове.

Група изследователи VUSec от Амстердамския университет Vrije, специализирана в системна и мрежова сигурност, откри нов тип атака SLAM (Spectre over LAM), която използва хардуерни функции, предназначени да подобрят сигурността на настоящи и бъдещи процесори от Intel, AMD и Arm, за да получи хеша на администраторската парола от паметта на ядрото.

SLAM използва функции на паметта, които позволяват на софтуера да осъществява достъп до нетранслирани битове в 64-битови линейни адреси, за да съхранява метаданни. Производителите на процесори прилагат тази функция по различни начини и използват различни термини, за да я обозначат. Intel я нарича Linear Address Masking (LAM), AMD – High Address Ignoring (UAI), а Arm – High Byte Ignoring (TBI), отбелязва Tom’s Hardware.

Независимо от името, дадено от производителя на процесора, LAM, UAI или TBI е предназначена да ускори защитата на физическата памет и управлението на RAM от процесора. Според Intel, LAM е разширение, което позволява на софтуера да намира метаданни в указатели на данни и да ги дереферира, без да се налага да маскира битовете метаданни. 

Атаката SLAM е насочена към съвременните чипове, като използва определени нива на “странирането” на паметта (“пейджинга”) и методи за контрол на разпределението на системната физическа памет в новите процесори.

По време на атаката се създава нов процес за временно изпълнение, който проверява набор от немаскирани инструкции, наречени „джаджи” в програмния код. Нападателят ще трябва да използва целеви системен код, който комуникира с тези джаджи, и след това да приложи набор от алгоритми за извличане на чувствителна информация, като администраторски пароли и други ключове за криптиране, от паметта на ядрото.

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

Успешна SLAM атака е демонстрирана на система с процесор Intel Core i9-13900K, работеща с ядрото на Linux 6.3.0. Опитът за използване на уязвимостта в система с процесор AMD Ryzen 7 2700X също е успешен. 

Изследователите от групата VUSec твърдят, че много други настоящи и бъдещи процесори и от трите основни разработчици не са защитени от SLAM атака, включително:

  • съществуващи AMD процесори с CVE-2020-12965 уязвимост;
  • бъдещи процесори Intel Sierra Forest, Grand Ridge, Arrow Lake и Lunar Lake с поддръжка на LAM (4- и 5-степенн пейджинг на паметта);
  • бъдещи процесори на AMD с поддръжка на UAI и пейджинг на паметта на 5 нива;
  • бъдещи процесори Arm с поддръжка на TBI и пейджинг на паметта на 5 нива.

Към момента този експлойт е независим от процесора, но е приложим само в различни версии на Linux – за тях вече е създадена временна корекция за деактивиране на LAM. Arm не вижда необходимост да предприема допълнителни действия срещу SLAM.

AMD твърди, че нейните предишни смекчаващи мерки срещу уязвимостта Spectre V2 също защитават от SLAM атака. Intel препоръчва на своите клиенти да приложат функцията с помощта на разширението за споделяне на линейно адресно пространство (LASS), за да предотвратят такъв достъп до ядрото.

Това е вторият хардуерен експлойт, открит тази седмица, който заобикаля наборите от инструкции за сигурност на процесора. Специалистите на VUSec са публикували кода и данните за възпроизвеждане на SLAM атаки в тяхното хранилище в GitHub.

Разкритието би трябвало да помогне на разработчиците на процесори да избегнат подобни пропуски в сигурността при проектирането на чипове от следващо поколение.

Коментари по темата: „Откриха нова уязвимост в процесорите на Intel, AMD и Arm”

добавете коментар...

  1. Радико

    И защо го наричате “уязвимост” ?????
    Кажете си право куме у очи:
    “Задна врата”

Коментар