Зенблеед: Све што треба да знате о овој АМД безбедносној грешци

Најновија у дугој серији безбедносних грешака за ЦПУ, Зенблеед је још једна ствар коју треба закрпити. Ево шта треба да знате.

Након што су експлоатације Спецтре и Мелтдовн ЦПУ-а објављене 2018. године, рачунарски свет је био прилично опрезан о проналажењу сигурносних грешака и пропуста у процесорима, а у протеклих пет година истраживачи су пронашли гомилу. Дана 24. јула, још један подвиг је јавно објављен након што је први пут пријављен у мају. Овај пут је специфичан за АМД процесоре изграђене на Зен 2 архитектури и назван је "Зенблеед". Ево свега што треба да знате о Зенблееду и шта он значи за свет.

Како Зенблеед функционише?

Зенблеед је веома сличан другим безбедносним грешкама заснованим на хардверу као што је Спецтре по томе што искоришћава спекулативну способност ЦПУ-а. У циљу побољшања перформанси, ЦПУ спекулишу или предвиде следећу ствар коју треба да ураде, а откако је Спецтре први пут откривен, свет је научио да спекулације могу бити веома несигурне ако се ураде неправилно.

Извор: Тавис Орманди

Регистри у ЦПУ-у могу да садрже малу количину података, обично инструкцију, адресу за складиштење или било коју другу врсту малих података. КСММ регистри у архитектури к86_64 (дакле, било који од погођених Зен 2 процесора) могу се користити само за прорачуне података, а не за адресирање меморије. Ово је проширено на 256 бита у случају ИММ регистара и 512 бита у ЗММ регистрима. У овом случају, КСММ се односи на ниже 128 бита укупно 512 бита ЗММ регистара.

Ови регистри су невероватно корисни за много различитих ствари, укључујући стандардне Ц функције. Рањивост злоупотребљава спекулативно извршење и погрешна предвиђања гранања да би у суштини избацила насумични део података из меморије, али ти подаци могу бити из било шта. Функције стандардне Ц библиотеке као што је стрлен, која мери дужину низа, могу да користе ове регистре за премештање података около, и могуће је да је, случајно, лозинка коју користите несрећом упала у један од ових регистри.

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

Проблем настаје у инструкцији взероуппер, која нулира битове на позицији 128 и више од ИММ и ЗММ регистара. Ово се посебно ради када се прелази између АВКС и застарелог ССЕ кода, јер елиминише перформансе казне изазване лажним зависностима уз избегавање ефекта који је сличан целобројној промоцији у Ц.

Ако процесор спекулативно изврши взероуппер инструкцију, нема одговарајућег враћања. Међутим, погођени Ризен процесори могу бити приморани да се опораве од тога, иако погрешно. Једном у овом стању, програм који се тренутно извршава може да шпијунира те регистре у реалном времену, гледајући податке који теку кроз систем у било ком тренутку.

На које процесоре утиче Зенблеед и када ће закрпе бити доступне?

Као што је раније речено, познато је да су само АМД ЦПУ засновани на Зен 2 архитектури рањиви на Зенблеед безбедносну грешку, али Зен 2 архитектура покреће ЦПУ-е у три серије, чинећи неуредним откривање који су ЦПУ-ови рањиви, а који нису. Ево табеле из које би све требало да буде јасно:

Импацтед ЦПУс

Ризен 3000 серија

Све осим АПУ-а (нпр. Ризен 3 3200Г)

Епиц Роме

Све

Ризен 4000 серија

Све

Ризен 5000 серија

Само 5300У, 5500У и 5700У

Ризен 7000 серија

Само 7020 АПУ (нпр. Ризен 3 7320У)

Ово је прилично велика количина АМД процесора, а ово су само они који су до сада потврђени. Зен 2 се такође користи у АПУ-овима који покрећу Стеам Децк, Ксбок Сериес С и Кс и ПС5. Нисмо чули ни на који начин да ли су ови ЦПУ-и такође погођени, али судећи по начину на који овај експлоат функционише, био бих изненађен да и они нису погођени. Чини се мало вероватним да га је АМД закрпио за Ксбок и ПС5 јер су чипови серије 7020, који су новији, такође погођени.

У време писања, микрокод је достављен Линук кернелу који ће закрпити ову рањивост, а ваш оперативни систем или БИОС можда већ имају ажурирање које решава овај проблем.

Шта то значи за рачунаре који користе рањиве процесоре?

На ово је тешко одговорити јер нису сви рачунари једнаки. За нормалне људе који само користе десктоп и лаптоп рачунаре за игре, вероватно не морате да будете толико забринути. Ово је прилично софистициран експлоатација и иако је сада јавно познато, још увек нема познатих примера да је нападач користио Зенблеед да упадне у било шта.

Међутим, улози су много већи за центре података и важне људе који рукују осетљивим информацијама на сопственим рачунарима. Постоји разлог зашто је АМД био врло јасан да је Епиц Роме закрпљен пре него што је рањивост објављена: много осетљивих Епиц ЦПУ-и рукују информацијама и била би катастрофа ако би било који ЦПУ који напаја сервере великих размера успешно напао. Линук кернел 6.4.6 је већ објављен и поправља ову рањивост убацивањем у званична закрпа микрокода од АМД-а. Чини се да ће Мицрософт уградити нешто слично у Виндовс.

забрињавајуће, АМД-ове званичне БИОС закрпе можда неће бити објављене неколико месеци, у ком случају, постоји "цхицкен бит" који можете да подесите ако сте на Линук или ФрееБСД машини. На Линук машинама можете користити мср-тоолс и извршити следећу команду.

wrmsr -a 0xc0011029 $(($(rdmsr -c 0xc0011029) | (1<<9)))

На ФрееБСД-у можете користити и следеће.

cpucontrol(8)

Онемогућавање СМТ-а није довољно за ублажавање рањивости.

Једна ствар која Зенблеед чини посебно лошим је то што је Зен 2 био једна од најпопуларнијих АМД-ових ЦПУ архитектура. То је покренуло повратак АМД-а 2019. и 2020. године, а многи људи, компаније и организације и даље користе рачунаре са Зен 2 процесорима 2023., посебно Епиц Роме ЦПУ. Ово није тако лоше као Спецтре (који утиче на скоро све ЦПУ-ове пре 2019.) и Мелтдовн (који утиче на скоро све Интелове процесоре пре 2019.), али је и даље прилично распрострањена.

Безбедносне закрпе за овакве рањивости такође често доводе до смањења перформанси, али АМД је рекао Томов хардвер да ће ова казна зависити од ЦПУ-а и оптерећења. Спекулације и предвиђања су били прилично важни за перформансе процесора, тако да је нејасно да ли ће нека потенцијална поправка довести до значајног смањења перформанси.