Facebook သည် Python ဘာသာစကားအတွက် static analyzer Pysa ကို မိတ်ဆက်ပေးခဲ့သည်။

Facebook က မိတ်ဆက်ပေးခဲ့သည် static analyzer ကိုဖွင့်ပါ။ ပုစွန် (Python Static Analyzer)၊ Python ကုဒ်တွင် ဖြစ်နိုင်ချေရှိသော အားနည်းချက်များကို ရှာဖွေဖော်ထုတ်ရန် ဒီဇိုင်းပြုလုပ်ထားသည်။ ခွဲခြမ်းစိတ်ဖြာသူအသစ်သည် အမျိုးအစားစစ်ဆေးခြင်းကိရိယာအစုံအတွက် အပိုပရိုဂရမ်တစ်ခုအဖြစ် ဒီဇိုင်းထုတ်ထားသည်။ Pyre ပြီး​တော့ သူ့​စာ​ရင်း​မှာ တင်​ထား​တယ်။ ကုဒ် ပုံနှိပ်ထုတ်ဝေ MIT လိုင်စင်အောက်တွင်။

Pysa သည် ကုဒ်လုပ်ဆောင်မှု၏ရလဒ်အဖြစ် ဒေတာစီးဆင်းမှုဆိုင်ရာ ခွဲခြမ်းစိတ်ဖြာမှုကို ပံ့ပိုးပေးသည်၊ ၎င်းသည် သင့်အား မပေါ်သင့်သောနေရာများတွင် ဒေတာအသုံးပြုခြင်းနှင့်ဆက်စပ်သော ဖြစ်နိုင်ခြေရှိသော အားနည်းချက်များနှင့် ကိုယ်ရေးကိုယ်တာပြဿနာများစွာကို ရှာဖွေဖော်ထုတ်နိုင်စေပါသည်။
ဥပမာအားဖြင့်၊ Pysa သည် ပြင်ပပရိုဂရမ်များ၊ ဖိုင်လုပ်ဆောင်မှုများတွင်၊ နှင့် SQL တည်ဆောက်မှုများတွင် ပြင်ပပရိုဂရမ်များကိုဖွင့်သည့်ခေါ်ဆိုမှုများတွင် ကုန်ကြမ်းပြင်ပဒေတာအသုံးပြုမှုကို ခြေရာခံနိုင်သည်။

ခွဲခြမ်းစိတ်ဖြာသူ၏အလုပ်သည် မူရင်းဒေတာကိုအသုံးမပြုသင့်သည့် ဒေတာအရင်းအမြစ်များကို ခွဲခြားသတ်မှတ်ခြင်းနှင့် အန္တရာယ်ရှိသောခေါ်ဆိုမှုများတွင် ဆင်းသက်လာသည်။ ဝဘ်တောင်းဆိုမှုများမှဒေတာ (ဥပမာ၊ Django ရှိ HttpRequest.GET အဘိဓာန်) ကို အရင်းအမြစ်တစ်ခုအဖြစ် သတ်မှတ်ပြီး eval နှင့် os.open ကဲ့သို့သော ခေါ်ဆိုမှုများကို အန္တရာယ်ရှိသော အသုံးပြုမှုများအဖြစ် သတ်မှတ်သည်။ Pysa သည် လုပ်ဆောင်ချက်ခေါ်ဆိုမှုများ၏ ကွင်းဆက်မှတစ်ဆင့် ဒေတာစီးဆင်းမှုကို ခြေရာခံပြီး အရင်းအမြစ်ဒေတာကို ကုဒ်ရှိ အန္တရာယ်ရှိနိုင်သည့်နေရာများနှင့် ပေါင်းစပ်ထားသည်။ Pysa ကိုအသုံးပြု၍ ဖော်ထုတ်ထားသော ပုံမှန်အားနည်းချက်တစ်ခုသည် ပွင့်လင်းစွာပြန်ညွှန်းသည့်ပြဿနာကို ဖော်ပြသည် (CVE-2019-19775) ပုံသေးများကို rendering လုပ်သောအခါ မသန့်ရှင်းသော ပြင်ပဘောင်များကို ဖြတ်သန်းခြင်းကြောင့် ဖြစ်ပေါ်လာသော Zulip စာတိုပေးပို့ခြင်း ပလပ်ဖောင်းတွင်။

Pysa ၏ ဒေတာစီးဆင်းမှု ခြေရာခံနိုင်မှု စွမ်းရည်များ လျှောက်ထားပါ။ အပိုဘောင်များကို မှန်ကန်သောအသုံးပြုမှုကို အတည်ပြုရန်နှင့် အသုံးပြုသူဒေတာအသုံးပြုမှုမူဝါဒနှင့် လိုက်လျောညီထွေရှိမှုကို ဆုံးဖြတ်ရန်။ ဥပမာအားဖြင့်၊ အပိုဆက်တင်များမပါဘဲ Pysa ကို Django နှင့် Tornado မူဘောင်များကို အသုံးပြု၍ ပရောဂျက်များကို စစ်ဆေးရန် အသုံးပြုနိုင်သည်။ Pysa သည် SQL Injection နှင့် Cross-site Scripting (XSS) ကဲ့သို့သော ဝဘ်အပလီကေးရှင်းများတွင် ဘုံအားနည်းချက်များကို ရှာဖွေနိုင်သည်။

Facebook တွင် Instagram ဝန်ဆောင်မှု၏ကုဒ်ကို စစ်ဆေးရန် ခွဲခြမ်းစိတ်ဖြာသူကို အသုံးပြုသည်။ 2020 ခုနှစ် ပထမသုံးလပတ်တွင်၊ Pysa သည် Instagram ၏ server-side codebase တွင် တွေ့ရှိရသည့် ပြဿနာအားလုံး၏ 44% ကို Facebook မှ အင်ဂျင်နီယာများအား ဖော်ထုတ်နိုင်ခဲ့သည်။
စုစုပေါင်း၊ Pysa ၏ အလိုအလျောက်ပြောင်းလဲမှုပြန်လည်သုံးသပ်ခြင်းလုပ်ငန်းစဉ်သည် ပြသနာပေါင်း 330 ကိုဖော်ထုတ်ခဲ့ပြီး ၎င်းတို့အနက် 49 (15%) သည် အဓိကအဖြစ် အဆင့်သတ်မှတ်ခံရပြီး 131 (40%) သည် ပြင်းထန်ခြင်းမရှိပါ။ အမှုပေါင်း 150 (45%) တွင် ပြဿနာများကို မှားယွင်းသော အပြုသဘောများအဖြစ် ခွဲခြားထားသည်။

source: opennet.ru

မှတ်ချက် Add