Linux kernel ရှိ မှန်းဆကုဒ် အကောင်အထည်ဖော်မှုပြဿနာများအတွက် စကင်နာဖြစ်သည့် Kasper ကို ယခုရရှိနိုင်ပါပြီ။

Free University of Amsterdam မှ သုတေသီအဖွဲ့တစ်ဖွဲ့သည် ပရိုဆက်ဆာပေါ်တွင် မှန်းဆကုဒ်လုပ်ဆောင်မှုကြောင့် ဖြစ်ပေါ်လာသော Spectre-class အားနည်းချက်များကို အသုံးချနိုင်စေရန် Linux kernel အတွင်းရှိ ကုဒ်အတိုအထွာများကို ရှာဖွေဖော်ထုတ်ရန် ဒီဇိုင်းထုတ်ထားသည့် Kasper toolkit ကို ထုတ်ဝေခဲ့သည်။ ကိရိယာအစုံအတွက် အရင်းအမြစ်ကုဒ်ကို Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

မမ်မိုရီ၏အကြောင်းအရာများကိုဆုံးဖြတ်ရန်ဖြစ်နိုင်စေသည့် Spectre v1 ကဲ့သို့သောတိုက်ခိုက်မှုများကိုလုပ်ဆောင်ရန်အတွက်၊ အချို့သောအမိန့်တော်များ (ဂက်ဂျက်များ) ၏ အခွင့်ထူးခံကုဒ်တွင်ရှိနေခြင်းကို သတိရစေပြီး၊ မှန်းဆချက်လုပ်ဆောင်ရန်ညွှန်ကြားချက်များကိုလုပ်ဆောင်ရန် လိုအပ်သည် . ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန် ရည်ရွယ်ချက်များအတွက်၊ ပရိုဆက်ဆာသည် မှန်းဆမုဒ်တွင် ယင်းကဲ့သို့သော gadget များကို စတင်လုပ်ဆောင်သည်၊ ထို့နောက် ဌာနခွဲခန့်မှန်းချက်သည် တရားမျှတမှုမရှိကြောင်း ဆုံးဖြတ်ပြီး လုပ်ဆောင်ချက်များကို ၎င်းတို့၏မူလအခြေအနေသို့ ပြန်ပြောင်းပေးသည်၊ သို့သော် မှန်းဆလုပ်ဆောင်မှုအတွင်း လုပ်ဆောင်ခဲ့သောဒေတာများသည် ကက်ရှ်နှင့် မိုက်ခရိုဗိသုကာဆိုင်ရာ ကြားခံများတွင် ပြီးဆုံးသွားပါသည်။ ကျန်ရှိသောဒေတာကို ပြင်ပအဖွဲ့အစည်းချန်နယ်များမှတစ်ဆင့် သတ်မှတ်သည့် နည်းလမ်းအမျိုးမျိုးဖြင့် ၎င်းတို့ထံမှ ပြန်လည်ရယူရန်အတွက် ရနိုင်ပါသည်။

ပုံမှန်ပုံစံများကို ရှာဖွေခြင်းအပေါ် အခြေခံ၍ Spectre အားနည်းချက်အတွက် gadgets များကို စကင်န်ဖတ်ခြင်းအတွက် ယခင်က ရရှိနိုင်သော ကိရိယာများသည် မှားယွင်းသော အပြုသဘောဆောင်သည့်အဆင့်ကို ပြသခဲ့ပြီး စစ်မှန်သော gadget အများအပြား ပျောက်ဆုံးနေချိန်တွင် (စမ်းသပ်မှုများက ထိုကဲ့သို့သောကိရိယာများမှ ဖော်ထုတ်ထားသော gadget များ၏ 99% ကို တိုက်ခိုက်ရန်အတွက် အသုံးမပြုနိုင်ပါ နှင့် တိုက်ခိုက်မှုတစ်ခုဖြစ်ပေါ်လာနိုင်သည့် အလုပ်သုံးပစ္စည်းများ၏ 33% ကို သတိမထားမိခဲ့ပါ။)

