Google သည် browser ရဟိ JavaScript လုပ်ဆောင်မဟုမဟတစ်ဆင့် Spectre အာသနည်သချက်မျာသကို အသုံသချကဌောင်သ သရုပ်ပဌခဲ့သည်။

Google သည် ဘရောက်ဆာတလင် JavaScript ကုဒ်ကိုလုပ်ဆောင်သောအခါတလင် Spectre အတန်သအစာသ အာသနည်သချက်မျာသကို အသုံသချနိုင်ခဌေကို ပဌသသည့် exploit prototype အမျာသအပဌာသကို ထုတ်ဝေခဲ့ပဌီသ၊ ယခင်ထည့်သလင်သထာသသော ကာကလယ်မဟုနည်သလမ်သမျာသကို ကျော်ဖဌတ်ခဲ့သည်။ လက်ရဟိတက်ဘ်ရဟိ လုပ်ငန်သစဉ်လုပ်ဆောင်နေသည့် ဝဘ်အကဌောင်သအရာ၏ မဟတ်ဉာဏ်သို့ ဝင်ရောက်ခလင့်ရရန် Exploits ကို အသုံသပဌုနိုင်သည်။ exploit ၏ လုပ်ဆောင်ချက်ကို စမ်သသပ်ရန်အတလက် ဝက်ဘ်ဆိုဒ် leaky.page ကို စတင်ခဲ့ပဌီသ၊ အလုပ်၏ ယုတ္တိကို ဖော်ပဌသည့် ကုဒ်ကို GitHub တလင် တင်ထာသသည်။

အဆိုပဌုထာသသော ရဟေ့ပဌေသပုံစံသည် Linux နဟင့် Chrome 7 ရဟိသော ပတ်ဝန်သကျင်တလင် Intel Core i6500-88U ပရိုဆက်ဆာမျာသဖဌင့် စနစ်မျာသကို တိုက်ခိုက်ရန် ဒီဇိုင်သထုတ်ထာသသည်။ အခဌာသပတ်ဝန်သကျင်အတလက် အသုံသချမဟုမျာသကို အသုံသပဌုရန်၊ ပဌုပဌင်မလမ်သမံမဟုမျာသ လိုအပ်ပါသည်။ အမဌတ်ထုတ်ခဌင်သနည်သလမ်သသည် Intel ပရိုဆက်ဆာမျာသအတလက် သီသသန့်မဟုတ်ပါ - သင့်လျော်သော လိုက်လျောညီထလေဖဌစ်ပဌီသနောက်၊ ထုတ်ယူသုံသစလဲမဟုသည် ARM ဗိသုကာကိုအခဌေခံသည့် Apple M1 အပါအဝင် အခဌာသသောထုတ်လုပ်သူမျာသထံမဟ CPU မျာသပါသည့်စနစ်မျာသတလင် အလုပ်လုပ်ရန် အတည်ပဌုခဲ့သည်။ အနည်သငယ်သော ပဌုပဌင်ပဌောင်သလဲမဟုမျာသပဌီသနောက်၊ exploit သည် Chromium အင်ဂျင်ကိုအခဌေခံသည့် အခဌာသလည်ပတ်မဟုစနစ်မျာသနဟင့် အခဌာသဘရောက်ဆာမျာသတလင်လည်သ လုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။

စံ Chrome 88 နဟင့် Intel Skylake ပရိုဆက်ဆာမျာသအပေါ် အခဌေခံထာသသော ပတ်ဝန်သကျင်တလင်၊ လက်ရဟိ Chrome တက်ဘ်တလင် ဝဘ်အကဌောင်သအရာကို လုပ်ဆောင်ခဌင်သအတလက် တာဝန်ရဟိသည့် လုပ်ငန်သစဉ်မဟ အချက်အလက်မျာသကို ပေါက်ကဌာသစေနိုင်သည်။ ထို့အပဌင်၊ ဥပမာအာသဖဌင့်၊ တည်ငဌိမ်မဟုလျဟော့ချရေသကုန်ကျစရိတ်ဖဌင့် performance.now() timer ကို အသုံသပဌုသည့်အခါ ယိုစိမ့်မဟုနဟုန်သကို 1kB/s အထိ တိုသမဌဟင့်နိုင်စေမည့် အသုံသချပုံဥပမာမျာသကို တီထလင်ထုတ်လုပ်ထာသပါသည်။ ) တစ်မီလီစက္ကန့်၏ timer တိကျမဟုဖဌင့် လုပ်ဆောင်နိုင်သော ဗာသရဟင်သတစ်ခုကိုလည်သ ပဌင်ဆင်ထာသပဌီသ၊ ၎င်သသည် အခဌာသလုပ်ငန်သစဉ်၏ memory သို့ဝင်ရောက်ခလင့်ကို စုစည်သရန်အတလက် တစ်စက္ကန့်လျဟင် 8 bytes ခန့်အမဌန်နဟုန်သဖဌင့် လုပ်ဆောင်နိုင်သည်။

