Експлойт заобикаля съществуващите Spectre-V2 защити за процесори Intel и Arm

Колеги разкриха нова техника, която може да бъде използвана за заобикаляне на съществуващите защити в съвременните процесори от Intel, AMD и Arm и да организират спекулативни атаки за изпълнение като Spectre за изтичане на чувствителна информация от паметта на хоста.

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

Производителите на чипове имплементират както софтуерни, така и хардуерни защити, включително Retpoline, както и предпазни мерки като Enhanced Indirect Branch Restricted Speculation (eIBRS) и Arm CSV2, но най-новият метод, демонстриран от VUSec успява да заобиколи всички тези защити.

Наречен Branch History Injection (BHI или Spectre-BHB), това е нов вариант подобна на Spectre-V2 атаки (проследени като CVE-2017-5715), който заобикаля, както eIBRS, така и CSV2, като изследователите го описват като „чист от край до край експлойт” изтичане на произволна памет от ядрото на съвременните процесори на Intel.

„Хардуерните защити не позволяват на непривилегирован нападател да инжектира записи в предсказателния сектор за ядрото“, поясняват изследователите.

„Въпреки това, предикторът разчита на глобална история, за да избере целевите записи за спекулативно изпълнение. Нападателят може да отрови тази история, за да принуди ядрото да прогнозира погрешно към по-„интересни“ цели на ядрото (т.е. джаджи), така изтичат данни“, добавя групата за системи и мрежова сигурност във университета Vrije.

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

Spectre-BHB прави уязвими всички процесори Intel и Arm, които преди това са били засегнати от Spectre-V2, заедно с редица чипсети от AMD, което кара трите компании да пуснат софтуерни актуализации, за да отстранят проблема.

Intel препоръчва на клиентите си да деактивират непривилегированите разширени филтри за пакети Berkeley (eBPF) на Linux, да активират както eIBRS, така и превенцията на изпълнение в режим на надзорник (SMEP) и да добавят „LFENCE към определени идентифицирани джаджи, за които е установено, че могат да се експлоатират“.

„Защитите на Intel eIBRS и на Arm CSV2 работят по предназначение, но остатъчната повърхност на атака е много по-значителна, отколкото първоначално предполагаха доставчиците“, коментираха колегите.

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