ပန်းပဲဆရာ - DRAM မမ်မိုရီနှင့် DDR4 ချစ်ပ်များကို တိုက်ခိုက်ခြင်းအသစ်

ETH Zurich၊ Vrije Universiteit Amsterdam နှင့် Qualcomm တို့မှ သုတေသီအဖွဲ့တစ်ဖွဲ့သည် dynamic random access memory (DRAM) ၏ အကြောင်းအရာများကို ပြောင်းလဲနိုင်သည့် RowHammer တိုက်ခိုက်မှုနည်းလမ်းအသစ်ကို ထုတ်ပြန်ခဲ့သည်။ တိုက်ခိုက်မှုကို Blacksmith လို့ အမည်တပ်ပြီး CVE-2021-42114 အဖြစ် သတ်မှတ်ခဲ့ပါတယ်။ ယခင်ကသိထားသော RowHammer အတန်းအစားနည်းလမ်းများကို အကာအကွယ်ပေးထားသည့် DDR4 ချစ်ပ်များစွာသည် ပြဿနာကို ခံရနိုင်ချေရှိသည်။ အားနည်းချက်များအတွက် သင့်စနစ်များကို စမ်းသပ်ရန် ကိရိယာများကို GitHub တွင် လွှင့်တင်ထားသည်။

RowHammer အတန်းအစားတိုက်ခိုက်မှုများသည် သင့်အား အိမ်နီးချင်းမမ်မိုရီဆဲလ်များမှ ဒေတာများကို စက်ဘီးစီးစွာဖတ်ရှုခြင်းဖြင့် တစ်ဦးချင်းစီ memory bits ၏ အကြောင်းအရာများကို ကွဲလွဲသွားစေသည်ကို သတိရပါ။ DRAM မမ်မိုရီသည် ဆဲလ်နှစ်ဘက်မြင် array တစ်ခုဖြစ်သောကြောင့် တစ်ခုစီတွင် capacitor နှင့် transistor ပါ၀င်သောကြောင့် တူညီသော memory area ၏ စဉ်ဆက်မပြတ်ဖတ်ခြင်းကို လုပ်ဆောင်ခြင်းသည် အနီးနားဆဲလ်များတွင် အားအနည်းငယ်သာ ဆုံးရှုံးမှုဖြစ်စေသည့် ဗို့အားအတက်အကျနှင့် ကွဲလွဲချက်များကို ဖြစ်စေသည်။ ဖတ်ရှုမှုပြင်းထန်မှု မြင့်မားပါက၊ အိမ်နီးချင်းဆဲလ်သည် လုံလောက်သော အားသွင်းပမာဏကို ဆုံးရှုံးနိုင်ပြီး နောက်အသစ်ပြန်လည်ထုတ်လုပ်သည့်စက်ဝန်းတွင် ၎င်း၏မူလအခြေအနေသို့ ပြန်လည်ရောက်ရှိရန် အချိန်မရှိတော့ဘဲ၊ ၎င်းသည် ဆဲလ်အတွင်းသိမ်းဆည်းထားသည့် ဒေတာတန်ဖိုးကို ပြောင်းလဲသွားစေမည်ဖြစ်သည်။ .

RowHammer ကိုကာကွယ်ရန်၊ ချစ်ပ်ထုတ်လုပ်သူများသည် ကပ်လျက်အတန်းရှိဆဲလ်များ ဖောက်ပြန်ခြင်းမှကာကွယ်ပေးသည့် TRR (Target Row Refresh) ယန္တရားအား အဆိုပြုခဲ့သော်လည်း အကာအကွယ်သည် "လုံခြုံသောအားဖြင့်" နိယာမအပေါ်အခြေခံသောကြောင့်၊ ၎င်းသည် ပြဿနာကို မဖြေရှင်းနိုင်ခဲ့ပါ။ root ဖြစ်သော်လည်း အကာအကွယ်ကို ကျော်ဖြတ်ရန် နည်းလမ်းများကို ရှာရလွယ်ကူစေသည့် အထူးကိစ္စရပ်များမှသာလျှင် ကာကွယ်ထားသည်။ ဥပမာအားဖြင့်၊ မေလတွင်၊ Google သည် ပစ်မှတ်နှင့်တိုက်ရိုက်မကပ်နေသော ဆဲလ်များကို တိုက်ခိုက်သောကြောင့် TRR ကာကွယ်ရေးကို ထိခိုက်ခြင်းမရှိသည့် Half-Double နည်းလမ်းကို အဆိုပြုခဲ့သည်။