ပြဿနာရှိသော gadgets များကို ဖော်ထုတ်ခြင်း၏ အရည်အသွေးကို မြှင့်တင်ရန်၊ Kasper သည် Spectre class တိုက်ခိုက်မှုများကို လုပ်ဆောင်သည့် အဆင့်တိုင်းတွင် တိုက်ခိုက်နိုင်သည့် အားနည်းချက်များကို မော်ဒယ်လ်များ ထုတ်ပေးသည် - ဒေတာထိန်းချုပ်မှုကို ခွင့်ပြုသည့် ပြဿနာများကို ပုံစံထုတ်ထားသည် (ဥပမာ၊ အသုံးပြု၍ နောက်ဆက်တွဲ မှန်းဆလုပ်ဆောင်မှုကို လွှမ်းမိုးရန် တိုက်ခိုက်သူဒေတာကို microarchitectural တည်ဆောက်ပုံများအဖြစ် အစားထိုးခြင်း၊ LVI အတန်းအစား တိုက်ခိုက်မှုများ)၊ လျှို့ဝှက်အချက်အလက်များကို ဝင်ရောက်ခွင့် ရရှိခြင်း (ဥပမာ၊ ကြားခံနယ်နိမိတ်များကို ကျော်လွန်သွားသည့်အခါ သို့မဟုတ် ၎င်းကို လွတ်မြောက်ပြီးနောက် မှတ်ဉာဏ်ကို အသုံးပြုခြင်း) နှင့် လျှို့ဝှက်အချက်အလက်များ ပေါက်ကြားခြင်း (ဥပမာ၊ ပရိုဆက်ဆာ ကက်ရှ်၏ အခြေအနေကို ပိုင်းခြားစိတ်ဖြာခြင်းဖြင့် သို့မဟုတ် MDS နည်းလမ်းကို အသုံးပြုခြင်း)။

Linux kernel ရှိ မှန်းဆကုဒ် အကောင်အထည်ဖော်မှုပြဿနာများအတွက် စကင်နာဖြစ်သည့် Kasper ကို ယခုရရှိနိုင်ပါပြီ။

စမ်းသပ်သောအခါ၊ kernel သည် Kasper runtime libraries နှင့် ချိတ်ဆက်ထားပြီး LLVM အဆင့်တွင် လုပ်ဆောင်နေမှုကို စစ်ဆေးသည်။ စစ်ဆေးခြင်းလုပ်ငန်းစဉ်သည် မှန်းဆကုဒ်လုပ်ဆောင်မှုကို အတုယူပြီး၊ အထူးသဖြင့် ကြိုတင်ခန့်မှန်းထားသောကုဒ်ဌာနခွဲကို မှားယွင်းစွာလုပ်ဆောင်ပေးသည့် checkpoint-restore ယန္တရားကို အသုံးပြု၍ လုပ်ဆောင်ခဲ့ပြီး၊ ထို့နောက် ဌာနခွဲမစတင်မီ မူလအခြေအနေသို့ ပြန်သွားပါသည်။ Kasper သည် အမျိုးမျိုးသော ဆော့ဖ်ဝဲလ်နှင့် ဟာ့ဒ်ဝဲ အားနည်းချက်များကို အတုယူရန်၊ ဗိသုကာနှင့် အသေးစား ဗိသုကာဆိုင်ရာ သက်ရောက်မှုများကို ပိုင်းခြားစိတ်ဖြာကာ ဖြစ်နိုင်ချေရှိသော တိုက်ခိုက်သူများ၏ လုပ်ဆောင်ချက်များကို fuzz စမ်းသပ်မှုများ လုပ်ဆောင်ပါသည်။ execution flows များကိုခွဲခြမ်းစိတ်ဖြာရန်၊ Linux kernel အတွက် DataFlowSanitizer port ကိုအသုံးပြုပြီး fuzzing testing အတွက်၊ syzkaller package ၏မွမ်းမံထားသောဗားရှင်းကိုအသုံးပြုပါသည်။

Linux kernel ရှိ မှန်းဆကုဒ် အကောင်အထည်ဖော်မှုပြဿနာများအတွက် စကင်နာဖြစ်သည့် Kasper ကို ယခုရရှိနိုင်ပါပြီ။

Kasper ကို အသုံးပြု၍ Linux kernel ကို စကင်န်ဖတ်ခြင်းဖြင့် မှန်းဆထားသော ညွှန်ကြားချက်များကို လုပ်ဆောင်နေစဉ်အတွင်း ဒေတာ ယိုစိမ့်မှုဆီသို့ ဦးတည်သွားနိုင်သည့် ယခင်က အမည်မသိ gadget 1379 ခုကို တွေ့ရှိခဲ့သည်။ ၎င်းတို့ထဲမှ အချို့သည် တကယ့်ပြဿနာများ ဖြစ်နိုင်သည်ဟု မှတ်သားထားသော်လည်း တကယ့်အန္တရာယ်ရှိကြောင်း သက်သေပြရန်၊ သီအိုရီအရသာမက၊ ပြဿနာရှိသော ကုဒ်အပိုင်းအစများထဲမှ တစ်ခုအတွက် အသုံးချမှု၏ ရှေ့ပြေးပုံစံကို တီထွင်ခဲ့ပြီး သတင်းအချက်အလက်ဆီသို့ ဦးတည်သွားခဲ့သည်။ kernel memory မှ ယိုစိမ့်ခြင်း။

source: opennet.ru

မှတ်ချက် Add