Осебиятҳо дар eBPF, ки имкон медиҳанд муҳофизати ҳамлаи Spectre 4 аз байн бурда шаванд

Дар ядрои Linux ду осебпазирӣ муайян карда шудааст, ки ба зерсистемаи eBPF имкон медиҳад, ки муҳофизатро аз ҳамлаи Specter v4 (SSB, Store Bypass) канорагирӣ кунад. Бо истифода аз барномаи беимтиёзи BPF, ҳамлакунанда метавонад барои иҷрои тахминии амалҳои муайян шароит фароҳам оварад ва мундариҷаи минтақаҳои ихтиёрии хотираи ядроро муайян кунад. Нигоҳдорони зерсистемаҳои eBPF дар ядро ​​дастрасӣ ба эксплоити прототипӣ гирифтанд, ки қобилияти анҷом додани ҳамлаҳоро дар амал нишон медиҳад. Мушкилот дар шакли часпакҳо (1, 2) ҳал карда шуданд, ки ба навсозии навбатии ядрои Linux дохил карда мешаванд. Навсозиҳо дар маҷмӯаҳои тақсимот ҳанӯз офарида нашудаанд (Debian, RHEL, SUSE, Arch, Fedora, Ubuntu).

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

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

Аввалин осебпазирӣ (CVE-2021-35477) бо сабаби камбуди механизми санҷиши барномаи BPF ба вуҷуд омадааст. Барои муҳофизат аз ҳамлаи Spectre 4, тафтишкунанда пас аз захираҳои эҳтимолан мушкил ба хотира дастури иловагӣ илова мекунад, ки барои иваз кардани нишонаҳои амалиёти қаблӣ арзиши нулро нигоҳ медорад. Интизор мерафт, ки амалиёти навиштани нул хеле зуд бошад ва иҷрои спекулятсияро боздорад, зеро он танҳо аз нишоннамо ба чаҳорчӯбаи стеки BPF вобаста аст. Аммо дар асл маълум шуд, ки шароит фароҳам овардан мумкин аст, ки дар он дастуре, ки ба иҷрои спекулятсия оварда мерасонад, пеш аз амалиёти мағозаи пешакӣ иҷро карда мешавад.

Осебпазирии дуюм (CVE-2021-3455) аз он иборат аст, ки вақте санҷиши BPF амалиёти сарфаи хотираи эҳтимолан хатарнокро муайян мекунад, он минтақаҳои оғознашудаи стеки BPF-ро, ки амалиёти аввалини навиштан ба он ҳифз нашудааст, ба назар намегирад. Ин хусусият ба имкон медиҳад, ки пеш аз иҷро кардани дастури мағоза, як амалиёти хондани тахминӣ, вобаста ба минтақаи хотираи ибтидонашуда вобаста аст. Хотираи нав барои стеки BPF бидуни тафтиши мундариҷаи аллакай дар хотираи ҷудошуда ҷудо карда мешавад ва роҳе вуҷуд дорад, ки барномаи BPF иҷро шавад, то мундариҷаи минтақаи хотираро идора кунад, ки баъдан барои стеки BPF ҷудо карда мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