BHI သည် Intel နှင့် ARM ပရိုဆက်ဆာများတွင် Spectre အတန်းအစား အားနည်းချက်အသစ်တစ်ခုဖြစ်သည်။

Vrije Universiteit Amsterdam မှ သုတေသီအဖွဲ့တစ်ဖွဲ့သည် Intel နှင့် ARM ပရိုဆက်ဆာများ၏ microarchitectural structures များတွင် အားနည်းချက်အသစ်တစ်ခုကို ရှာဖွေတွေ့ရှိခဲ့ပြီး Spectre-v2 vulnerability ၏ တိုးချဲ့ဗားရှင်းတစ်ခုဖြစ်သည့် ပရိုဆက်ဆာများတွင် eIBRS နှင့် CSV2 ကာကွယ်ရေးယန္တရားများကို ကျော်လွှားနိုင်စေခဲ့သည်။ . အားနည်းချက်ကို အမည်များစွာပေးထားပြီးဖြစ်သည်- BHI (Branch History Injection, CVE-2022-0001), BHB (Branch History Buffer, CVE-2022-0002) နှင့် Spectre-BHB (CVE-2022-23960) ၏ မတူညီသော သရုပ်များကို ဖော်ပြသည့်၊ တူညီသောပြဿနာ (BHI - ကွဲပြားခြားနားသောအခွင့်ထူးများအဆင့်ကိုထိခိုက်စေသောတိုက်ခိုက်မှုတစ်ခု၊ ဥပမာ၊ အသုံးပြုသူလုပ်ငန်းစဉ်နှင့် kernel၊ BHB - တူညီသောအခွင့်အရေးအဆင့်တွင်တိုက်ခိုက်မှုတစ်ခု၊ ဥပမာ၊ eBPF JIT နှင့် kernel)။

သုတေသီများသည် အသုံးပြုသူနေရာမှ kernel memory မှ မတရားဒေတာများကို ထုတ်ယူနိုင်စေမည့် အလုပ်အသုံးချမှုတစ်ခုကို သရုပ်ပြခဲ့သည်။ ဥပမာအားဖြင့်၊ ပြင်ဆင်ထားသော exploit ကိုအသုံးပြု၍ /etc/shadow ဖိုင်မှတင်ထားသော root user password ၏ hash ဖြင့် kernel မှ string တစ်ခုအား ကြားခံထုတ်ယူနိုင်ပုံကို ပြသထားသည်။ exploit သည် user-loaded eBPF ပရိုဂရမ်ကို အသုံးပြု၍ အခွင့်ထူးအဆင့်တစ်ခု (kernel-to-kernel attack) အတွင်း အားနည်းချက်တစ်ခုအား အသုံးချနိုင်ခြေကို သရုပ်ပြသည်။ kernel ကုဒ်ရှိ eBPF ရှိပြီးသား Spectre gadgets များအစား၊ ညွှန်ကြားချက်များကို မှန်းဆလုပ်ဆောင်ရန် ဦးတည်သည့် commands များ၏ sequences များကို အသုံးပြုနိုင်သည်။

Atom မိသားစုမှ ပရိုဆက်ဆာများမှ လွဲ၍ လက်ရှိ Intel ပရိုဆက်ဆာ အများစုတွင် အားနည်းချက် ပေါ်လာသည်။ ARM ပရိုဆက်ဆာများထဲတွင် Cortex-A15၊ Cortex-A57၊ Cortex-A7*၊ Cortex-X1၊ Cortex-X2၊ Cortex-A710၊ Neoverse N1၊ Neoverse N2၊ Neoverse V1 နှင့် Cortex-R ချစ်ပ်အချို့သည် ပြဿနာကြောင့် ထိခိုက်နိုင်သည်။ သုတေသနပြုချက်အရ အားနည်းချက်သည် AMD ပရိုဆက်ဆာများတွင် မပေါ်ပါ။ ပြဿနာကို ဖယ်ရှားရန်၊ အနာဂတ် CPU မော်ဒယ်များတွင် ဟာ့ဒ်ဝဲကာကွယ်မှုမပေါ်မီ အသုံးပြုနိုင်သည့် အားနည်းချက်ကို ပိတ်ဆို့ရန် ဆော့ဖ်ဝဲနည်းလမ်းများစွာကို အဆိုပြုထားသည်။