ပန်းပဲဆရာ၏ နည်းလမ်းအသစ်သည် အားသွင်းမှု ယိုစိမ့်မှုဖြစ်စေရန်အတွက် မတူညီသောကြိမ်နှုန်းများတွင် တူညီသောမတူညီသော ကြိုးနှစ်ချောင်း သို့မဟုတ် ထို့ထက်ပိုသော ပြင်းထန်သောကြိုးများကို အသုံးပြုခွင့်အပေါ် အခြေခံ၍ TRR အကာအကွယ်ကို ကျော်ဖြတ်ရန် ကွဲပြားခြားနားသောနည်းလမ်းကို ပေးပါသည်။ အားသွင်းမှု ယိုစိမ့်မှုဖြစ်စေသည့် မမ်မိုရီဝင်ရောက်မှုပုံစံကို ဆုံးဖြတ်ရန်အတွက် သီးခြားချစ်ပ်တစ်ခုအတွက် တိုက်ခိုက်ရေးဘောင်များကို အလိုအလျောက်ရွေးချယ်ကာ ဆဲလ်ဝင်ရောက်မှု၏ ပြင်းထန်မှု၊ ပြင်းထန်မှုနှင့် စနစ်ကျမှုတို့ကို ကွဲပြားစေမည့် အထူး fuzzer ကို တီထွင်ထားသည်။

တူညီသောဆဲလ်များကို လွှမ်းမိုးခြင်းနှင့် ဆက်စပ်မှုမရှိသော ဤချဉ်းကပ်နည်းသည် လက်ရှိ TRR ကာကွယ်ရေးနည်းလမ်းများကို ထိရောက်မှုမရှိစေဘဲ၊ ပုံစံတစ်ခု သို့မဟုတ် အခြားဆဲလ်များသို့ ထပ်ခါတလဲလဲခေါ်ဆိုမှုအရေအတွက်ကို ရေတွက်ရန်နှင့် အချို့သောတန်ဖိုးများရောက်ရှိသည့်အခါ ပြန်လည်အားသွင်းခြင်းကို စတင်လုပ်ဆောင်သည် အိမ်နီးချင်းဆဲလ်များ။ ပန်းပဲဆရာတွင်၊ အသုံးပြုခွင့်ပုံစံသည် ပစ်မှတ်၏ မတူညီသောအခြမ်းများမှ ဆဲလ်များစွာကို တစ်ပြိုင်နက် ပျံ့နှံ့သွားကာ၊ ၎င်းသည် အတိုင်းအတာတန်ဖိုးများအထိ မရောက်ရှိဘဲ အားသွင်းပေါက်ကြားမှုကို ရရှိနိုင်စေသည်။

အဆိုပါနည်းလမ်းသည် TRR ကိုကျော်ဖြတ်ရန်ယခင်အဆိုပြုထားသောနည်းလမ်းများထက်သိသိသာသာပိုမိုထိရောက်မှုရှိခဲ့သည် - သုတေသီများသည် မကြာသေးမီကဝယ်ယူခဲ့သော Samsung၊ Micron၊ SK Hynix နှင့် အမည်မသိထုတ်လုပ်သူမှထုတ်လုပ်သော မတူညီသော DDR40 memory ချစ်ပ် 4 လုံးတွင် အနည်းငယ်ပုံပျက်သွားခြင်း (ထုတ်လုပ်သူသည် ချစ်ပ် 4 ခုတွင် မဖော်ပြထားပါ။) နှိုင်းယှဉ်ရန်အတွက်၊ တူညီသောသုတေသီများက ယခင်ကအဆိုပြုခဲ့သော TRRespass နည်းလမ်းသည် ထိုအချိန်တွင် စမ်းသပ်ခဲ့သည့် ချစ်ပ်ပေါင်း ၄၂ ခုအနက် ၁၃ ခုအတွက် ထိရောက်မှုရှိသည်။

