နည်းပညာတက္ကသိုလ် Graz (Austria) မှ သုတေသီအဖွဲ့တစ်ဖွဲ့သည် ယခင်က တိုက်ခိုက်ရေးနည်းလမ်းများကို တီထွင်ခဲ့ကြသည်ဟု လူသိများသည်။
CPU ၏ပထမအဆင့်ဒေတာ ကက်ရှ် (L1D) ရှိ ချန်နယ်ခန့်မှန်းမှု ယန္တရား (လမ်းကြောင်းကြိုတင်ခန့်မှန်းသူ) ကို အကောင်အထည်ဖော်ရာတွင် ပြဿနာများကို ဖော်ထုတ်တွေ့ရှိခဲ့သည်။ AMD ပရိုဆက်ဆာများတွင်အသုံးပြုသော အကောင်းဆုံးပြင်ဆင်မှုသည် μ-tags (μTag) ကိုစစ်ဆေးခြင်းအပေါ်အခြေခံသည်။ μTag ကို virtual address သို့ သီးခြား hash function ကိုအသုံးပြုခြင်းဖြင့် တွက်ချက်သည်။ လည်ပတ်နေစဉ်အတွင်း၊ ဇယားမှ ကက်ရှ်ချန်နယ်ကို ဆုံးဖြတ်ရန် ချန်နယ်ခန့်မှန်းအင်ဂျင်သည် μTag ကို အသုံးပြုသည်။ ထို့ကြောင့် μTag သည် CPU စွမ်းအင်သုံးစွဲမှုကို သိသာထင်ရှားစွာ လျှော့ချပေးသည့် ရွေးချယ်မှုအားလုံးကို ရှာဖွေခြင်းမရှိဘဲ သီးခြားချန်နယ်တစ်ခုသာ ဝင်ရောက်ခွင့်ကို သူ့ဘာသာသူ ကန့်သတ်ထားနိုင်စေပါသည်။
2011 ခုနှစ်မှ 2019 ခုနှစ်အတွင်း ထွက်ရှိခဲ့သော AMD ပရိုဆက်ဆာများ၏ မျိုးဆက်အသီးသီးတွင် ချန်နယ်ခန့်မှန်းမှုစနစ် အကောင်အထည်ဖော်မှုကို ပြောင်းပြန်အင်ဂျင်နီယာချုပ်လုပ်နေစဉ်အတွင်း ဘေးထွက်ချန်နယ်တိုက်ခိုက်မှုနည်းပညာအသစ်နှစ်ခုကို ဖော်ထုတ်ခဲ့သည်-
- Collide+Probe - တူညီသော logical CPU core ပေါ်တွင် လုပ်ဆောင်နေသော လုပ်ငန်းစဉ်များအတွက် တိုက်ခိုက်သူအား မမ်မိုရီဝင်ရောက်ခွင့်ကို ခြေရာခံခွင့်ပြုသည်။ နည်းလမ်း၏ အနှစ်သာရမှာ မှတ်ဉာဏ်ဝင်ရောက်မှုကို ခြေရာခံရန် μTag ကို တွက်ချက်ရာတွင် အသုံးပြုသည့် hash လုပ်ဆောင်ချက်တွင် တိုက်မိမှုဖြစ်စေသော virtual လိပ်စာများကို အသုံးပြုရန်ဖြစ်သည်။ Intel ပရိုဆက်ဆာများတွင်အသုံးပြုသည့် Flush+Reload နှင့် Prime+Probe တိုက်ခိုက်မှုများနှင့်မတူဘဲ Collide+Probe သည် မျှဝေထားသောမှတ်ဉာဏ်ကို အသုံးမပြုဘဲ ရုပ်ပိုင်းဆိုင်ရာလိပ်စာများကို မသိဘဲ အလုပ်လုပ်ပါသည်။
- Load+Reload - တူညီသောရုပ်ပိုင်းဆိုင်ရာ CPU core ပေါ်ရှိ memory access လမ်းကြောင်းများကို အလွန်တိကျစွာ ဆုံးဖြတ်နိုင်စေပါသည်။ အဆိုပါနည်းလမ်းသည် ရုပ်ပိုင်းဆိုင်ရာမှတ်ဉာဏ်ဆဲလ်တစ်ခု L1D cache တွင်တစ်ကြိမ်သာရှိနိုင်သည်ဟူသောအချက်အပေါ်အခြေခံသည်။ အဲဒါတွေ။ မတူညီသော virtual လိပ်စာတွင် တူညီသောမှတ်ဉာဏ်ဆဲလ်ကို ဝင်ရောက်ခြင်းဖြင့် ဆဲလ်အား L1D ကက်ရှ်မှ နှင်ထုတ်စေကာ မှတ်ဉာဏ်ဝင်ရောက်မှုကို ခြေရာခံနိုင်စေမည်ဖြစ်သည်။ တိုက်ခိုက်မှုသည် မျှဝေထားသောမှတ်ဉာဏ်အပေါ် အားကိုးသော်လည်း၊ ၎င်းသည် နောက်ဆုံးအဆင့် ကက်ရှ်မှဒေတာများကို မဖယ်ရှားနိုင်သော ကိုယ်ပျောက်တိုက်ခိုက်မှုများကို ခွင့်ပြုပေးသည့် ကက်ရှ်လိုင်းများကို ဖယ်ရှားပေးမည်မဟုတ်ပါ။
Collide+Probe နှင့် Load+Reload နည်းပညာများကို အခြေခံ၍ သုတေသီများသည် ဘေးထွက်ချန်နယ် တိုက်ခိုက်မှု မြင်ကွင်းများစွာကို သရုပ်ပြခဲ့သည်-
- တစ်စက္ကန့်လျှင် 588 kB အထိ အမြန်နှုန်းဖြင့် ဒေတာလွှဲပြောင်းခြင်းကို ခွင့်ပြုသည့် လုပ်ငန်းစဉ်နှစ်ခုကြားတွင် လျှို့ဝှက်သွယ်ဝိုက်ဆက်သွယ်ရေးချန်နယ်တစ်ခုကို စုစည်းရန် နည်းလမ်းများကို အသုံးပြု၍ ဖြစ်နိုင်ခြေကို ပြသထားသည်။
- μTag တွင် တိုက်မိခြင်းများကို အသုံးပြုခြင်းဖြင့် ASLR (Address Space Layout Randomization) ၏ မတူညီသောမျိုးကွဲများအတွက် entropy ကို လျှော့ချနိုင်ပြီး ပြီးပြည့်စုံသော Linux စနစ်တွင် kernel အတွင်းရှိ ASLR အကာအကွယ်ကို ကျော်ဖြတ်နိုင်မည်ဖြစ်သည်။ အသုံးပြုသူအပလီကေးရှင်းများမှ ASLR entropy နှစ်ခုလုံးကို လျှော့ချရန်နှင့် sandbox ပတ်ဝန်းကျင်တွင် လုပ်ဆောင်သည့် JavaScript ကုဒ်ကို အသုံးပြုကာ အခြားဧည့်သည်ပတ်ဝန်းကျင်တွင် လုပ်ဆောင်နေသည့် ကုဒ်များကို အသုံးပြု၍ တိုက်ခိုက်ခြင်းအား လုပ်ဆောင်နိုင်ခြေကို ပြသထားသည်။
- Collide+Probe နည်းလမ်းကို အခြေခံ၍ ထိခိုက်လွယ်သော အကောင်အထည်ဖော်မှုမှ ကုဒ်ဝှက်ကီးကို ပြန်လည်ရယူရန် တိုက်ခိုက်မှုတစ်ခု လုပ်ဆောင်ခဲ့သည် (အခြေခံ
T-စားပွဲ ) AES ကုဒ်ဝှက်ခြင်း။ - Collide+Probe နည်းလမ်းကို ဒေတာရယူမှုချန်နယ်အဖြစ် အသုံးပြုခြင်းဖြင့် Spectre attack သည် မျှဝေထားသော memory ကို အသုံးမပြုဘဲ kernel မှ သီးသန့်ဒေတာကို ထုတ်ယူနိုင်ခဲ့သည်။
အားနည်းချက်သည် microarchitectures ကိုအခြေခံ၍ AMD ပရိုဆက်ဆာများတွင် ဖြစ်ပေါ်သည်။
ဘူဒိုဇာ၊ Piledriver၊ Steamroller၊ Zen (Ryzen၊ Epic)၊ Zen+ နှင့် Zen2။
AMD သည် 23 ခုနှစ် ဩဂုတ်လ 2019 ရက်နေ့တွင် အဆိုပါပြဿနာကို အကြောင်းကြားခဲ့သော်လည်း ယခုအချိန်အထိဖြစ်သည်။
source: opennet.ru