Две атаки срещу механизма за предсказване на кеш канала в процесорите на AMD

Група изследователи от Техническия университет в Грац (Австрия), известни преди това с разработването на методи за атака MDS, NetSpectre, Хвърчащ чук и ZombieLoad, проведе проучване на хардуерни оптимизации, специфични за AMD процесори и разработи два нови метода за странични канални атаки, които манипулират изтичането на данни по време на работата на механизма за предсказване на LXNUMX кеш канала на AMD процесорите. Техниките могат да се използват за намаляване на ефективността на ASLR защитата, възстановяване на ключове в уязвими AES реализации и повишаване на ефективността на атаката Spectre.

Бяха идентифицирани проблеми при внедряването на механизма за предсказване на канала (way predictor) в кеша за данни от първо ниво (L1D) на процесора, използван за предсказване кой кеш канал съдържа определен адрес на паметта. Оптимизацията, използвана в процесорите на AMD, се основава на проверка на μ-тагове (μTag). μTag се изчислява чрез прилагане на специфична хеш функция към виртуалния адрес. По време на работа механизмът за предсказване на канала използва μTag, за да определи канала на кеша от таблицата. По този начин μTag позволява на процесора да се ограничи до достъп само до конкретен канал, без да търси във всички опции, което значително намалява консумацията на енергия на процесора.

Две атаки срещу механизма за предсказване на кеш канала в процесорите на AMD

По време на обратното инженерство на внедряването на системата за предсказване на канали в различни поколения процесори на AMD, пуснати от 2011 г. до 2019 г., бяха идентифицирани две нови техники за атака на страничен канал:

  • Collide+Probe - позволява на атакуващ да проследи достъпа до паметта за процеси, изпълнявани на едно и също логическо процесорно ядро. Същността на метода е да се използват виртуални адреси, които причиняват сблъсъци в хеш функцията, използвана за изчисляване на μTag за проследяване на достъпа до паметта. За разлика от атаките Flush+Reload и Prime+Probe, използвани при процесорите на Intel, Collide+Probe не използва споделена памет и работи без познаване на физически адреси.
  • Зареждане+Презареждане - позволява ви много точно да определите следите за достъп до паметта на едно и също физическо ядро ​​на процесора. Методът се основава на факта, че клетка с физическа памет може да бъде в L1D кеша само веднъж. Тези. достъпът до една и съща клетка от паметта на различен виртуален адрес ще доведе до изваждане на клетката от L1D кеша, позволявайки проследяване на достъпа до паметта. Въпреки че атаката разчита на споделена памет, тя не изчиства редовете на кеша, позволявайки стелт атаки, които не изчистват данните от кеша на последното ниво.

Въз основа на техниките Collide+Probe и Load+Reload, изследователите са демонстрирали няколко сценария за атака на страничен канал:

  • Показана е възможността за използване на методи за организиране на скрит индиректен комуникационен канал между два процеса, позволяващ трансфер на данни със скорост до 588 kB в секунда.
  • Използвайки сблъсъци в μTag, беше възможно да се намали ентропията за различни варианти на ASLR (произволно оформление на адресно пространство) и да се заобиколи ASLR защитата в ядрото на напълно актуализирана Linux система. Показана е възможността за извършване на атака за намаляване на ентропията на ASLR както от потребителски приложения, така и чрез използване на JavaScript код, изпълняван в среда на пясъчник, и код, изпълняван в друга гост среда.

    Две атаки срещу механизма за предсказване на кеш канала в процесорите на AMD

  • Въз основа на метода Collide+Probe беше реализирана атака за възстановяване на ключа за криптиране от уязвима реализация (базирана на Т-образна маса) AES криптиране.
  • Използвайки метода Collide+Probe като канал за събиране на данни, атаката Spectre успя да извлече частни данни от ядрото, без да използва споделена памет.

Уязвимостта възниква при процесори AMD, базирани на микроархитектури
Bulldozer, Piledriver, Steamroller, Zen (Ryzen, Epic), Zen+ и Zen2.
AMD беше уведомен за проблема на 23 август 2019 г., но досега не пусна доклада с информация за блокиране на уязвимостта. Според изследователите проблемът може да бъде блокиран на ниво актуализация на микрокод чрез предоставяне на MSR битове за селективно деактивиране на системата за предсказване на канала, подобно на това, което Intel направи, за да контролира деактивирането на механизмите за предсказване на разклонения.

Две атаки срещу механизма за предсказване на кеш канала в процесорите на AMD

Източник: opennet.ru

Добавяне на нов коментар