AMD разкрива нов клас уязвимости в своите процесори Zen 3 и Zen 4

уязвимост

е станало известно Информация за нова заплаха за сигурността на процесорите на AMD с разкриването на техника за микроархитектурна атака кръстен като TSA (Атака с преходна спекулация или атака с преходен планировчик).

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

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

Какво е TSA и как компрометира сигурността?

Временна спекулативна атака или TSA, експлоатира спекулативно изпълнение и вътрешни структури процесор за достъп до информация които при нормални условия би трябвало да останат напълно изолирани между процесите или между гост системите във виртуална машина.

Атаката се основава на условие, известно като „фалшиво завършване“ на инструкция, при която процесорът, приемайки, че са налични определени данни (например в L1 кеша), преждевременно стартира спекулативни операции, които зависят от резултата от тази инструкция.

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

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

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

CVE-2024-36350 и CVE-2024-36357

Идентифицирани са два специфични варианта на атаката на TSA:

  • CVE-2024-36350 (TSA-SQ): Експлоатация на буфера за запис (Store Queue), която позволява извеждане на резултата от операциите за запис в паметта.
  • CVE-2024-36357 (TSA-L1): Експлоатация на кеша на данни от първо ниво (L1D), чрез който може да се извлече информация, обработена на ниво ядро.

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

Кои процесори са засегнати?

Заплахата засяга процесорите на AMD, базирани на микроархитектурите Zen 3 и Zen 4. Това включва широка гама от продукти както за крайни потребители, така и за центрове за данни:

  • AMD Ryzen 5000, 6000, 7000 и 8000.
  • AMD EPYC Милано, Милано-X, Генуа, Генуа-X, Бергамо и Сиена.
  • AMD Instinct MI300A.
  • AMD Ryzen Threadripper PRO 7000 WX.
  • Вградени AMD EPYC 7003, 8004, 9004 и 97X4.
  • Вградени AMD Ryzen 5000, 7000 и V3000.

Фактът, че TSA засяга толкова широка част от текущия каталог на AMD, го прави риск за сигурността на високо ниво.

Налични смекчаващи мерки и съображения

AMD е разработила смекчаващи мерки които се разпространяват чрез актуализации на фърмуера от декември насам. Тези корекции включват корекции на фърмуера на PI (Инициализация на платформата), изпратена до OEM производителите, и също така се интегрират в операционни системи и платформи за виртуализация.

В случай наВ Linux са предложени пачове за ядрото които позволяват Деактивирайте защитата, като използвате опцията tsa=off от командния редТази възможност се предлага, защото, въпреки че смекчаването блокира атаката, то може също така да доведе до влошаване на производителността на системата.

Хипервизорът Xen също така е включила мерки за смекчаване риска, породен от TSA, консолидирайки позицията си срещу заплахи, насочени към виртуализационната инфраструктура.

TSA се присъединява към нарастващия списък от атаки, които експлоатират спекулативно изпълнение да изтичат чувствителни данни от хардуера, както са правили Meltdown, Spectre и други производни навремето. Тази нова уязвимост подчертава сложността на поддържането на сигурността в съвременните архитектури, които дават приоритет на производителността чрез оптимизации като предвиждане на инструкции.

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