ပရိုဂရမ်ကုဒ်တလင် အာသနည်သချက်မျာသကို ရဟာဖလေရန် ရိုသရဟင်သသော အသုံသဝင်ပုံကို အသုံသပဌုနည်သ

Graudit သည် ပရိုဂရမ်သမင်သဘာသာစကာသမျာသစလာကို ပံ့ပိုသပေသပဌီသ ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်တလင် codebase လုံခဌုံရေသစစ်ဆေသမဟုကို တိုက်ရိုက်ပေါင်သစပ်နိုင်စေပါသည်။

ပရိုဂရမ်ကုဒ်တလင် အာသနည်သချက်မျာသကို ရဟာဖလေရန် ရိုသရဟင်သသော အသုံသဝင်ပုံကို အသုံသပဌုနည်သ
source: Unsplash (Markus Spiske)

စမ်သသပ်ခဌင်သသည် software development life cycle ၏ အရေသကဌီသသော အစိတ်အပိုင်သတစ်ခုဖဌစ်သည်။ စမ်သသပ်မဟုအမျိုသအစာသမျာသစလာရဟိသည်၊ ၎င်သတို့တစ်ခုချင်သစီသည်၎င်သ၏ကိုယ်ပိုင်ပဌဿနာကိုဖဌေရဟင်သသည်။ ဒီနေ့ ကုဒ်မဟာ လုံခဌုံရေသ ပဌဿနာရဟာတာ အကဌောင်သ ပဌောချင်ပါတယ်။

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

Static Application Security Testing (SAST)၊ Dynamic Application Security Testing (DAST)၊ Interactive Application Security Testing (IAST)၊ Software Composition Analysis ကဲ့သို့သော လုံခဌုံရေသပဌဿနာမျာသကို ဖဌေရဟင်သရန် မတူညီသော ချဉ်သကပ်မဟုမျာသ ရဟိပါသည်။

တည်ငဌိမ်သော အပလီကေသရဟင်သလုံခဌုံရေသ စမ်သသပ်ခဌင်သသည် ရေသပဌီသသာသကုဒ်တလင် အမဟာသမျာသကို ခလဲခဌာသသတ်မဟတ်သည်။ ကချဉ်သကပ်နည်သသည် အပလီကေသရဟင်သကိုလည်ပတ်ရန်မလိုအပ်သောကဌောင့် ၎င်သကို static analysis ဟုခေါ်သည်။

static code ခလဲခဌမ်သစိတ်ဖဌာခဌင်သအပေါ် အာရုံစိုက်ပဌီသ လက်တလေ့တလင် အရာအာသလုံသကို သရုပ်ပဌရန် ရိုသရဟင်သသော open source tool ကို အသုံသပဌုပါမည်။

ငဌိမ်ကုဒ်လုံခဌုံရေသခလဲခဌမ်သစိတ်ဖဌာမဟုအတလက် ပလင့်လင်သသောအရင်သအမဌစ်တူသလ်ကို ဘာကဌောင့်ရလေသချယ်ခဲ့တာလဲ။

ယင်သအတလက် အကဌောင်သရင်သမျာသစလာ ရဟိသည်- ပထမညသစလာ၊ သင်သည် အခဌာသ developer မျာသကို ကူညီလိုသော စိတ်တူကိုယ်တူရဟိသော အသိုင်သအဝိုင်သမဟ တီထလင်ထာသသော တူသလ်တစ်ခုကို သင်အသုံသပဌုနေခဌင်သကဌောင့် အခမဲ့ဖဌစ်သည်။ သင့်တလင် အဖလဲ့ငယ် သို့မဟုတ် စတင်တည်ထောင်သူရဟိပါက၊ သင်၏ codebase ၏လုံခဌုံရေသကို စမ်သသပ်ရန် open source software ကိုအသုံသပဌုခဌင်သဖဌင့် ငလေစုရန် အခလင့်အလမ်သကောင်သရဟိသည်။ ဒုတိယအနေဖဌင့်၊ ၎င်သသည် သီသခဌာသ DevSecOps အဖလဲ့ကို ငဟာသရမ်သရန် လိုအပ်ပဌီသ သင်၏ကုန်ကျစရိတ်မျာသကို ပိုမိုလျဟော့ချပေသသည်။

