ТОНТОУ: Нови напад Spectre v2 на AMD и Intel

Кључне тачке:
  • TONTOU користи временски размак између чишћења предвиђајућег бафера и његове употребе.
  • Нападачи користе „Interrupt Injection“ да би преусмерили ток језгра и контаминирали машинерију за предвиђање.
  •  Утиче на AMD-ове Zen 1 до 4 архитектуре и више генерација Intel процесора.
  • Закрпе за ублажавање су већ укључене у недавна ажурирања језгра Линукса (5. августа).

Напад на Тонтоу

Да ли је могуће да је управо брзина вашег процесора оно што угрожава вашу безбедност? Да бисмо разумели како процесори постижу своју брзину , морамо узети у обзир да они раде тако што „предвиђају будућност“... Не, нису магични нити имају малу кристалну куглу...

Процесори раде тако што уместо да чекају да виде којом путањом ће програм кренути, чип предвиђа вероватну руту и ​​антиципира је. Ако је предвиђање нетачно, рад се одбацује, али трагови остају у меморији. Ту долази до изражаја Spectre , једна од најзначајнијих рањивости откривених последњих година. Од свог открића, нападачи су научили како да читају ове трагове, стварајући све софистицираније варијанте; TONTOU је једна од тих нових рањивости.

Истраживачи са МИТ-а открили су ТОНТОУ (од времена неутрализације до времена употребе), софистицирану нову технику за искоришћавање рањивости Spectre v2 , која омогућава читање меморије језгра из корисничког простора.

Иако произвођачи и програмери годинама дизајнирају различите механизме заштите од предиктивних напада, нападачи су успели да открију нове руте, а ова нова CSAIL студија показује како заобићи ове заштите.

Истраживачи су открили да постоји неизбежан временски јаз између тренутка када се бафер обрише и тренутка када се предвиђања користе, и управо у том малом јазу се код (понекад само неколико инструкција) убризгава кроз системске прекиде, што омогућава поновну контаминацију хардвера и издвајање критичних података.

У вези са нападом: Прекиди и кршење Safe-RET-а

AMD има одбрану од SRSO (Speculative Return Stack Overflow) рањивости под називом Saferet, која чисти машинерију за предвиђање непосредно пре сваке употребе. Ово оставља прозор рањивости који се може искористити за неколико десетина наносекунди. Да би напали тако мали прозор, истраживачи су развили технику коју су назвали Interrupt Injection (Убризгавање прекида).

Процесори стално паузирају своје задатке како би обрађивали прекиде, а уобичајени програми могу да конфигуришу ове тајмере . Имајући ово у виду, истраживачи су прецизно подесили тајмер и, користећи технику за успоравање процесора, изазвали прекид процесора у тачно погрешном тренутку . Током овог прекида, нападач може да примора да се изврши велики број позива, препуњавајући адресни стек. Када се погрешно извршавање заврши, процесор одбацује процес, али приступљени подаци остају у дељеним кеш меморијама , одакле се могу извући анализом времена приступа.

Екстракција лозинки и тестирање на стварним системима

Да би демонстрирали озбиљност TONTOU хака, тим је направио функционалан експлоит на AMD систему који покреће тренутни Linux кернел. Прва препрека је била заобилажење одбране која насумично одређује позицију оперативног система у меморији, што су успели да ураде у десет покушаја, трајајући око девет минута по тесту.

Након тога, демонстрирали су локални напад као непривилеговани корисник како би утврдили хеш root лозинке, успешно издвајајући податке брзином од 5.47 бајтова у секунди са тачношћу од 91.97%. У 50% тестова (који су у просеку трајали 18 минута), успешно су детектовали и издвојили садржај датотеке са лозинком. Иако је ово мала брзина, више је него довољна да критично угрози сервер.

Утицај на Intel, AMD и закрпу за ублажавање

Тим је тестирао четири генерације Интелових и АМД процесора, постижући неуспехе у предвиђању на обе архитектуре. Иако се техника показала одрживом на АМД-овим Zen 1 до 4 породицама , на Интеловим чиповима напад је заобишао две различите заштите , иако је примећено недоследно понашање између различитих Интелових генерација, што сугерише да су номиналне одбране различито имплементиране у хардверу.

Као решење, истраживачи предлажу брисање механизма за предвиђање по други пут након што се прекид заврши. Иако се ова мера чини одрживом за АМД, могла би бити контрапродуктивна за Интел, јер напад зависи од тога да прекид оставља конзистентно стање и могао би учинити напад поузданијим.

Истраживачи су обавестили AMD и Intel почетком фебруара, а одржаваоце Линукс кернела у марту. Као резултат тога, блокирање кода ради ублажавања рањивости интегрисано је у Линукс кернел 5. августа.

На крају, ако сте заинтересовани да сазнате више, детаље можете пронаћи на следећем линку.


Додај као жељени извор на Гуглу