Spectre v6.2 တိုက်ခိုက်မှုကာကွယ်မှုကို ကျော်လွှားနိုင်သည့် Linux 2 kernel ရှိ အားနည်းချက်

မတူညီသော SMT သို့မဟုတ် Hyper Threading threads များတွင် လုပ်ဆောင်နေသည့် အခြားပရိုဆက်ဆာများ၏ မှတ်ဉာဏ်သို့ ဝင်ရောက်ခွင့်ပြုသည့် Spectre v6.2 တိုက်ခိုက်မှုများကို ကာကွယ်မှုကို ပိတ်ထားသည့် Linux 2023 kernel (CVE-1998-2) တွင် အားနည်းချက်တစ်ခုအား ဖော်ထုတ်တွေ့ရှိထားသည်။ အခြားအရာများထဲတွင် အားနည်းချက်သည် cloud စနစ်များရှိ virtual machines များကြားတွင် ဒေတာယိုစိမ့်မှုကို စုစည်းရန် အသုံးပြုနိုင်သည်။ ပြဿနာသည် Linux 6.2 kernel ကိုသာ သက်ရောက်မှုရှိပြီး Spectre v2 ကို ကာကွယ်ရာတွင် အသုံးပြုသည့်အခါ သိသာထင်ရှားသော အကျုံးဝင်မှုကို လျှော့ချရန် ဒီဇိုင်းထုတ်ထားသော ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းများကို မှားယွင်းစွာ အကောင်အထည်ဖော်ခြင်းကြောင့် ဖြစ်ပေါ်လာခြင်းဖြစ်သည်။ အားနည်းချက်ကို Linux 6.3 kernel ၏ စမ်းသပ်ဌာနခွဲတွင် ပြုပြင်ထားသည်။

အသုံးပြုသူနေရာများတွင် Spectre တိုက်ခိုက်မှုများကို ကာကွယ်ရန်၊ လုပ်ငန်းစဉ်များသည် prctl PR_SET_SPECULATION_CTRL ဖြင့် ရွေးချယ်ပိတ်နိုင်သည် သို့မဟုတ် seccomp-based system call filtering ကို အသုံးပြုနိုင်သည်။ ပြဿနာကိုဖော်ထုတ်ခဲ့သောသုတေသီများ၏အဆိုအရ prctl မှတဆင့် spectre-BTI တိုက်ခိုက်မှုပိတ်ဆို့ခြင်းမုဒ်တွင်ပါ၀င်သော်လည်း 6.2 kernel တွင်မမှန်ကန်သော optimization သည် အနည်းဆုံး cloud provider ၏ virtual machines များကို သင့်လျော်သောအကာအကွယ်မရှိဘဲ ထားခဲ့သည်။ “spectre_v6.2=ibrs” ဆက်တင်ကို အသုံးပြု၍ စတင်သည့် 2 kernel နှင့် ပုံမှန်ဆာဗာများတွင် အားနည်းချက်သည် ထင်ရှားပါသည်။

အားနည်းချက်၏ အနှစ်သာရမှာ IBRS သို့မဟုတ် eIBRS ကာကွယ်မှုမုဒ်များကို ရွေးချယ်သည့်အခါ၊ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ထားသော ပိုမိုကောင်းမွန်အောင်ပြုလုပ်မှုများသည် တစ်ပြိုင်နက်တည်း Multithreading နည်းပညာ (SMT သို့မဟုတ် Hyper-Threading) ကို အသုံးပြုသည့်အခါ ပေါက်ကြားမှုများကို ပိတ်ဆို့ရန် လိုအပ်သော STIP (Single Thread Indirect Branch Predictors) ယန္တရားကို အသုံးပြုခြင်းကို ပိတ်ထားခြင်းဖြစ်သည်။ တစ်ချိန်တည်းမှာပင်၊ eIBRS မုဒ်သည် လိုင်းများကြားမှ ယိုစိမ့်မှုမှ အကာအကွယ်ကို ပေးစွမ်းသော်လည်း IBRS မုဒ်နှင့် အတူ လော့ဂျစ် cores များကြား ပေါက်ကြားမှုမှ အကာအကွယ်ပေးသည့် IBRS ဘစ်သည် ထိန်းချုပ်မှုမှ သုံးစွဲသူ space သို့ ပြန်သွားသည့်အခါ စွမ်းဆောင်ရည် အကြောင်းပြချက်များအတွက် ရှင်းလင်းပြီးဖြစ်သောကြောင့် အသုံးပြုသူ-space thread များကို Spectre v2 class ၏ တိုက်ခိုက်ခြင်းမှ ကာကွယ်ခြင်းမရှိပါ။

source: opennet.ru

မှတ်ချက် Add