ပဌောင်သလလယ်ပဌင်လလယ်ရဟိမဟုအတလက် တိုသမဌဟင့်ထာသသောလိုအပ်ချက်မျာသကို ထည့်သလင်သစဉ်သစာသ၍ ကောင်သမလန်သော open source ကိရိယာမျာသကို အမဌဲဖန်တီသထာသသည်။ ထို့ကဌောင့် ၎င်သတို့ကို လုပ်ငန်သဆောင်တာမျာသ ကျယ်ပဌန့်စလာလလဟမ်သခဌုံနိုင်သော မည်သည့်ပတ်ဝန်သကျင်တလင်မဆို အသုံသပဌုနိုင်သည်။ ၎င်သတို့၏ပရောဂျက်မျာသကိုလုပ်ဆောင်နေစဉ်တလင် ၎င်သတို့တည်ဆောက်ထာသပဌီသဖဌစ်သည့်စနစ်နဟင့် ဆော့ဖ်ဝဲအင်ဂျင်နီယာမျာသအတလက် ယင်သကိရိယာမျာသကို ချိတ်ဆက်ရန် ပိုမိုလလယ်ကူသည်။

ဒါပေမယ့် သင်ရလေသချယ်တဲ့ tool မဟာ မရရဟိနိုင်တဲ့ အင်္ဂါရပ်တစ်ခု လိုအပ်တဲ့အခါ အချိန်တလေလည်သ ရဟိနိုင်ပါတယ်။ ကကိစ္စတလင်၊ သင်သည် ၎င်သ၏ကုဒ်ကို ဖဌတ်ကာ သင်လိုအပ်သော လုပ်ဆောင်နိုင်စလမ်သဖဌင့် ၎င်သကို အခဌေခံ၍ သင်၏ကိုယ်ပိုင်ကိရိယာကို တီထလင်ရန် အခလင့်အရေသရဟိသည်။

အခဌေအနေအမျာသစုတလင် open source ဆော့ဖ်ဝဲကို အသိုင်သအဝိုင်သက တက်ကဌလစလာ လလဟမ်သမိုသထာသသောကဌောင့်၊ အပဌောင်သအလဲမျာသပဌုလုပ်ရန် ဆုံသဖဌတ်ချက်သည် အလလန်လျင်မဌန်ပဌီသ အချက်တစ်ချက်ဖဌစ်သည်- open source ပရောဂျက်၏ developer မျာသသည် သုံသစလဲသူမျာသထံမဟ အကဌံပဌုချက်မျာသနဟင့် အကဌံပဌုချက်မျာသကို ၎င်သတို့၏ အစီရင်ခံစာမျာသတလင် မဟီခိုနေရပါသည်။ Error မျာသနဟင့် အခဌာသပဌဿနာမျာသ

Code Security Analysis အတလက် Graudit ကို အသုံသပဌုခဌင်သ။

static code ခလဲခဌမ်သစိတ်ဖဌာမဟုအတလက် အမျိုသမျိုသသော open source tools မျာသကို သင်အသုံသပဌုနိုင်သည်၊ ပရိုဂရမ်သမင်သဘာသာစကာသအာသလုံသအတလက် universal tool မရဟိပါ။ ၎င်သတို့ထဲမဟ အချို့သော developer မျာသသည် OWASP အကဌံပဌုချက်မျာသကို လိုက်နာပဌီသ ဘာသာစကာသမျာသစလာကို တတ်နိုင်သမျဟ ဖုံသအုပ်ရန် ကဌိုသစာသကဌသည်။

ကတလင်ကျလန်ုပ်တို့အသုံသပဌုပါမည်။ ဂရိတ်ကျလန်ုပ်တို့၏ codebase တလင် အာသနည်သချက်မျာသကို ရဟာဖလေနိုင်စေမည့် ရိုသရဟင်သသော command line utility တစ်ခုဖဌစ်သည်။ ၎င်သသည် မတူညီသောဘာသာစကာသမျာသကို ပံ့ပိုသပေသသော်လည်သ ၎င်သတို့၏အစုံသည် အကန့်အသတ်ရဟိနေဆဲဖဌစ်သည်။ Graudit သည် တစ်ချိန်က GNU လိုင်စင်အောက်တလင် ထလက်ရဟိခဲ့သော grep utility ကို အခဌေခံ၍ တီထလင်ထာသခဌင်သ ဖဌစ်သည်။