ယေဘုယျအားဖြင့်၊ Blacksmith နည်းလမ်းသည် စျေးကွက်ရှိ DRAM ချစ်ပ်များအားလုံး၏ 94% တွင် သက်ရောက်မှုရှိမည်ဟု မျှော်လင့်ရသော်လည်း အချို့သောချစ်ပ်များသည် အခြားသူများထက် ပိုမိုထိခိုက်လွယ်ပြီး တိုက်ခိုက်ရလွယ်ကူသည်ဟု သုတေသီများက ဆိုသည်။ ချစ်ပ်များတွင် အမှားပြင်ဆင်ခြင်းကုဒ်များ (ECC) ကိုအသုံးပြုခြင်းနှင့် မမ်မိုရီပြန်လည်ဆန်းသစ်မှုနှုန်းကို နှစ်ဆတိုးခြင်းသည် ပြီးပြည့်စုံသောကာကွယ်မှုမပေးနိုင်သော်လည်း လုပ်ဆောင်ချက်ကို ရှုပ်ထွေးစေသည်။ ထွက်ရှိပြီးသော ချစ်ပ်များတွင် ပြဿနာကို ပိတ်ဆို့၍မရသည့်အပြင် ဟာ့ဒ်ဝဲအဆင့်တွင် အကာအကွယ်အသစ်များကို အကောင်အထည်ဖော်ရန် လိုအပ်သောကြောင့် တိုက်ခိုက်မှုသည် နှစ်ပေါင်းများစွာ ဆက်နွယ်နေဦးမည်ဖြစ်သည်။

လက်တွေ့နမူနာများတွင် kernel အခွင့်ထူးများရရှိရန် Memory page table (PTE၊ page table entry) အတွင်းရှိ အကြောင်းအရာများကို ပြောင်းလဲရန် Blacksmith ကိုအသုံးပြုခြင်းအတွက် နည်းလမ်းများပါဝင်ပြီး kernel အခွင့်ထူးများရရှိစေရန်၊ OpenSSH တွင်သိမ်းဆည်းထားသော RSA-2048 အများသူငှာသော့ကို ပျက်စီးစေသည် (သင်သည် အများသူငှာသော့ကို ယူဆောင်လာနိုင်ပါသည်။ တစ်စုံတစ်ယောက်၏ virtual machine သည် တိုက်ခိုက်သူ၏ကိုယ်ရေးကိုယ်တာသော့ကို ချိတ်ဆက်ရန်) နှင့် root အခွင့်ထူးများရရှိရန် sudo လုပ်ငန်းစဉ်၏မှတ်ဉာဏ်ကို မွမ်းမံခြင်းဖြင့်၊ ချစ်ပ်ပေါ် မူတည်၍ ပစ်မှတ်တစ်ခုကို ပြောင်းလဲရန် 3 စက္ကန့်မှ နာရီများစွာကြာသည့် နေရာတိုင်းတွင် အချိန်ကြာပါသည်။

ထို့အပြင်၊ Google အတွက် Antmicro မှ ဖန်တီးထားသည့် RowHammer အတန်းအစားတိုက်ခိုက်မှုများကို စမ်းသပ်ရန်အတွက် မှတ်ဉာဏ်ကာကွယ်မှုနည်းလမ်းများကို စမ်းသပ်ရန်အတွက် Open LiteX Row Hammer Tester မူဘောင်ကို ကျွန်ုပ်တို့ မှတ်သားနိုင်ပါသည်။ မူဘောင်သည် memory controller ၏လွှမ်းမိုးမှုကိုဖယ်ရှားရန် DRAM ချစ်ပ်သို့တိုက်ရိုက်ပို့သောအမိန့်များကိုအပြည့်အဝထိန်းချုပ်ရန် FPGA ကိုအသုံးပြုမှုအပေါ်အခြေခံသည်။ Python ရှိ Toolkit သည် FPGA နှင့် အပြန်အလှန်ဆက်ဆံရန်အတွက် ကမ်းလှမ်းထားသည်။ FPGA-based gateway တွင် packet data transfer (memory access ပုံစံများကိုသတ်မှတ်သည်)၊ Payload Executor၊ LiteDRAM-based controller (row activation and memory updateing အပါအဝင် DRAM အတွက် လိုအပ်သော logic အားလုံးကို process လုပ်သည်) နှင့် VexRiscv CPU တို့ပါဝင်သည်။ ပရောဂျက်၏တိုးတက်မှုများကို Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ Lattice ECP5၊ Xilinx Series 6၊ 7၊ UltraScale နှင့် UltraScale+ အပါအဝင် အမျိုးမျိုးသော FPGA ပလပ်ဖောင်းများကို ပံ့ပိုးထားသည်။

source: opennet.ru

မှတ်ချက် Add