Fedora ထုတ်ဝေမှုတွင် Linux ၂၀၂၆ ခုနှစ် ဆောင်းဦးရာသီတွင် စီစဉ်ထားသည့် 45 သည် stack buffer overflow ဖြစ်ပေါ်ပါက function များ၏ return address ကို overwrite လုပ်သည့် exploit များကို ပိတ်ဆို့ရန် x86_64 စနစ်များတွင် shadow stack support ကို default အနေဖြင့် enable လုပ်ရန် စီစဉ်ထားသည်။ ဤကာကွယ်မှုကို gcc (C, C++), clang (C, C++) နှင့် rustc (Rust) compilers များကို အသုံးပြု၍ တည်ဆောက်ထားသော application များနှင့် libraries အားလုံးအတွက် enable လုပ်ရန် ရည်ရွယ်ထားသည်။ Fedora ၏ နည်းပညာဖွံ့ဖြိုးတိုးတက်မှုအတွက် တာဝန်ရှိသော FESCo (Fedora Engineering Steering Committee) မှ ဤအစီအစဉ်ကို အတည်မပြုရသေးပါ။ LinuxFedora မှာ shadow stack ထည့်သွင်းဖို့ စတင်ခဲ့သူကတော့ Fedora နဲ့ RHEL မှာ glibc package တွေကို ထိန်းသိမ်းတဲ့ Red Hat က Arjun Shankar ပါ။
ကာကွယ်မှုကို processor hardware စွမ်းရည်များကို အသုံးပြု၍ အကောင်အထည်ဖော်ပြီး ပုံမှန် stack တွင်သာမက control ကို function တစ်ခုသို့ တိုက်ရိုက်ပြုပြင်၍မရသော သီးခြား "shadow" stack တွင်ပါ return address များကို သိမ်းဆည်းခြင်းပါဝင်သည်။ function မှမထွက်မီ return address ကို shadow stack မှရယူပြီး main stack ရှိ return address နှင့် နှိုင်းယှဉ်သည်။ address များတွင် မကိုက်ညီမှုသည် exception တစ်ခုကို ဖြစ်ပေါ်စေပြီး exploit တစ်ခုသည် main stack ရှိ address တစ်ခုကို overwrite လုပ်နိုင်သည့် အခြေအနေများကို ကာကွယ်ပေးသည်။ shadow stack ယန္တရားကို 11th-generation Intel processors (Tiger Lake နှင့် Rocket Lake) နှင့် AMD processors များရှိ Zen3 microarchitecture မှစတင်၍ ပံ့ပိုးပေးသည်။
source: opennet.ru
