BHI як осебпазирии синфи нави Spectre дар протсессори Intel ва ARM мебошад

Гурӯҳи пажӯҳишгарон аз Донишгоҳи озоди Амстердам осебпазирии навро дар сохторҳои микроархитектурии протсессори Intel ва ARM муайян карданд, ки версияи васеъи осебпазирии Spectre-v2 мебошад, ки имкон медиҳад аз механизмҳои муҳофизати eIBRS ва CSV2, ки ба протсессорҳо илова карда шудаанд, канорагирӣ кунад. Ба осебпазирӣ чанд ном дода шудааст: BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) ва Spectre-BHB (CVE-2022-23960), ки зуҳуроти гуногуни ҳамон мушкилот (BHI - ҳамлае, ки ба сатҳҳои имтиёзҳои гуногун таъсир мерасонад, масалан, раванди корбар ва ядро, BHB - ҳамла дар як сатҳи имтиёз, масалан, eBPF JIT ва ядро).

Тадқиқотчиён як эксплоити кориро нишон доданд, ки ба фазои корбар имкон медиҳад, ки аз хотираи ядро ​​маълумоти худсарона истихроҷ кунад. Масалан, нишон дода шудааст, ки чӣ тавр бо истифода аз эксплоити омодашуда метавон аз буферҳои ядро ​​сатри бо хэши пароли корбари реша, ки аз файли /etc/shadow бор карда шудааст, баровардан мумкин аст. Истисмор қобилияти истифодаи осебпазириро дар доираи як сатҳи имтиёз (ҳамлаи ядро ​​ба ядро) бо истифода аз барномаи eBPF аз ҷониби корбар боршуда нишон медиҳад. Имконияти ба ҷои eBPF истифода бурдани гаҷетҳои Spectre, ки дар коди ядро ​​мавҷуд аст, пайдарпайии фармонҳое, ки боиси иҷрои тахминии дастурҳо мешаванд, низ истисно нест.

Ин осебпазирӣ дар аксари протсессори кунунии Intel ба назар мерасад, ба истиснои протсессори оилаи Atom. Аз протсессори ARM, Cortex-A15, Cortex-A57, Cortex-A7*, Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1 ва эҳтимолан баъзе чипҳои Cortex-R таъсир мерасонанд. Тибқи тадқиқот, осебпазирӣ дар коркардкунандагони AMD зоҳир намешавад. Барои ислоҳи мушкилот, якчанд усулҳои нармафзор барои бастани осебпазирӣ пешниҳод карда шуданд, ки онҳоро пеш аз пайдо шудани муҳофизати сахтафзор дар моделҳои ояндаи CPU истифода бурдан мумкин аст.

Барои бастани ҳамлаҳо тавассути зерсистемаи eBPF тавсия дода мешавад, ки ба таври нобаёнӣ қобилияти бор кардани барномаҳои eBPF аз ҷониби корбарони беимтиёз тавассути навиштани 1 ба файли "/proc/sys/kernel/unprivileged_bpf_disabled" ё иҷрои фармони "sysctl -w kernel" ғайрифаъол карда шавад. .unprivileged_bpf_disabled=1". Барои бастани ҳамлаҳо тавассути гаҷетҳо, тавсия дода мешавад, ки дастури LFENCE -ро дар қисматҳои код, ки эҳтимолан ба иҷрои тахминӣ оварда мерасонанд, истифода баред. Қобили зикр аст, ки конфигуратсияи пешфарзии аксари дистрибюторҳои Linux аллакай дорои чораҳои зарурии муҳофизатӣ мебошад, ки барои бастани ҳамлаи eBPF, ки муҳаққиқон нишон додаанд, кофӣ мебошанд. Тавсияҳои Intel оид ба хомӯш кардани дастрасии беимтиёз ба eBPF инчунин ба таври нобаёнӣ аз ядрои Linux 5.16 оғоз карда мешаванд ва ба шохаҳои қаблӣ интиқол дода мешаванд.

Ба таври консептуалӣ, BHI як варианти васеъи ҳамлаи Spectre-v2 мебошад, ки дар он муҳофизати иловагиро (Intel eIBRS ва Arm CSV2) канорагирӣ карда, ихроҷи маълумот, иваз кардани арзишҳо ба буфер бо таърихи глобалии филиал (Branch History Buffer) ташкил карда мешавад. ) истифода мешавад, ки дар CPU барои беҳтар кардани шохаҳои дақиқи пешгӯӣ бо назардошти таърихи гузаришҳои гузашта истифода мешавад. Дар ҷараёни ҳамла тавассути манипуляцияҳо бо таърихи гузаришҳо, барои пешгӯии нодурусти гузариш ва иҷрои тахминии дастурҳои зарурӣ шароит фароҳам оварда мешавад, ки натиҷаи он дар кэш ҷойгир мешавад.

Ба истиснои истифодаи буфери таърихи филиал ба ҷои буфери ҳадафи филиал, ҳамлаи нав ба Specter-v2 шабеҳ аст. Вазифаи ҳамлагар аз он иборат аст, ки чунин шароит фароҳам оварад, ки суроға ҳангоми анҷом додани амалиёти тахминӣ аз майдони маълумоти муайяншуда гирифта шавад. Пас аз анҷом додани ҷаҳиши ғайримустақими тахминӣ, суроғаи ҷаҳиши аз хотира хондашуда дар кэш боқӣ мемонад, ки пас аз он яке аз усулҳои муайян кардани мундариҷаи кэшро барои дарёфти он дар асоси таҳлили тағирот дар вақти дастрасӣ ба кэш истифода бурдан мумкин аст. маълумоти кэш карда нашудааст.

Манбаъ: opennet.ru

Илова Эзоҳ