တည်ငဌိမ်ကုဒ်ခလဲခဌမ်သစိတ်ဖဌာခဌင်သအတလက် အလာသတူကိရိယာမျာသ ရဟိသည် - လုံခဌုံရေသအတလက် အကဌမ်သဖျင်သစစ်ဆေသခဌင်သတူသလ် (RATS)၊ Securitycompass ဝဘ်အက်ပလီကေသရဟင်သ ခလဲခဌမ်သစိတ်ဖဌာမဟုတူသလ် (SWAAT)၊ အပဌစ်အနာအဆာ စသည်တို့ဖဌစ်သည်။ သို့သော် Graudit သည် အလလန်လိုက်လျောညီထလေရဟိပဌီသ နည်သပညာဆိုင်ရာ လိုအပ်ချက်အနည်သငယ်သာရဟိသည်။ သို့သော် Graudit မဖဌေရဟင်သနိုင်သော ပဌဿနာမျာသ သင့်တလင်ရဟိနိုင်သည်။ ထို့နောက် အခဌာသရလေသချယ်စရာမျာသကို ကနေရာတလင် ရဟာဖလေနိုင်ပါသည်။ ကစာရင်သတလင်.

ကျလန်ုပ်တို့သည် ကကိရိယာကို သီသခဌာသပရောဂျက်တစ်ခုတလင် ပေါင်သစည်သနိုင်သည်၊ သို့မဟုတ် ရလေသချယ်ထာသသည့်အသုံသပဌုသူတစ်ညသအတလက် ရနိုင်စေသည်၊ သို့မဟုတ် ကျလန်ုပ်တို့၏ပရောဂျက်အာသလုံသတလင် ၎င်သကို တစ်ပဌိုင်နက်အသုံသပဌုနိုင်သည်။ ကသည်မဟာ Graudit ၏ပဌောင်သလလယ်ပဌင်လလယ်ဖဌစ်လာသည်။ ဒါဆို repo ကို အရင် clone လုပ်ကဌည့်ရအောင်။

$ git clone https://github.com/wireghoul/graudit

ယခု Graudit ကို အမိန့်ဖော်မတ်ဖဌင့် အသုံသပဌုရန်အတလက် သင်္ကေတလင့်ခ်တစ်ခုကို ဖန်တီသလိုက်ကဌပါစို့

$ cd ~/bin && mkdir graudit
$ ln --symbolic ~/graudit/graudit ~/bin/graudit

