Google မှ အင်ဂျင်နီယာများသည် Android ပလပ်ဖောင်းသို့ Rust ဘာသာစကားဖြင့် ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ပံ့ပိုးမှုမိတ်ဆက်ခြင်း၏ ပထမဆုံးရလဒ်များကို အကျဉ်းချုပ်ဖော်ပြခဲ့သည်။ Android 13 တွင် ထည့်သွင်းထားသော ကုဒ်အသစ်၏ ခန့်မှန်းခြေ 21% ကို Rust ဖြင့် ရေးသားထားပြီး 79% ကို C/C++ ဖြင့် ရေးသားထားသည်။ Android ပလပ်ဖောင်း၏ အရင်းအမြစ်ကုဒ်ကို ဖန်တီးပေးသည့် AOSP (Android Open Source Project) သိုလှောင်ရာနေရာတွင် Keystore1.5 cryptographic key store၊ UWB ချစ်ပ်များ (Ultra-Wideband) ကဲ့သို့သော အစိတ်အပိုင်းအသစ်များနှင့် ဆက်စပ်နေသော Rust ကုဒ်လိုင်း 2 သန်းခန့် ပါဝင်ပါသည်။ ၊ DNS-over-HTTP3 ပရိုတိုကောကို အကောင်အထည်ဖော်မှု၊ AVF (Android Virtualization Framework) virtualization framework၊ Bluetooth နှင့် Wi-Fi အတွက် စမ်းသပ်ဆဲအစုများ။
Memory နှင့် လုပ်ဆောင်ရာတွင် အမှားအယွင်းများကြောင့် ဖြစ်ပေါ်လာသော အားနည်းချက်များ၏ အန္တရာယ်ကို လျှော့ချရန် ယခင်အသုံးပြုခဲ့သည့် မဟာဗျူဟာနှင့်အညီ၊ Rust ဘာသာစကားကို ကုဒ်အသစ်များ ဖော်ဆောင်ရာတွင် လက်ရှိတွင် အဓိကအားဖြင့် အသုံးပြုနေပြီး အန္တရာယ်အရှိဆုံးနှင့် အရေးပါသော ဆော့ဖ်ဝဲလ်အစိတ်အပိုင်းများ၏ လုံခြုံရေးကို တဖြည်းဖြည်း အားကောင်းစေရန်။ ပလပ်ဖောင်းတစ်ခုလုံးကို Rust သို့လွှဲပြောင်းရန် ယေဘူယျပန်းတိုင်မရှိပါ၊ ကုဒ်အဟောင်းသည် C/C++ တွင်ကျန်ရှိနေပြီး၊ ၎င်းတွင် အမှားအယွင်းများကို တိုက်ဖျက်ခြင်းအား fuzzing စမ်းသပ်ခြင်း၊ static ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် အလားတူနည်းပညာများကို ဖွံ့ဖြိုးတိုးတက်အောင်အသုံးပြုခြင်းတို့ကို အသုံးပြုခြင်းဖြင့် လုပ်ဆောင်ပါသည်။ MiraclePtr အမျိုးအစားကို အသုံးပြု၍ (ကုန်ကြမ်းအမှတ်အသားများကို စည်းနှောင်ခြင်း၊ လွတ်လွတ်လပ်လပ်မှတ်ဉာဏ်ဧရိယာများဝင်ရောက်ခြင်းအတွက် ထပ်လောင်းစစ်ဆေးမှုများလုပ်ဆောင်ခြင်း)၊ Scudo မှတ်ဉာဏ်ခွဲဝေမှုစနစ် (malloc/free အတွက် ဘေးကင်းလုံခြုံသော အစားထိုးမှု) နှင့် HWAsan (Hardware-assisted AddressSanitizer) နှင့် မမ်မိုရီဖြင့်လုပ်ဆောင်သည့်အခါ အမှားအယွင်းရှာဖွေခြင်းယန္တရားများ၊ GWP-ASAN နှင့် KFENCE။
Android ပလပ်ဖောင်းရှိ အားနည်းချက်များ၏ သဘောသဘာဝဆိုင်ရာ ကိန်းဂဏန်းအချက်အလက်များအရ မှတ်ဉာဏ်နှင့် လုံခြုံစွာလုပ်ဆောင်နိုင်သော ကုဒ်အသစ်များ လျော့နည်းလာသည်နှင့်အမျှ Memory နှင့် လုပ်ဆောင်ရာတွင် အမှားအယွင်းများကြောင့် ဖြစ်ပေါ်လာသော အားနည်းချက်အရေအတွက် လျော့နည်းသွားကြောင်း မှတ်သားရပါသည်။ ဥပမာအားဖြင့်၊ မှတ်ဉာဏ်ပြဿနာများကြောင့် ဖြစ်ပေါ်လာသော အားနည်းချက်များဝေစုသည် 76 ခုနှစ်တွင် 2019% မှ 35 ခုနှစ်တွင် 2022% သို့ ကျဆင်းသွားသည်။ ပကတိနံပါတ်များတွင်၊ 2019 တွင် memory-related vulnerabilities ကို 223၊ 2020 တွင် 150 ၊ 2021 တွင် 100 နှင့် 2022 တွင် 85 (မှတ်သားထားသည့် vulnerabilities များအားလုံးသည် C/C++ code တွင်ဖြစ်သည်၊ Rust code တွင်၊ ယခုထိ အလားတူပြဿနာများမရှိပါ တွေ့သည်)။ 2022 သည် မှတ်ဉာဏ်ဆိုင်ရာ အားနည်းချက်များ လွှမ်းမိုးချုပ်ကိုင်မှု ရပ်တန့်သွားသည့် ပထမဆုံးနှစ်ဖြစ်သည်။
မှတ်ဉာဏ်ဆိုင်ရာ အားနည်းချက်များသည် များသောအားဖြင့် အန္တရာယ်အရှိဆုံးဖြစ်သောကြောင့်၊ ခြုံငုံစာရင်းအင်းများတွင်လည်း အဝေးမှအသုံးချနိုင်သော အရေးကြီးသောပြဿနာများနှင့် ပြဿနာအရေအတွက် လျော့နည်းသွားသည်ကို ပြသပါသည်။ တစ်ချိန်တည်းမှာပင်၊ မှတ်ဉာဏ်ဖြင့်လုပ်ဆောင်ခြင်းနှင့်မသက်ဆိုင်သော အားနည်းချက်များကို ဖော်ထုတ်ခြင်း၏ ဒိုင်းနမစ်များသည် ပြီးခဲ့သည့် 4 နှစ်အတွင်း ခန့်မှန်းခြေအားဖြင့် တူညီသောအဆင့်တွင် ရှိနေသည် - တစ်လလျှင် အားနည်းချက် 20 ခုရှိသည်။ Memory နှင့် အလုပ်လုပ်ရာတွင် အမှားအယွင်းများ ကြောင့် ဖြစ်ပေါ်လာသော အားနည်းချက်များကြားတွင် အန္တရာယ်ရှိသော ပြဿနာများ မျှဝေမှုသည် ကျန်ရှိနေသည် (သို့သော် အဆိုပါ အားနည်းချက် အရေအတွက် လျော့နည်းသွားသောကြောင့် အန္တရာယ်ရှိသော ပြဿနာများ အရေအတွက်လည်း လျော့နည်းသွားသည်)။
စာရင်းအင်းများသည် မှတ်ဉာဏ်နှင့် လုံခြုံစွာအလုပ်လုပ်သော ကုဒ်အသစ်ပမာဏနှင့် မမ်မိုရီဆိုင်ရာ ချို့ယွင်းချက်အရေအတွက်များ (ကြားခံအလျှံပယ်များ၊ လွတ်နေသောမှတ်ဉာဏ်သို့ဝင်ရောက်ခွင့်၊ စသည်ဖြင့်) အကြား ဆက်စပ်မှုကိုလည်း ခြေရာခံပါသည်။ ဤလေ့လာတွေ့ရှိချက်သည် လုံခြုံသော ပရိုဂရမ်းမင်းနည်းပညာများကို အကောင်အထည်ဖော်ရာတွင် အာရုံစူးစိုက်မှုသည် လက်ရှိကုဒ်ကို ပြန်လည်ရေးသားခြင်းထက် ကုဒ်အသစ်ကို ဖယ်ရှားသင့်သည်ဟူသော ယူဆချက်ကို အတည်ပြုပေးပါသည်။
source: opennet.ru