AMD осебпазирии эҳтимолии CPU-ҳои AMD Zen 3-ро ба ҳамлаи Spectre-STL тасдиқ кард

AMD гузоришеро нашр кард, ки дар он амнияти технологияи оптимизатсияи PSF (Predictive Store Forwarding), ки дар протсессори силсилаи Zen 3 амалӣ карда мешавад, татбиқи усули ҳамлаи Spectre-STL (Spectre-v4), ки моҳи майи соли 2018 муайян шудааст, ба таври назариявӣ тасдиқ кард. Технологияи PSF, аммо дар амал, ҳеҷ шаблонҳои кодие, ки қодир ба ҳамла оварда метавонанд, ҳанӯз пайдо нашудаанд ва хатари умумӣ ночиз арзёбӣ мешавад.

Ёдовар мешавем, ки ҳамлаи Specter-v4 (Speculative Store Bypass) ба барқарор кардани маълумоте асос ёфтааст, ки дар кэши протсессор пас аз партофтани натиҷаи иҷрои спекулятсионии амалиётҳо ҳангоми коркарди алтернативии навиштан ва хондан бо истифода аз суроғаи ғайримустақим ҷойгир шудааст. Вақте ки амалиёти хондан пас аз амалиёти навиштан (масалан, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), ҷуброни суроғаи хондан мумкин аст аз сабаби амалҳои шабеҳ иҷрошаванда аллакай маълум бошад (амалиёти хондан зуд-зуд иҷро карда мешавад ва хонданро метавон аз кэш иҷро кард) ва протсессор метавонад пеш аз навиштан бидуни мунтазири ҳисоб кардани ҷуброни ғайримустақими навиштан хонданро ба таври спекулятсия иҷро кунад.

Ин хусусият ба дастури хониш имкон медиҳад, ки ба арзиши кӯҳна дар ягон суроға дастрасӣ пайдо кунад, дар ҳоле ки амалиёти мағоза ҳанӯз анҷом наёфтааст. Агар хатогии пешгӯӣ вуҷуд дошта бошад, амалиёти нобарори спекулятсионӣ хориҷ карда мешавад, аммо осори иҷрои он дар кэши протсессор боқӣ мемонад ва онро метавон бо яке аз усулҳои муайян кардани мундариҷаи кэш дар асоси таҳлили тағирот дар дастрасӣ пайдо кард. вақт ба маълумоти кэшшуда ва кэшнашуда.

Ба протсессори AMD Zen 3 илова карда шудааст, PSF STLF (Store-To-Load-Forwarding) -ро оптимизатсия мекунад, ки амалиёти хонданро ба таври тахминӣ тавассути пешгӯии робитаи байни амалиёти хондан ва навиштан иҷро мекунад. Ҳангоми истифодаи классикии STLF, протсессор амалиёти "борборкуниро" оид ба маълумоте, ки бевосита аз фармони қаблии "мағоза" ирсол шудааст, бидуни мунтазири навиштани натиҷа ба хотира иҷро мекунад, аммо боварӣ ҳосил мекунад, ки суроғаҳои дар "бор" истифодашуда ва фармонҳои "мағоза" мувофиқат мекунанд. Оптимизатсияи PSF санҷиши суроғаро тахминӣ мекунад ва пеш аз ҳисоб кардани маълумоти суроға амалиёти "боркуниро" иҷро мекунад, агар ҷуфти мағоза/боркуние, ки суроғаи ягонаро идора мекунад, қаблан иҷро шуда бошад. Агар пешгӯӣ ноком шавад, ҳолат баргардонида мешавад, аммо маълумот дар кэш боқӣ мемонад.

Ҳамла ба PSF танҳо дар доираи як сатҳи имтиёзҳо имконпазир аст, танҳо контексти раванди ҷорӣро фаро мегирад ва бо усулҳои ҷудокунии фазои суроғавӣ ё механизмҳои қуттии сахтафзор баста мешавад. Дар ин ҳолат, усулҳои регборкунии нармафзор дар равандҳо метавонанд ба мушкилот таъсир расонанд. Ҳамла ба системаҳо, аз қабили браузерҳо, мошинҳои виртуалии иҷрокунандаи код ва JITs, ки рамзи тарафи сеюмро дар як раванди ягона иҷро мекунанд, таҳдид мекунад (ҳамла метавонад ба коди қуттии беэътимод имкон диҳад, ки ба маълумоти дигари раванд дастрасӣ пайдо кунад).

AMD як қатор усулҳоро барои пурра ё ба таври интихобӣ ғайрифаъол кардани PSF пешниҳод кардааст, аммо бо назардошти хатари ночиз барои аксари барномаҳо, тавсия додааст, ки ин оптимизатсия бо нобаёнӣ ғайрифаъол карда шавад. Барои ба таври интихобӣ муҳофизат кардани равандҳое, ки онҳоеро, ки коди ноэътимодро иҷро мекунанд, ҷудо мекунанд, пешниҳод карда мешавад, ки PSF тавассути насб кардани битҳои MSR "SSBD" ва "PSFD", аз ҷумла барои риштаҳои инфиродӣ хомӯш карда шавад. Барои ядрои Linux часпакҳо бо татбиқи имконоти сатри фармони "psfd" ва "nopsfd", ки чӣ гуна фаъол ва хомӯш кардани PSF-ро назорат мекунанд, омода карда шудаанд.

Манбаъ: opennet.ru

Илова Эзоҳ