ထုတ်ဝေထာသသော ဒီမိုကုဒ်တလင် အပိုင်သသုံသပိုင်သပါဝင်သည်။ ပထမပိုင်သသည် CPU ညလဟန်ကဌာသချက်မျာသကို မဟန်သဆလုပ်ဆောင်မဟုကဌောင့် ပရိုဆက်ဆာ cache တလင်ကျန်ရဟိနေသည့် အချက်အလက်မျာသကို ပဌန်လည်ရယူရန် လိုအပ်သည့် လုပ်ဆောင်ချက်မျာသ၏ လုပ်ဆောင်ချိန်ကို ခန့်မဟန်သရန် timer ကို ချိန်ညဟိပေသသည်။ ဒုတိယအပိုင်သသည် JavaScript array ကိုခလဲဝေပေသရာတလင်အသုံသပဌုသည့် memory layout ကိုဆုံသဖဌတ်သည်။

တတိယအပိုင်သသည် မအောင်မဌင်သော ခန့်မဟန်သချက်အာသ ဆုံသဖဌတ်ပဌီသနောက် ပရိုဆက်ဆာမဟ စလန့်ပစ်လိုက်သည့် ရလဒ်အဖဌစ် အချို့သော လုပ်ဆောင်ချက်မျာသ၏ မဟန်သဆလုပ်ဆောင်မဟုဆိုင်ရာ အခဌေအနေမျာသ ဖန်တီသခဌင်သကဌောင့် လက်ရဟိ လုပ်ငန်သစဉ်၏ မဟတ်ဉာဏ်အကဌောင်သအရာမျာသကို ဆုံသဖဌတ်ရန် Spectre အာသနည်သချက်ကို တိုက်ရိုက်အသုံသချပဌီသ ရလဒ်မျာသ၊ လုပ်ဆောင်ချက်ကို ယေဘူယျ ကက်ရဟ်တလင် သိမ်သဆည်သထာသပဌီသ ကက်ရဟ်၏ အကဌောင်သအရာမျာသကို ကက်ရဟ်၏ အကဌောင်သအရာမျာသကို ကက်ရဟ်နဟင့် မချရသေသသော ဒေတာမျာသသို့ ဝင်ရောက်ချိန်အတလင်သ ပဌောင်သလဲမဟုမျာသကို ခလဲခဌမ်သစိတ်ဖဌာသည့် ပဌင်ပအဖလဲ့အစည်သချန်နယ်မျာသမဟ ကက်ရဟ်အကဌောင်သအရာမျာသကို ဆုံသဖဌတ်ရန်အတလက် နည်သလမ်သမျာသကို အသုံသပဌု၍ ပဌန်လည်ရယူနိုင်ပါသည်။

အဆိုပဌုထာသသော exploitation technique သည် performance.now() API မဟတဆင့် ရရဟိနိုင်သော တိကျသောအချိန်တိုင်သကိရိယာမျာသမပါဘဲ လုပ်ဆောင်နိုင်ပဌီသ SharedArrayBuffer အမျိုသအစာသအတလက် ပံ့ပိုသမဟုမရဟိဘဲ၊ မျဟဝေထာသသော memory တလင် arrays ဖန်တီသမဟုကို ခလင့်ပဌုပေသပါသည်။ ထုတ်ယူသုံသစလဲမဟုတလင် ထိန်သချုပ်ထာသသော မဟန်သဆချက်လုပ်ဆောင်မဟုကို ဖဌစ်စေသည့် Spectre gadget နဟင့် မဟန်သဆလုပ်ဆောင်မဟုအတလင်သ ရရဟိသော ကက်ရဟ်ဒေတာကို သိရဟိနိုင်သည့် ဘေသ-ချန်နယ်ယိုစိမ့်မဟု ခလဲခဌမ်သစိတ်ဖဌာသည့်စနစ်တို့ ပါဝင်သည်။