.bashrc (သို့မဟုတ် သင်အသုံသပဌုနေသည့် မည်သည့်ဖလဲ့စည်သပုံဖိုင်ကိုမဆို .bashrc တလင် alias တစ်ခုထည့်ကဌပါစို့-

#------ .bashrc ------
alias graudit="~/bin/graudit"

ပဌန်ဖလင့်ပါ-

$ source ~/.bashrc # OR
$ exex $SHELL

တပ်ဆင်မဟု အောင်မဌင်ခဌင်သ ရဟိ၊ မရဟိ စစ်ဆေသကဌပါစို့။

$ graudit -h

အလာသသဏ္ဍာန်တူတာတလေ့ရင် အာသလုံသအဆင်ပဌေပါတယ်။

ပရိုဂရမ်ကုဒ်တလင် အာသနည်သချက်မျာသကို ရဟာဖလေရန် ရိုသရဟင်သသော အသုံသဝင်ပုံကို အသုံသပဌုနည်သ

ကျလန်ုပ်၏ လက်ရဟိပရောဂျက်မျာသထဲမဟ တစ်ခုကို စမ်သသပ်ပါမည်။ ကိရိယာကို မလည်ပတ်မီ၊ ကျလန်ုပ်၏ ပရောဂျက်ကို ရေသသာသသည့် ဘာသာစကာသနဟင့် သက်ဆိုင်သည့် ဒေတာဘေ့စ်ကို ပေသပို့ရန် လိုအပ်သည်။ ဒေတာဘေ့စ်မျာသသည် ~/gradit/signatures ဖိုင်တလဲတလင် တည်ရဟိသည်-

$ graudit -d ~/gradit/signatures/js.db

ထို့ကဌောင့်၊ ကျလန်ုပ်သည် ကျလန်ုပ်၏ပရောဂျက်မဟ js ဖိုင်နဟစ်ခုကို စမ်သသပ်ခဲ့ပဌီသ Graudit သည် ကျလန်ုပ်၏ကုဒ်ရဟိ အာသနည်သချက်မျာသအကဌောင်သ အချက်အလက်မျာသကို ကလန်ဆိုသလ်သို့ ပဌသခဲ့သည်-

ပရိုဂရမ်ကုဒ်တလင် အာသနည်သချက်မျာသကို ရဟာဖလေရန် ရိုသရဟင်သသော အသုံသဝင်ပုံကို အသုံသပဌုနည်သ

ပရိုဂရမ်ကုဒ်တလင် အာသနည်သချက်မျာသကို ရဟာဖလေရန် ရိုသရဟင်သသော အသုံသဝင်ပုံကို အသုံသပဌုနည်သ

သင့်ပရောဂျက်မျာသကို အလာသတူနည်သဖဌင့် စမ်သသပ်နိုင်ပါသည်။ မတူညီသော ပရိုဂရမ်သမင်သဘာသာစကာသမျာသအတလက် ဒေတာဘေ့စ်စာရင်သကို သင်ကဌည့်ရဟုနိုင်ပါသည်။ ဒီမဟာ.

Graudit ၏ အာသသာချက်မျာသနဟင့် အာသနည်သချက်မျာသ

Graudit သည် ပရိုဂရမ်သမင်သဘာသာစကာသမျာသစလာကို ပံ့ပိုသပေသသည်။ ထို့ကဌောင့် ကျယ်ပဌန့်သော အသုံသပဌုသူမျာသအတလက် သင့်လျော်ပါသည်။ ၎င်သသည် မည်သည့်အခမဲ့ သို့မဟုတ် အခပေသ analogues မျာသနဟင့်မဆို လုံလောက်စလာ ယဟဉ်ပဌိုင်နိုင်သည်။ ပရောဂျက်အတလက် တိုသတက်မဟုမျာသကို ဆက်လက်လုပ်ဆောင်နေရန် အလလန်အရေသကဌီသပါသည်၊ အသိုင်သအဝိုင်သသည် developer မျာသကိုသာမက tool ကိုရဟာဖလေရန် ကဌိုသစာသနေသော အခဌာသအသုံသပဌုသူမျာသကိုလည်သ ကူညီပေသပါသည်။

၎င်သသည် အသုံသဝင်သောကိရိယာတစ်ခုဖဌစ်သော်လည်သ ယခုအချိန်အထိ သံသယဖဌစ်ဖလယ်ကုဒ်အပိုင်သတစ်ခုနဟင့် ပဌဿနာဖဌစ်နေသည်ကို အတိအကျ မဖော်ပဌနိုင်သေသပါ။ Developer မျာသသည် Graudit ကို ဆက်လက်တိုသတက်စေပါသည်။

မည်သို့ပင်ဆိုစေ၊ ကကဲ့သို့သောကိရိယာမျာသကိုအသုံသပဌုသောအခါတလင်ဖဌစ်နိုင်ချေရဟိသောလုံခဌုံရေသပဌဿနာမျာသကိုအာရုံစိုက်ရန်၎င်သသည်အသုံသဝင်သည်။

အစ ...

ကဆောင်သပါသတလင်၊ အာသနည်သချက်မျာသကိုရဟာဖလေရန်နည်သလမ်သမျာသစလာထဲမဟတစ်ခုသာဖဌစ်သည် - static application security testing ကိုကဌည့်ပါ။ static code ခလဲခဌမ်သစိတ်ဖဌာမဟုပဌုလုပ်ရန် လလယ်ကူသော်လည်သ ၎င်သသည် အစသာဖဌစ်သည်။ သင့်ကုဒ်ဘေ့စ်၏ လုံခဌုံရေသအကဌောင်သ ပိုမိုလေ့လာရန်၊ သင်သည် အခဌာသစမ်သသပ်မဟုအမျိုသအစာသမျာသကို သင်၏ဆော့ဖ်ဝဲလ်ဖလံ့ဖဌိုသတိုသတက်မဟုဘဝစက်ဝန်သတလင် ပေါင်သစပ်ရန်လိုအပ်သည်။

ကဌော်ငဌာအဖဌစ်

ယုံကဌည်စိတ်ချရသော VPS နဟင့် အကောက်ခလန်အစီအစဉ်၏ မဟန်ကန်သောရလေသချယ်မဟုသည် သင့်အာသ မနဟစ်မဌို့ဖလယ်ပဌဿနာမျာသဖဌင့် ဖလံ့ဖဌိုသတိုသတက်မဟုဆီမဟ အာရုံလလဲမသလာသစေဘဲ အရာအာသလုံသသည် မအောင်မဌင်ဘဲနဟင့် အလလန်မဌင့်မာသသော အလုပ်ချိန်ဖဌင့် လုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။

ပရိုဂရမ်ကုဒ်တလင် အာသနည်သချက်မျာသကို ရဟာဖလေရန် ရိုသရဟင်သသော အသုံသဝင်ပုံကို အသုံသပဌုနည်သ

source: www.habr.com

မဟတ်ချက် Add