eBPF စနစ်ခွဲမှတစ်ဆင့် တိုက်ခိုက်မှုများကို ပိတ်ဆို့ရန်၊ 1 ဖိုင်ကို “/proc/sys/kernel/unprivileged_bpf_disabled” သို့မဟုတ် “sysctl -w kernel” ဟူသော ညွှန်ကြားချက်ကို လုပ်ဆောင်ခြင်းဖြင့် eBPF ပရိုဂရမ်များကို ဒေါင်းလုဒ်လုပ်ရန် အခွင့်ထူးမခံသော သုံးစွဲသူများအတွက် စွမ်းရည်ကို မူရင်းအတိုင်း ပိတ်ရန် အကြံပြုထားသည်။ unprivileged_bpf_disabled=1”။ ဂက်ဂျက်တိုက်ခိုက်မှုများကို ပိတ်ဆို့ရန်၊ မှန်းဆလုပ်ဆောင်နိုင်ခြေရှိသော ကုဒ်ကဏ္ဍများတွင် LFENCE ညွှန်ကြားချက်ကို အသုံးပြုရန် အကြံပြုထားသည်။ Linux ဖြန့်ချီမှုအများစု၏ ပုံသေဖွဲ့စည်းပုံတွင် သုတေသီများသရုပ်ပြ eBPF တိုက်ခိုက်မှုကို ပိတ်ဆို့ရန် လိုအပ်သော အကာအကွယ်အစီအမံများ လုံလောက်စွာပါ၀င်နေပြီဖြစ်ကြောင်း မှတ်သားဖွယ်တွေ့ရှိရသည်။ eBPF သို့ အခွင့်ထူးမခံရသေးသောဝင်ရောက်ခွင့်ကိုပိတ်ထားခြင်းအတွက် Intel ၏အကြံပြုချက်များသည် Linux kernel 5.16 ကတည်းက မူရင်းအတိုင်းဖြစ်ပြီး အစောပိုင်းအကိုင်းအခက်များသို့ backported လုပ်မည်ဖြစ်သည်။

သဘောတရားအရ၊ BHI သည် Spectre-v2 တိုက်ခိုက်မှု၏ တိုးချဲ့ဗားရှင်းတစ်ခုဖြစ်ပြီး၊ ၎င်းတွင် ထပ်လောင်းအကာအကွယ် (Intel eIBRS နှင့် Arm CSV2) ကိုကျော်လွှားပြီး ဒေတာပေါက်ကြားမှုကို စုစည်းရန်၊ ခန့်မှန်းချက်ပိုမိုကောင်းမွန်စေရန်အတွက် Branch History Buffer တွင် တန်ဖိုးအစားထိုးခြင်းကို CPU တွင်အသုံးပြုပါသည်။ အတိတ်အကူးအပြောင်းများ၏ သမိုင်းကြောင်းကို ထည့်သွင်းစဉ်းစားခြင်းဖြင့် တိကျသောအကိုင်းအခက်များ။ တိုက်ခိုက်မှုအတွင်း၊ အသွင်ကူးပြောင်းမှုသမိုင်းနှင့်အတူ ခြယ်လှယ်မှုများမှတစ်ဆင့်၊ အကူးအပြောင်း၏ မှားယွင်းသောခန့်မှန်းချက်နှင့် လိုအပ်သောညွှန်ကြားချက်များကို မှန်းဆလုပ်ဆောင်ရန်အတွက် အခြေအနေများကို ဖန်တီးထားပြီး၊ ရလဒ်သည် ကက်ရှ်တွင်အဆုံးသတ်မည်ဖြစ်သည်။

Branch Target Buffer အစား Branch History Buffer ကိုအသုံးပြုခြင်းမှလွဲ၍ တိုက်ခိုက်မှုအသစ်သည် Spectre-v2 နှင့် တူညီပါသည်။ တိုက်ခိုက်သူ၏တာဝန်မှာ မှန်းဆစစ်ဆင်ရေးတစ်ခုလုပ်ဆောင်သောအခါ၊ သတ်မှတ်ဒေတာ၏ဧရိယာမှယူဆောင်သွားသည့်အခြေအနေများကိုဖန်တီးရန်ဖြစ်သည်။ မှန်းဆသော သွယ်ဝိုက်ခုန်ခြင်းကို လုပ်ဆောင်ပြီးနောက်၊ မှတ်ဉာဏ်မှဖတ်သော ခုန်လိပ်စာသည် ကက်ရှ်တွင် ကျန်ရှိနေသည်၊ ထို့နောက် ကက်ရှ်၏ အကြောင်းအရာများကို ဆုံးဖြတ်ရန်အတွက် နည်းလမ်းများထဲမှ တစ်ခုကို ကက်ရှ်လုပ်ထားခြင်းနှင့် ကက်ရှ်မထားသော ဝင်ရောက်ချိန်အတွင်း အပြောင်းအလဲများကို ခွဲခြမ်းစိတ်ဖြာမှုအပေါ် အခြေခံ၍ ၎င်းကို ပြန်လည်ရယူရန် အသုံးပြုနိုင်သည်။ ဒေတာ။

source: opennet.ru

မှတ်ချက် Add