Осебпазирӣ дар механизми иҷрои дастурҳои тахминии протсессори AMD

Лоиҳаи Grsecurity тафсилот ва намоиши усули ҳамларо барои осебпазирии нав (CVE-2021-26341) дар протсессори AMD, ки бо иҷрои дастурҳои тахминӣ пас аз амалиёти ҷаҳиши бидуни шарт ба пеш алоқаманданд, нашр кардааст. Дар сурати ҳамлаи бомуваффақият, осебпазирӣ имкон медиҳад, ки мундариҷаи минтақаҳои ихтиёрии хотираро муайян кунад. Масалан, муҳаққиқон як эксплойтро омода кардаанд, ки ба шумо имкон медиҳад тарҳбандии суроғаро муайян кунед ва механизми муҳофизати KASLR (рандомизатсияи хотираи ядро) тавассути иҷрои коди беимтиёз дар зерсистемаи ядрои ePBF гузаред. Дигар сенарияҳои ҳамла, ки метавонанд мундариҷаи хотираи ядроро фош кунанд, истисно карда намешаванд.

Ин осебпазирӣ ба шумо имкон медиҳад, ки шароит фароҳам оваред, ки дар он протсессор ҳангоми иҷрои спекулятсия дастурро пас аз дастури ҷаҳиш дар хотира (SLS, Straight Line Speculation) ба таври тахминӣ коркард мекунад. Дар айни замон, чунин оптимизатсия на танҳо барои операторҳои ҷаҳиши шартӣ, балки барои дастурҳое, ки ҷаҳиши мустақими бешартиро дар назар доранд, ба монанди JMP, RET ва CALL кор мекунад. Дастурҳои филиалҳои бешартона метавонанд бо маълумоти худсарона, ки барои иҷро пешбинӣ нашудаанд, пайравӣ кунанд. Пас аз муайян кардани он, ки филиал иҷрои дастури навбатиро дар назар надорад, протсессор танҳо ҳолати худро бармегардонад ва иҷрои спекулятсияро ба назар намегирад, аммо пайгирии иҷрои дастур дар кэши умумӣ боқӣ мемонад ва барои таҳлил дастрас аст. бо истифода аз усулҳои ҷустуҷӯи канал.

Мисли истифодаи осебпазирии Spectre-v1, ҳамла мавҷудияти пайдарпайии муайяни дастурҳоро (гаҷетҳо) талаб мекунад, ки боиси иҷрои тахминӣ мешаванд. Дар ин ҳолат, бастани осебпазирӣ ба муайян кардани чунин гаҷетҳо дар код ва илова кардани дастурҳои иловагӣ ба онҳо, ки иҷрои спекулятсияро манъ мекунанд, рост меояд. Шароитҳо барои иҷрои тахминӣ инчунин метавонанд бо истифода аз барномаҳои ғайриимтиёзӣ, ки дар мошини виртуалии eBPF кор мекунанд, эҷод карда шаванд. Барои бастани қобилияти сохтани гаҷетҳо бо истифода аз eBPF, тавсия дода мешавад, ки дастрасии беимтиёз ба eBPF дар система хомӯш карда шавад ("sysctl -w kernel.unprivileged_bpf_disabled=1").

Ин осебпазирӣ ба протсессорон дар асоси микроархитектураи Zen1 ва Zen2, аз ҷумла насли якум ва дуюми протсессори AMD EPYC ва AMD Ryzen Threadripper, инчунин AMD Ryzen 2000/3000/4000/5000, AMD Athlon, AMD Athlon X, AMD Threadrippery таъсир мерасонад. PRO ва APU силсилаи A. Барои бастани иҷрои дастури тахминӣ тавсия дода мешавад, ки пас аз амалиёти филиал (RET, JMP, CALL) ба дастурҳои INT3 ё LFENCE занг занед.

Манбаъ: opennet.ru

Илова Эзоҳ