SQUIP, нова атака, която засяга процесорите на AMD и води до изтичане на данни

група от iИзследователи от Техническия университет в Грац (Австрия), по-рано известен с разработването на атаките MDS, NetSpectre, Throwhammer и ZombieLoad, разкри нова атака на страничен канал (CVE-2021-46778) в опашката за планиране на процесора на AMD, използвана за планиране на изпълнението на инструкции в различни изпълнителни единици на процесора.

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

на AMD процесори, базирани на 1-ва, 2-ра и 3-та Zen микроархитектура поколение (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Са засегнати когато се използва технологията за едновременна многонишкова обработка (SMT).

Съвременните процесори използват суперскаларен дизайн, при който множество инструкции се изпълняват едновременно, за да се увеличи максимално производителността. Тези CPU обработват инструкции в конвейер през няколко етапа: (1) извличане, (2) декодиране, (3) програмиране/изпълнение и (4) извличане.

Атаката се основава на оценка на нивото на възникване на противоречие (ниво на конкуренция) в различни опашки на планировчика и се извършва чрез измерване на закъснения при стартиране на операции за проверка, извършени в друга SMT нишка на същия физически процесор. За анализ на съдържанието е използван методът Prime+Probe, който включва попълване на опашката с набор от референтни стойности и определяне на промените чрез измерване на времето за достъп до тях по време на презареждане.

Етапът на програма/изпълнение може да обработва инструкции неправилно, за да увеличи максимално паралелизма на ниво инструкции. Ние описваме накратко всеки от тези етапи:

-Търсене. Процесорът търси следващата инструкция за изпълнение от L1i кеша. 
-Декодирай. За да се позволи ефективно изпълнение, получените инструкции (макро операции) се декодират в една или повече по-прости микрооперации (µops) и се поставят в µop опашка. Тези µops се подават в бекенда, където се планират и изпълняват.
-График/Изпълнение. Планировчикът(ите) следи кои µops са готови за изпълнение (имат налични входове) и динамично ги планира (без ред) към наличните изпълнителни единици. Ядрото на процесора има множество изпълнителни единици и може да има множество аритметични и логически единици (ALU), изпълнителни единици за разклонения (BRU), единици за генериране на адреси (AGU).

По време на експеримента, изследователите успяха напълно да пресъздадат 4096-битов частен RSA ключ използва се за създаване на цифрови подписи с помощта на криптографската библиотека mbedTLS 3.0, която използва алгоритъма на Монтгомъри за повишаване на числото до степенен модул. За определяне на ключа бяха необходими 50.500 XNUMX следи.

Общото време за атака отне 38 минути. Демонстрират се варианти на атака, които осигуряват теч между различни процеси и виртуални машини, управлявани от KVM хипервайзора. Показано е също, че методът може да се използва за организиране на скрит трансфер на данни между виртуални машини със скорост от 0,89 Mbit/s и между процеси със скорост от 2,70 Mbit/s с процент грешки по-малък от 0,8%.

Ядрото на процесора е разделено на множество логически ядра или нишки, изпълняващи независими потоци от инструкции, но споделящи ресурси като L1i кеша. µops на тези нишки също споделят динамично изпълнителни единици, за да позволят по-високо общо използване. Разделянето на различни части на ядрото.
Извършва се чрез конкурентен обмен. Архитектурите AMD Zen позволяват две нишки
на ядро. Тези нишки могат да бъдат от една програма или от различни програми, управлявани от операционната система.

Процесорите на Intel не са податливи атака, защото използват една опашка за планиране, докато уязвимите AMD процесори използват отделни опашки за всяка изпълнителна единица.

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

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


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.