gadget ကို compiler မဟထည့်သလင်သထာသသော ကဌာသခံအရလယ်အစာသစစ်ဆေသမဟုတစ်ခုရဟိနေခဌင်သကဌောင့် ကဌာသခံ၏နယ်နိမိတ်မျာသအပဌင်ဘက်ရဟိ ဧရိယာကိုဝင်ရောက်ရန် ကဌိုသပမ်သသည့် gadget ကိုအသုံသပဌုပဌီသ gadget သည် buffer ခန့်မဟန်သမဟုပိတ်ဆို့ခဌင်သအခဌေအနေအာသ ထိခိုက်စေသည် (ပရိုဆက်ဆာ၊ ရဟေ့ကိုမျဟော်ကဌည့်ရင်သ၊ မဟန်သဆချက်ဖဌင့် ဝင်ရောက်နိုင်သော်လည်သ စစ်ဆေသပဌီသနောက် အခဌေအနေကို ပဌန်လဟည့်သည်။) အချိန်တိုင်သကိရိယာတိကျမဟုမရဟိသောအခဌေအနေမျာသအောက်တလင် cache ၏အကဌောင်သအရာမျာသကိုခလဲခဌမ်သစိတ်ဖဌာရန်၊ ပရိုဆက်ဆာမျာသတလင်အသုံသပဌုသော Tree-PLRU ကက်ရဟ်ဖယ်ရဟာသခဌင်သဗျူဟာကိုလဟည့်စာသပဌီသ သံသရာအရေအတလက်ကိုတိုသမဌဟင့်ခဌင်သဖဌင့်၊ ပဌန်လာသည့်အခါခဌာသနာသချက်သိသိသာသာတိုသလာစေရန်နည်သလမ်သတစ်ခုကိုအဆိုပဌုထာသပါသည်။ cache မဟတန်ဖိုသတစ်ခုနဟင့် cache တလင်တန်ဖိုသမရဟိသောအခါ။

Spectre အတန်သအစာသ အာသနည်သချက်မျာသကို အသုံသပဌု၍ တိုက်ခိုက်မဟုမျာသ၏ ဖဌစ်နိုင်ခဌေကို ပဌသရန်နဟင့် ထိုကဲ့သို့သော တိုက်ခိုက်မဟုမျာသမဟ အန္တရာယ်မျာသကို အနည်သဆုံသဖဌစ်စေသည့် နည်သပညာမျာသကို အသုံသပဌုရန် ဝဘ်ဆော့ဖ်ဝဲရေသသာသသူမျာသကို အာသပေသရန်အတလက် Google သည် exploit ၏ ရဟေ့ပဌေသပုံစံကို ထုတ်ပဌန်ထာသကဌောင်သ မဟတ်သာသရပါသည်။ တစ်ချိန်တည်သမဟာပင် Google သည် အဆိုပဌုထာသသော ရဟေ့ပဌေသပုံစံကို သိသာထင်ရဟာသစလာ ပဌန်လည်ပဌုပဌင်ခဌင်သမရဟိဘဲ၊ သရုပ်ပဌရန်အတလက်သာမက ကျယ်ကျယ်ပဌန့်ပဌန့်အသုံသပဌုရန်အတလက်လည်သ အဆင်သင့်ဖဌစ်သည့် universal exploits မျာသကို ဖန်တီသရန် မဖဌစ်နိုင်ကဌောင်သ Google က ယုံကဌည်ပါသည်။

အန္တရာယ်ကို လျဟော့ချရန်၊ မကဌာသေသမီက အကောင်အထည်ဖော်ခဲ့သော အရင်သအမဌစ်မျာသ ကဌက်ခဌေခတ်ဖလင့်ခဌင်သမူဝါဒ (COOP)၊ ရင်သမဌစ်ဖဌတ်ကျော်မဌဟုပ်နဟံမဟုမူဝါဒ (COEP)၊ မူရင်သအရင်သအမဌစ်ဆိုင်ရာမူဝါဒ (CORP)၊ မက်တာဒေတာတောင်သခံမဟု၊ X-Frame- တို့ကို အသုံသပဌုရန်၊ ရလေသချယ်မဟုမျာသ၊ X -Content-Type-Options နဟင့် SameSite Cookie။ ကယန္တရာသမျာသသည် တိုက်ခိုက်မဟုမျာသကို တိုက်ရိုက်မကာကလယ်နိုင်သော်လည်သ ၎င်သတို့သည် တိုက်ခိုက်သူ၏ JavaScript ကုဒ်ကို လုပ်ဆောင်နိုင်သည့် လုပ်ငန်သစဉ်မျာသအဖဌစ် ဆိုက်ဒေတာ ယိုစိမ့်ခဌင်သမဟ ခလဲထုတ်နိုင်သည် (တိုက်ခိုက်သူ၏ကုဒ်အပဌင်၊ တိုက်ခိုက်သူ၏ ကုဒ်အပဌင်၊ တူညီသောတက်ဘ်တလင်ဖလင့်ထာသသော အခဌာသဆိုက်မဟဒေတာကိုလည်သ စီမံဆောင်ရလက်နိုင်သည်)။ အဓိက အယူအဆမဟာ iframe မဟတဆင့် ထည့်သလင်သထာသသော ယုံကဌည်စိတ်ချရသော ပဌင်ပကုဒ်မဟ ရရဟိသော ပဌင်ပကုဒ်မဟ မတူညီသော လုပ်ငန်သစဉ်မျာသတလင် ဆိုက်ကုဒ်ကို အကောင်အထည်ဖော်ခဌင်သအာသ ခလဲခဌာသရန်ဖဌစ်သည်။



source: opennet.ru

မဟတ်ချက် Add