မာတိကာ[ဖျောက်][ရှိုး]
- ဒါဆို Static Application Security Testing (SAST) ဆိုတာ ဘာလဲ။
- SAST က ဘာကြောင့် အရေးကြီးတာလဲ။
- SAST ဘယ်လိုအလုပ်လုပ်သလဲ။
- အားသာချက်များ
- အားနည်းချက်များ
- Dynamic Application Security Testing (DAST) ဆိုတာဘာလဲ။
- DAST က ဘာကြောင့် အရေးကြီးတာလဲ။
- DAST ဘယ်လိုအလုပ်လုပ်သလဲ။
- အားသာချက်များ
- အားနည်းချက်များ
- SAST နှင့် DAST
- SAST ကို ဘယ်အချိန်မှာ သုံးမလဲ။
- DAST ကို ဘယ်အချိန်မှာ သုံးမလဲ။
- SAST နှင့် DAST သည် အတူတကွ လုပ်ဆောင်နိုင်ပါသလား။
- ကောက်ချက်
ကျွမ်းကျင်သော ပရိုဂရမ်မာများပင်လျှင် ဒေတာခိုးယူခံရနိုင်သည့် အန္တရာယ်ရှိနိုင်သော ကုဒ်ကို ဖန်တီးနိုင်သည်။ သင့်ကုဒ်သည် လုံခြုံပြီး အားနည်းချက်များနှင့် လုံခြုံရေးဆိုင်ရာ စိုးရိမ်စရာများ ကင်းရှင်းကြောင်း သေချာစေရန် အပလီကေးရှင်းလုံခြုံရေးစစ်ဆေးမှုသည် မရှိမဖြစ်လိုအပ်ပါသည်။
ဖြစ်နိုင်ချေရှိသော ဆော့ဖ်ဝဲလ် အားနည်းချက်များစာရင်းသည် နှစ်စဉ် သိသိသာသာ တိုးလာနေပုံရပြီး ယနေ့ခေတ် ခြိမ်းခြောက်မှုများကို ယခင်ကထက် ပိုမိုကြီးမားလာစေသည်။ ဖွံ့ဖြိုးတိုးတက်မှုအဖွဲ့များသည် အချိန်တိုအတွင်း အသစ်ပြန်လည်ဖြန့်ကျက်မှုကို ပံ့ပိုးပေးရန် ကြိုးစားနေပါက သင့်အက်ပ်လီကေးရှင်းများ ပျက်ယွင်းသွားနိုင်သည်။
အပလီကေးရှင်းများကို သုံးစွဲသူများအတွက် ကုန်စည်နှင့်ဝန်ဆောင်မှုများ၊ တိုင်ပင်ဆွေးနွေးမှုများ၊ ဖျော်ဖြေရေး၊ ဖျော်ဖြေရေးစသည်တို့ကို အသုံးပြုရန် ပိုမိုလွယ်ကူ၍ လွယ်ကူစေရန်၊
coding အဆင့်မှ ထုတ်လုပ်ခြင်းနှင့် ဖြန့်ကျက်ခြင်းအထိ၊ သင်ဖန်တီးသည့် အပလီကေးရှင်းတိုင်း၏ လုံခြုံရေးကို စမ်းသပ်ရပါမည်။
အပလီကေးရှင်းလုံခြုံရေးစစ်ဆေးမှုကို SAST (Static Application Security Testing) နှင့် DAST (Dynamic Application Security Testing) နည်းလမ်းနှစ်မျိုးဖြင့် လုပ်ဆောင်နိုင်သည်။
အချို့သူများသည် SAST၊ အချို့ DAST ကိုရွေးချယ်ကြပြီး အချို့က ပေါင်းစည်းခြင်းနှစ်ခုလုံးကို နှစ်သက်ကြသည်။ အဖွဲ့များသည် ဤအပလီကေးရှင်းလုံခြုံရေးဗျူဟာများထဲမှ တစ်ခုခုကို အသုံးပြု၍ လုံခြုံသောဆော့ဖ်ဝဲကို စမ်းသပ်ပြီး ထုတ်ဝေနိုင်သည်။
ဘယ်အခြေအနေမျိုးမှာမဆို ဘယ်အရာက ပိုကောင်းလဲဆိုတာ ဆုံးဖြတ်ဖို့အတွက်၊ SAST နဲ့ DAST ကို ဒီပို့စ်မှာ နှိုင်းယှဉ်ကြည့်ပါမယ်။
ဤနေရာတွင် ပေးထားသော ဒေတာကို မည်သည့် အက်ပ်လီကေးရှင်း လုံခြုံရေးနည်းပညာက သင့်လုပ်ငန်းအတွက် အကောင်းဆုံးဖြစ်သည်ကို ဆုံးဖြတ်ရန် အသုံးပြုနိုင်သည်။
ဒါဆို Static Application Security Testing (SAST) ဆိုတာ ဘာလဲ။
SAST သည် SQL injection ကဲ့သို့သော အပလီကေးရှင်း အားနည်းချက်များနှင့် ချို့ယွင်းချက်များ အပါအဝင် အားနည်းချက် အရင်းအမြစ်အားလုံးကို ရှာဖွေသိရှိရန် ၎င်း၏ အရင်းအမြစ်ကုဒ်ကို ကိန်းဂဏန်းဖြင့် ဆန်းစစ်ခြင်းဖြင့် အပလီကေးရှင်းတစ်ခုအား လုံခြုံစေရန်အတွက် စမ်းသပ်မှုနည်းလမ်းတစ်ခုဖြစ်သည်။
SAST ကို တစ်ခါတစ်ရံတွင် "white-box" လုံခြုံရေးစမ်းသပ်ခြင်းဟု လူသိများပြီး ၎င်းသည် အပလီကေးရှင်း၏အတွင်းပိုင်းအစိတ်အပိုင်းများကို ချို့ယွင်းချက်ရှာဖွေတွေ့ရှိရန် အကျယ်တဝင့်ခွဲခြမ်းစိတ်ဖြာသောကြောင့်ဖြစ်သည်။
တည်ဆောက်မှုမပြီးမီတွင် အပလီကေးရှင်းဖွံ့ဖြိုးတိုးတက်မှု အစောပိုင်းအဆင့်များတွင် ကုဒ်အဆင့်တွင် လုပ်ဆောင်သည်။ အပလီကေးရှင်း၏ အစိတ်အပိုင်းများကို စမ်းသပ်သည့် ပတ်ဝန်းကျင်တွင် ပေါင်းထည့်ပြီးနောက် ၎င်းကိုလည်း လုပ်ဆောင်နိုင်သည်။
ထို့အပြင်၊ အက်ပလီကေးရှင်းတစ်ခု၏အရည်အသွေးကိုသေချာစေရန် SAST ကိုအသုံးပြုသည်။ ထို့အပြင်၊ ၎င်းကို SAST ကိရိယာများဖြင့် အက်ပလီကေးရှင်း၏ကုဒ်ကို အလေးပေးထားသည်။
ဤကိရိယာများသည် ဖြစ်နိုင်ချေရှိသော လုံခြုံရေးချို့ယွင်းချက်များနှင့် အားနည်းချက်များအတွက် အက်ပ်၏အရင်းအမြစ်ကုဒ်နှင့် ၎င်း၏အစိတ်အပိုင်းအားလုံးကို စစ်ဆေးပါသည်။ ၎င်းတို့သည် စက်ရပ်ချိန်ကို လျှော့ချရန်နှင့် ဒေတာဝင်ရောက်မှု ဖြစ်နိုင်ခြေကိုလည်း ကူညီပေးသည်။
အောက်ပါတို့သည် စျေးကွက်ရှိ ထိပ်တန်း SAST ကိရိယာများထဲမှ အချို့ဖြစ်သည်။
SAST က ဘာကြောင့် အရေးကြီးတာလဲ။
static application security testing ၏ အရေးကြီးဆုံးအားသာချက်မှာ ဖိုင်အမည်နှင့် လိုင်းနံပါတ် အပါအဝင် ပြဿနာများကို ဖော်ထုတ်ရန်နှင့် ၎င်းတို့၏ သီးခြားတည်နေရာများကို သတ်မှတ်ရန် ၎င်း၏စွမ်းရည်ဖြစ်သည်။
SAST ကိရိယာသည် အတိုချုံးအကျဉ်းချုပ်ကို ပေးဆောင်မည်ဖြစ်ပြီး တွေ့ရှိသည့် ပြဿနာတိုင်း၏ ပြင်းထန်မှုကို ညွှန်ပြမည်ဖြစ်သည်။ အမှားအယွင်းများကို ရှာဖွေတွေ့ရှိခြင်းသည် ဆော့ဖ်ဝဲရေးသားသူ၏ အလုပ်၏ အချိန်အများဆုံး အစိတ်အပိုင်းများထဲမှ တစ်ခုဖြစ်သော်လည်း၊ ၎င်းသည် မျက်နှာပြင်ပေါ်တွင် ရိုးရှင်းစွာ ပေါ်လာနိုင်သည်။
ပြဿနာတစ်ခုရှိနေသည်ကို သိရှိသော်လည်း ဖော်ထုတ်နိုင်ခြင်းမရှိခြင်းသည် စိတ်တိုစရာအကောင်းဆုံးအခြေအနေဖြစ်သည်၊ အထူးသဖြင့် ပေးထားသည့်တစ်ခုတည်းသောအချက်အလက်များမှာ အုံ့ဆိုင်းနေသည့်အစုလိုက်ခြေရာများ သို့မဟုတ် မထင်မရှား compiler error မက်ဆေ့ချ်များမှနေ၍ဖြစ်သည်။
SAST ကို အပလီကေးရှင်းများစွာတွင် အသုံးချနိုင်ပြီး အဆင့်မြင့်ဘာသာစကားများစွာကို ထောက်ပံ့ပေးနိုင်သည်။ ထို့အပြင်၊ SAST ကိရိယာအများစုသည် ကျယ်ပြန့်သော ဖွဲ့စည်းမှုပုံစံရွေးချယ်စရာများကို ပေးဆောင်သည်။
SAST ဘယ်လိုအလုပ်လုပ်သလဲ။
စတင်ရန်၊ သင့်အပလီကေးရှင်းအတွက် တည်ဆောက်မှုစနစ်တွင် သင်အသုံးပြုမည့် SAST ကိရိယာကို သင်ဆုံးဖြတ်ရပါမည်။ ထို့ကြောင့်၊ သင်သည် အောက်ပါတို့အပါအဝင် အချက်များစွာအပေါ် အခြေခံ၍ SAST tool ကို ရွေးချယ်ရပါမည်။
- အပလီကေးရှင်းကို ဖန်တီးရာတွင် အသုံးပြုသည့် ဘာသာစကား
- ရှိပြီးသား CI သို့မဟုတ် အခြားသော ဖွံ့ဖြိုးတိုးတက်ရေးကိရိယာများဖြင့် ထုတ်ကုန်၏ အပြန်အလှန်လုပ်ဆောင်နိုင်မှု
- မှားယွင်းသော အပြုသဘော အရေအတွက် အပါအဝင် ပြဿနာများကို ဖော်ထုတ်ရာတွင် ပရိုဂရမ်၏ ထိရောက်မှု
- သီးခြားစံနှုန်းများကို စစ်ဆေးရန် ၎င်း၏စွမ်းရည်အပြင် tool သည် ကွဲပြားသောအားနည်းချက်အမျိုးအစားမည်မျှကို ကိုင်တွယ်နိုင်သနည်း။
ထို့ကြောင့်၊ သင်၏ SAST ကိရိယာကို ရွေးချယ်ပြီးနောက်၊ သင်သည် ၎င်းကို စတင်အသုံးပြုနိုင်သည်။
SAST ကိရိယာများလည်ပတ်ပုံမှာ အောက်ပါအတိုင်းဖြစ်သည်။
- အရင်းအမြစ်ကုဒ်၊ ဖွဲ့စည်းမှုပုံစံများ၊ ပတ်ဝန်းကျင်၊ မှီခိုမှု၊ ဒေတာစီးဆင်းမှုနှင့် အခြားဒြပ်စင်များ၏ ပြည့်စုံသောပုံတစ်ပုံကို ရရှိရန်၊ ကိရိယာသည် အနားယူနေချိန်တွင် ကုဒ်ကို စကင်န်ဖတ်မည်ဖြစ်သည်။
- မျဉ်းကြောင်းတစ်ကြောင်းစီနှင့် ညွှန်ကြားချက်ဖြင့် ညွှန်ကြားချက်၊ အက်ပ်၏ကုဒ်ကို ကြိုတင်သတ်မှတ်ထားသော စံနှုန်းများနှင့် နှိုင်းယှဉ်ထားသောကြောင့် ၎င်းကို SAST tool ဖြင့် စစ်ဆေးမည်ဖြစ်သည်။ SQL ထိုးနှံမှုများ၊ ကြားခံအလျှံပယ်များ၊ XSS ပြဿနာများနှင့် အခြားစိုးရိမ်မှုများ အပါအဝင် လုံခြုံရေးအပေါက်များနှင့် ချို့ယွင်းချက်များကို ရှာဖွေရန် သင့်အရင်းအမြစ်ကုဒ်ကို စမ်းသပ်မည်ဖြစ်သည်။
- SAST အကောင်အထည်ဖော်မှု၏အောက်ပါအဆင့်သည် SAST ကိရိယာများကို အသုံးပြု၍ ကုဒ်ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် စိတ်ကြိုက်ပြင်ဆင်ထားသော စည်းမျဉ်းများဖြစ်သည်။
ထို့ကြောင့်၊ ပြဿနာများကို ဖော်ထုတ်ခြင်းနှင့် ၎င်းတို့၏အကျိုးသက်ရောက်မှုများကို အကဲဖြတ်ခြင်းသည် ၎င်းတို့ကို ဖြေရှင်းနည်းနှင့် ပရိုဂရမ်၏ လုံခြုံရေးကို မြှင့်တင်ရန် သင့်အား ကူညီပေးမည်ဖြစ်သည်။
SAST ကိရိယာများကြောင့် ဖြစ်ပေါ်လာသော မှားယွင်းသော အပြုသဘောဆောင်မှုများကို ဖော်ထုတ်ရန်၊ သင်သည် ကုဒ်နံပါတ်၊ လုံခြုံရေးနှင့် ဒီဇိုင်းတို့ကို ခိုင်မာစွာ နားလည်ထားရပါမည်။ တနည်းအားဖြင့် သင်သည် မှားယွင်းသော အပြုသဘောများကို လျှော့ချရန် သို့မဟုတ် ဖယ်ရှားရန် သင့်ကုဒ်ကို ပြင်ဆင်နိုင်သည်။
SAST အကျိုးကျေးဇူးများ
1. ပိုမြန်ပြီး ပိုတိကျတယ်။
SAST ကိရိယာများသည် သင့်အပလီကေးရှင်းနှင့် ၎င်း၏အရင်းအမြစ်ကုဒ်ကို ကျယ်ကျယ်ပြန့်ပြန့်စကင်န်ဖတ်ခြင်းတွင် ကိုယ်တိုင်ကုဒ်ပြန်လည်သုံးသပ်ခြင်းထက် ပိုမိုမြန်ဆန်ပါသည်။ အခြေခံပြဿနာများကိုရှာဖွေရန် နည်းပညာများသည် သန်းပေါင်းများစွာသောကုဒ်လိုင်းများကို လျင်မြန်စွာနှင့် တိကျစွာစစ်ဆေးနိုင်သည်။
ထို့အပြင်၊ SAST ကိရိယာများသည် စိုးရိမ်ပူပန်မှုများကို ချက်ခြင်းဖြေရှင်းရာတွင် သင့်အား ကူညီပေးနေစဉ် ၎င်း၏လုပ်ဆောင်နိုင်စွမ်းနှင့် သမာဓိရှိမှုကို ထိန်းသိမ်းရန်အတွက် လုံခြုံရေးအတွက် သင့်ကုဒ်ကို အဆက်မပြတ်စစ်ဆေးပါသည်။
2. အစောပိုင်းဖွံ့ဖြိုးမှုဆိုင်ရာ လုံခြုံရေးအတွက် ပံ့ပိုးပေးသည်။
အက်ပလီကေးရှင်းတစ်ခု၏ သက်တမ်းအစောပိုင်းတွင်၊ SAST သည် လုံခြုံရေးအာမခံချက်အတွက် မရှိမဖြစ်လိုအပ်ပါသည်။ ကုဒ်ရေးခြင်း သို့မဟုတ် ဒီဇိုင်းရေးဆွဲခြင်း လုပ်ငန်းစဉ်အတွင်း၊ ၎င်းသည် သင့်အရင်းအမြစ်ကုဒ်တွင် အားနည်းချက်များကို ဖော်ထုတ်နိုင်စေပါသည်။ ၎င်းတို့ကို စောစီးစွာသိရှိနိုင်သည့်အခါ ပြဿနာများကို ကုစားရန်မှာလည်း ပိုမိုလွယ်ကူပါသည်။
မည်သို့ပင်ဆိုစေကာမူ၊ သင်သည် ပြဿနာများကို ဖော်ထုတ်ရန် စမ်းသပ်မှုများကို စောစီးစွာ မလုပ်ဆောင်ဘဲ ဖွံ့ဖြိုးတိုးတက်မှု၏ နိဂုံးချုပ်သည့်တိုင်အောင် ဆက်လက်တည်ရှိနေပါက၊ တည်ဆောက်မှုတွင် ပင်ကိုယ်အမှားများနှင့် ကျရှုံးမှုများစွာ ရှိနိုင်ပါသည်။
ရလဒ်အနေဖြင့် ၎င်းတို့ကို နားလည်ခြင်းနှင့် ကုသခြင်းသည် ခက်ခဲပြီး အချိန်ကုန်ကာ သင်၏ထုတ်လုပ်မှုနှင့် ဖြန့်ကျက်မှုအချိန်ဇယားကို ပိုမိုနှောင့်နှေးစေသည်။
သို့သော်၊ အားနည်းချက်များကို ဖာထေးမည့်အစား SAST ကိုအသုံးပြုခြင်းဖြင့် သင့်အား အချိန်နှင့်ငွေကို သက်သာစေမည်ဖြစ်သည်။ ထို့အပြင်၊ ၎င်းသည် client နှင့် server နှစ်ဖက်စလုံးတွင်အားနည်းချက်များကိုစမ်းသပ်နိုင်စွမ်းရှိသည်။
3. ပေါင်းစပ်ရန် ရိုးရှင်းပါသည်။
SAST ကိရိယာများသည် အပလီကေးရှင်းဖွံ့ဖြိုးတိုးတက်မှုဘဝစက်ဝန်း၏ လက်ရှိလုပ်ငန်းစဉ်များတွင် ထည့်သွင်းရန် ရိုးရှင်းပါသည်။ ၎င်းတို့သည် အခြားသော လုံခြုံရေးစမ်းသပ်ကိရိယာများ၊ အရင်းအမြစ်ကုဒ် သိုလှောင်ရာနေရာများနှင့် ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာ ပတ်ဝန်းကျင်များဖြင့် အခက်အခဲမရှိဘဲ လည်ပတ်နိုင်သည်။
မြင့်မားသောသင်ယူမှုမျဉ်းမရှိဘဲ စားသုံးသူများထံမှ အများဆုံးရနိုင်စေရန် ၎င်းတို့တွင် အသုံးပြုရလွယ်ကူသော အင်တာဖေ့စ်လည်းရှိသည်။
4. လုံခြုံသော Coding
ဒက်စတော့များ၊ မိုဘိုင်းကိရိယာများ၊ မြှုပ်သွင်းထားသော စနစ်များ သို့မဟုတ် ဝဘ်ဆိုက်များအတွက် ကုဒ်ရေးသည်ဖြစ်စေ လုံခြုံသော ကုဒ်နံပါတ်ကို အမြဲသေချာစေရမည်။ အစကတည်းက လုံခြုံစိတ်ချရသော ကုဒ်ကိုရေးခြင်းဖြင့် သင့်အပလီကေးရှင်းကို ဟက်ခ်ခံရနိုင်ခြေကို လျှော့ချပါ။
အကြောင်းရင်းမှာ တိုက်ခိုက်သူများသည် မကောင်းသောကုဒ်ဖြင့် ပရိုဂရမ်များကို လျင်မြန်စွာ ပစ်မှတ်ထားနိုင်ပြီး ဒေတာခိုးယူမှု၊ စကားဝှက်များ၊ အကောင့်သိမ်းယူမှုများနှင့် အခြားအရာများ အပါအဝင် ထိခိုက်စေသည့် လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်ခြင်းကြောင့် ဖြစ်သည်။
၎င်းသည် သင့်လုပ်ငန်းတွင် ဖောက်သည်များ၏ ယုံကြည်မှုအပေါ် အပျက်သဘောဆောင်သော သက်ရောက်မှုရှိသည်။ SAST ကိုအသုံးပြုခြင်းဖြင့် သင့်အား ဘေးကင်းသော ကုဒ်ရေးနည်းများကို ချက်ချင်းချမှတ်နိုင်စေပြီး ၎င်းတို့၏ဘဝတစ်လျှောက်လုံး ကြီးထွားရန် ခိုင်မာသောအခြေခံအုတ်မြစ်ကို ပေးစွမ်းနိုင်မည်ဖြစ်သည်။
5. အန္တရာယ်များသော အားနည်းချက်များကို ရှာဖွေခြင်း။
SAST ကိရိယာများသည် အက်ပလီကေးရှင်းကို သက်တမ်းတစ်လျှောက်လုံး ပျက်စီးစေမည့် အပလီကေးရှင်းကို လည်ပတ်၍မရသော SQL ဆေးထိုးခြင်းဆိုင်ရာ ချို့ယွင်းချက်များ အပါအဝင် အန္တရာယ်မြင့်မားသော အပလီကေးရှင်းချို့ယွင်းချက်များကို ဖော်ထုတ်နိုင်သည်။ ထို့အပြင်၊ ၎င်းတို့သည် အားနည်းချက်များနှင့် cross-site scripting (XSS) ကို ထိထိရောက်ရောက် ရှာဖွေဖော်ထုတ်နိုင်သည်။
အားသာချက်များ
- အလိုအလျောက်လုပ်ရန် ဖြစ်နိုင်သည်။
- ၎င်းကို လုပ်ငန်းစဉ်အစောပိုင်းတွင် လုပ်ဆောင်သောကြောင့်၊ အားနည်းချက်များကို ပြင်ဆင်ခြင်းသည် စျေးပိုသက်သာသည်။
- ရှာဖွေတွေ့ရှိထားသော ပြဿနာများ၏ ချက်ချင်းတုံ့ပြန်ချက်နှင့် အမြင်အာရုံများကို ပံ့ပိုးပေးသည်။
- လူသားအရ ဖြစ်နိုင်သည်ထက် ပိုမြန်သော codebase တစ်ခုလုံးကို ပိုင်းခြားစိတ်ဖြာသည်။
- ဒက်ရှ်ဘုတ်များမှတစ်ဆင့် ခြေရာခံပြီး ထုတ်ယူနိုင်သည့် တစ်ဦးချင်းအလိုက် အစီရင်ခံစာများကို ပံ့ပိုးပေးသည်။
- ချို့ယွင်းချက်များနှင့် ပြဿနာရှိသော ကုဒ်များ၏ တိကျသောတည်နေရာကို ဖော်ထုတ်သည်။
အားနည်းချက်များ
- ပါရာမီတာတန်ဖိုးများ သို့မဟုတ် ခေါ်ဆိုမှုအများစုကို ၎င်းမှစစ်ဆေး၍မရပါ။
- ကုဒ်ကို စမ်းသပ်ရန်နှင့် မှားယွင်းသော အပြုသဘောများကို ကာကွယ်ရန်၊ ၎င်းသည် ဒေတာကို ပေါင်းစပ်ရပါမည်။
- ဘာသာစကားတစ်ခုနှင့်တစ်ခုအပေါ် မူတည်သော ကိရိယာများကို အသုံးပြုသည့် ဘာသာစကားတစ်ခုစီအတွက် ကွဲပြားစွာ တီထွင်ထိန်းသိမ်းထားရပါမည်။
- စာကြည့်တိုက်များ သို့မဟုတ် မူဘောင်များကဲ့သို့သော နားလည်သဘောပေါက်ရန် ရုန်းကန်နေရပါသည်။ API သို့မဟုတ် REST အဆုံးမှတ်များ
Dynamic Application Security Testing (DAST) ဆိုတာဘာလဲ။
“black-box” ချဉ်းကပ်မှုအပေါ် မှီခိုရသော နောက်ထပ်စမ်းသပ်ခြင်းနည်းပညာမှာ စမ်းသပ်သူများသည် အရင်းအမြစ်ကုဒ် သို့မဟုတ် အပလီကေးရှင်း၏အတွင်းပိုင်းလုပ်ဆောင်မှုများကို သတိမပြုမိခြင်း သို့မဟုတ် ၎င်းကို ဝင်ရောက်ခွင့်မရှိဟု ယူဆရသည့် တက်ကြွသောအက်ပ်လုံခြုံရေးစမ်းသပ်ခြင်း (DAST) ဖြစ်သည်။
လက်လှမ်းမီနိုင်သော သွင်းအားစုများနှင့် အထွက်များကို အသုံးပြု၍ ၎င်းတို့သည် အပလီကေးရှင်းကို ပြင်ပမှ စမ်းသပ်သည်။ စမ်းသပ်ချက်သည် အပလီကေးရှင်းကို အသုံးပြုရန် ကြိုးစားနေသည့် ဟက်ကာတစ်ဦးနှင့် တူသည်။
DAST သည် အပလီကေးရှင်း၏ အပြုအမူကို စောင့်ကြည့်ခြင်းဖြင့် တိုက်ခိုက်သည့် အားနည်းချက်များနှင့် ကျန်ရှိသော အပလီကေးရှင်းများ၏ အားနည်းချက်များကို ခြေရာခံရန် ကြိုးစားသည်။ အမျိုးမျိုးသော လုပ်ထုံးလုပ်နည်းများကို လုပ်ဆောင်ရန်နှင့် အကဲဖြတ်ရန်အတွက် သင်လုပ်ဆောင်ရမည့် အသုံးချပလီကေးရှင်းပေါ်တွင် ၎င်းကို လုပ်ဆောင်သည်။
DAST ကိုအသုံးပြုပြီး အသုံးပြုပြီးနောက် runtime တွင် သင့်အပလီကေးရှင်း၏လုံခြုံရေးချို့ယွင်းချက်အားလုံးကို သင်ရှာတွေ့နိုင်ပါသည်။ အမှန်တကယ် ဟက်ကာများက တိုက်ခိုက်ချေမှုန်းနိုင်သည့် တိုက်ခိုက်မှုမျက်နှာပြင်ကို လျှော့ချခြင်းဖြင့် ဒေတာပေါက်ကြားမှုကို ရှောင်ရှားနိုင်သည်။
ထို့အပြင်၊ DAST ကို လူကိုယ်တိုင်နှင့် DAST ကိရိယာများ၏အကူအညီဖြင့် ဆိုက်စုံ scripting၊ SQL ထိုးဆေး၊ malware နှင့် အခြားအရာများကဲ့သို့ ဟက်ကာနည်းပညာများကို အသုံးချရန် အသုံးပြုနိုင်သည်။
DAST ကိရိယာများသည် အထောက်အထားစိစစ်ခြင်းပြဿနာများ၊ ဆာဗာဆက်တင်များ၊ ယုတ္တိအမှားများ၊ ပြင်ပကုမ္ပဏီအန္တရာယ်များ၊ ကုဒ်ဝှက်ခြင်းဆိုင်ရာ အားနည်းချက်များနှင့် အခြားအရာများအပါအဝင် အရာများစွာကို စစ်ဆေးနိုင်ပါသည်။
အောက်ပါတို့သည် စျေးကွက်ရှိ ထိပ်တန်း DAST ကိရိယာများထဲမှ အချို့ဖြစ်သည်။
DAST က ဘာကြောင့် အရေးကြီးတာလဲ။
DAST ၏ တက်ကြွသောလုံခြုံရေးစမ်းသပ်မှုနည်းစနစ်သည် မှတ်ဉာဏ်ယိုစိမ့်မှု၊ XSS တိုက်ခိုက်မှု၊ SQL ထိုးနှံမှု၊ အထောက်အထားစိစစ်ခြင်းနှင့် ကုဒ်ဝှက်ခြင်းဆိုင်ရာ ပြဿနာများအပါအဝင် ကမ္ဘာပေါ်ရှိ အားနည်းချက်အမျိုးမျိုးကို ဖော်ထုတ်နိုင်သည်။
၎င်းသည် OWASP ထိပ်တန်း ၁၀ ချို့ယွင်းချက်တိုင်းကို ရှာဖွေနိုင်သည်။ DAST ကို သင့်အပလီကေးရှင်း၏ ပြင်ပပတ်ဝန်းကျင်ကို စမ်းသပ်ရန်နှင့် သွင်းအားစုနှင့် အထွက်များပေါ်မူတည်၍ အက်ပ်တစ်ခု၏ အတွင်းပိုင်းအခြေအနေကို ဒိုင်နမစ်စစ်ဆေးရန် အသုံးပြုနိုင်သည်။
ထို့ကြောင့် DAST ကို သင့်အပလီကေးရှင်းနှင့် ချိတ်ဆက်ထားသည့် စနစ်တစ်ခုစီနှင့် API အဆုံးမှတ်/ဝဘ် ဝန်ဆောင်မှုကို စမ်းသပ်ရန်အပြင် API အဆုံးမှတ်များနှင့် ဝဘ်ဝန်ဆောင်မှုများကဲ့သို့ ပကတိ အရင်းအမြစ်နှစ်ခုလုံးကို စမ်းသပ်ရန်အပြင် ရုပ်ပိုင်းဆိုင်ရာ အခြေခံအဆောက်အဦနှင့် လက်ခံဆောင်ရွက်ပေးသည့် စနစ်များ (ကွန်ရက်ချိတ်ဆက်မှု၊ သိုလှောင်မှုနှင့် ကွန်ပျူတာစနစ်တို့ကို စမ်းသပ်ရန်၊ )
ထို့အတွက်ကြောင့် ဤကိရိယာများသည် developer များအတွက်သာမက ကြီးမားသောလုပ်ငန်းဆောင်တာများနှင့် IT အသိုင်းအဝိုင်းအတွက်ပါ အရေးကြီးပါသည်။
DAST ဘယ်လိုအလုပ်လုပ်သလဲ။
SAST နှင့်ဆင်တူသည်၊ အောက်ပါအချက်များကိုထည့်သွင်းစဉ်းစားခြင်းဖြင့်သင့်လျော်သော DAST ကိရိယာကိုရွေးချယ်ရန်သေချာပါစေ။
- DAST tool သည် မတူညီသော အားနည်းချက် အမျိုးပေါင်းမည်မျှကို ကာကွယ်နိုင်သနည်း။
- DAST tool သည် အချိန်ဇယားဆွဲခြင်း၊ လုပ်ဆောင်ခြင်းနှင့် ကိုယ်တိုင်စကင်န်ဖတ်ခြင်းတို့ကို အလိုအလျောက်လုပ်ဆောင်ပေးသည့် အတိုင်းအတာ
- သီးခြားစမ်းသပ်မှုကိစ္စတစ်ခုအတွက် ၎င်းကိုသတ်မှတ်ရန်အတွက် ပျော့ပြောင်းမှုမည်မျှရှိနိုင်သနည်း။
- DAST ကိရိယာသည် သင်လက်ရှိအသုံးပြုနေသော CI/CD နှင့် အခြားနည်းပညာများနှင့် တွဲဖက်အသုံးပြုနိုင်ပါသလား။
DAST ကိရိယာများသည် မကြာခဏ အသုံးပြုရ ရိုးရှင်းသော်လည်း ၎င်းတို့သည် စမ်းသပ်မှုကို လွယ်ကူချောမွေ့စေရန် နောက်ခံတွင် ရှုပ်ထွေးသော အလုပ်များစွာကို လုပ်ဆောင်ကြသည်။
- DAST ကိရိယာများ၏ ရည်မှန်းချက်မှာ အက်ပ်လီကေးရှင်းနှင့်ပတ်သက်သည့် အချက်အလက်များစွာကို စုဆောင်းရန်ဖြစ်သည်။ တိုက်ခိုက်မှုမျက်နှာပြင်ကို တိုးမြှင့်ရန်အတွက်၊ ၎င်းတို့သည် ဝဘ်ဆိုက်တစ်ခုစီကို စူးစမ်းလေ့လာပြီး ထည့်သွင်းမှုများကို ထုတ်ယူပါ။
- ထို့နောက် ၎င်းတို့သည် အပလီကေးရှင်းကို ပြင်းပြင်းထန်ထန် စကင်န်ဖတ်ကြသည်။ XSS၊ SSRF၊ SQL ထိုးဆေးများ စသည်တို့ကဲ့သို့ အားနည်းချက်များကို စမ်းသပ်ရန်အတွက် DAST ကိရိယာသည် ယခင်က သတ်မှတ်ထားသော အဆုံးမှတ်များဆီသို့ တိုက်ခိုက်ရေး ကွက်လပ်များစွာကို ပေးပို့မည်ဖြစ်သည်။ ထို့အပြင်၊ DAST နည်းပညာများစွာသည် သင့်အား နောက်ထပ်ပြဿနာများကိုရှာဖွေရန် သင့်ကိုယ်ပိုင်တိုက်ခိုက်မှုအခြေအနေများကို ဒီဇိုင်းထုတ်နိုင်စေပါသည်။
- ဤအဆင့်ပြီးဆုံးသောအခါ ကိရိယာသည် ရလဒ်များကို ပြသမည်ဖြစ်သည်။ အားနည်းချက်တစ်ခုတွေ့ရှိပါက၊ ၎င်းသည် ၎င်း၏အမျိုးအစား၊ URL၊ ပြင်းထန်မှုနှင့် တိုက်ခိုက်မှု vector အပါအဝင် ၎င်းနှင့်ပတ်သက်သည့် အသေးစိတ်အချက်အလက်များကို ချက်ချင်းပေးပါသည်။ ၎င်းသည် ပြဿနာများကို ဖြေရှင်းရာတွင်လည်း အကူအညီပေးပါသည်။
DAST ကိရိယာများသည် အပလီကေးရှင်းဝင်ရောက်စဉ်အတွင်း ပေါ်ပေါက်လာသော စစ်မှန်ကြောင်းအထောက်အထားနှင့် ဖွဲ့စည်းမှုဆိုင်ရာ ပြဿနာများကို ဖော်ထုတ်ရာတွင် အလွန်ထိရောက်ပါသည်။ တိုက်ခိုက်မှုများကို တုပရန်၊ ၎င်းတို့သည် စမ်းသပ်နေသည့် အပလီကေးရှင်းသို့ ကြိုတင်သတ်မှတ်ထားသော ထည့်သွင်းမှုများကို ပေးပို့သည်။
ထို့နောက် ကိရိယာသည် အမှားအယွင်းများကို ခွဲခြားသတ်မှတ်ရန် မျှော်လင့်ထားသောရလဒ်နှင့် ဆက်နွှယ်သည့် output ကို အကဲဖြတ်သည်။ အွန်လိုင်းအပလီကေးရှင်းလုံခြုံရေးစစ်ဆေးမှုတွင် DAST ကို မကြာခဏအသုံးပြုသည်။
DAST အကျိုးကျေးဇူးများ
1. ပတ်ဝန်းကျင်အားလုံးတွင် သာလွန်သောလုံခြုံရေး
DAST သည် ၎င်း၏ core code တွင်မဟုတ်ဘဲ ပြင်ပမှ ၎င်းကိုအသုံးပြုထားသောကြောင့် သင့်အပလီကေးရှင်း၏ အကြီးမားဆုံးသော လုံခြုံရေးနှင့် သမာဓိကို ပြီးမြောက်အောင်မြင်နိုင်ပါသည်။ အပလီကေးရှင်းပတ်ဝန်းကျင်တွင် သင်ပြုလုပ်သော အပြောင်းအလဲများသည် ၎င်း၏လုံခြုံရေး သို့မဟုတ် လုပ်ဆောင်နိုင်စွမ်းကို ထိခိုက်ခြင်းမရှိပါ။
2. ထိုးဖောက်စမ်းသပ်ခြင်းတွင် ပါဝင်ပါသည်။
Dynamic application security သည် ဆိုက်ဘာတိုက်ခိုက်မှုတစ်ခု စတင်ခြင်း သို့မဟုတ် ၎င်း၏လုံခြုံရေးချို့ယွင်းချက်များကို အကဲဖြတ်ရန် အက်ပ်တစ်ခုအတွင်းသို့ ဆိုက်ဘာတိုက်ခိုက်မှုတစ်ခု စတင်ခြင်း သို့မဟုတ် အန္တရာယ်ရှိသောကုဒ်ကို မိတ်ဆက်ခြင်းတို့ ပါဝင်သည့် ထိုးဖောက်စမ်းသပ်ခြင်းနှင့် ဆင်တူသည်။
၎င်း၏ကျယ်ပြန့်သောအင်္ဂါရပ်များကြောင့်၊ သင်၏ထိုးဖောက်မှုစမ်းသပ်မှုတွင် DAST ကိရိယာကိုအသုံးပြုခြင်းဖြင့် သင့်အလုပ်ကို ချောမွေ့စေနိုင်သည်။
By လုပ်ငန်းစဉ်ကိုအလိုအလျောက် အားနည်းချက်များကို ရှာဖွေတွေ့ရှိပြီး ချို့ယွင်းချက်များကို ချက်ချင်းပြုပြင်ရန် အစီရင်ခံခြင်းဖြင့်၊ ကိရိယာများသည် ထိုးဖောက်ဝင်ရောက်မှုစမ်းသပ်ခြင်းတစ်ခုလုံးကို အရှိန်မြှင့်ပေးနိုင်သည်။
3. ပိုမိုကျယ်ပြန့်သောစမ်းသပ်မှုများ
ခေတ်မီဆော့ဖ်ဝဲလ်သည် ရှုပ်ထွေးပြီး ပြင်ပစာကြည့်တိုက်များ၊ ခေတ်မီစနစ်များ၊ ပုံစံခွက်ကုဒ်များ စသည်တို့ပါ၀င်ပါသည်။ လုံခြုံရေးဆိုင်ရာစိုးရိမ်မှုများ ပြောင်းလဲနေကြောင်း မပြောလိုပါ၊ ထို့ကြောင့် SAST တစ်ခုတည်းကို အသုံးပြု၍ မလုံလောက်သောကြောင့် သင့်အား ပိုမိုစမ်းသပ်လွှမ်းခြုံနိုင်သော စနစ်တစ်ခု လိုအပ်ပါသည်။
၎င်းတို့၏နည်းပညာ၊ ရင်းမြစ်ကုဒ်ရရှိနိုင်မှုနှင့် အရင်းအမြစ်များကို မမှီခိုဘဲ ဝဘ်ဆိုက်များနှင့် အက်ပ်အမျိုးမျိုးကို စကင်ဖတ်ကာ အကဲဖြတ်ခြင်းဖြင့် DAST သည် ၎င်းကို ကူညီပေးနိုင်သည်။
4. DevOps Workflows တွင် ထည့်သွင်းရန် ရိုးရှင်းပါသည်။
DAST ကို တီထွင်နေချိန်တွင် အသုံးမပြုနိုင်ဟု လူများစွာက ယုံကြည်ကြသည်။ ဒါပေမယ့် မဟုတ်တော့ဘူး။ အပါအဝင် နည်းပညာများစွာ ပါဝင်နိုင်သည်။ Invictiသင်၏ DevOps လုပ်ဆောင်ချက်များတွင် လွယ်ကူစွာ လုပ်ဆောင်ပါ။
ထို့ကြောင့်၊ ပေါင်းစပ်မှုကို မှန်ကန်စွာလုပ်ဆောင်ပါက၊ သင်သည် အပလီကေးရှင်းဖွံ့ဖြိုးတိုးတက်မှုအစောပိုင်းအဆင့်များတွင် အားနည်းချက်များကို အလိုအလျောက်စကင်န်ဖတ်ရန်နှင့် လုံခြုံရေးပြဿနာများကို ရှာဖွေရန် tool အား သင်ခွင့်ပြုနိုင်သည်။
၎င်းသည် ဆက်စပ်ကုန်ကျစရိတ်များကို လျှော့ချပေးမည်ဖြစ်ပြီး အက်ပ်၏လုံခြုံရေးကို မြှင့်တင်ကာ ပြဿနာများကို ဖော်ထုတ်ဖြေရှင်းရာတွင် နှောင့်နှေးမှုများကို သက်သာစေမည်ဖြစ်သည်။
5. စမ်းသပ်မှုများပြုလုပ်ခြင်း။
DAST ကိရိယာများကို ဖွံ့ဖြိုးတိုးတက်မှုနှင့် ထုတ်လုပ်ရေးဆိုင်ရာ အကြောင်းအရာနှစ်ခုလုံးတွင် ဆော့ဖ်ဝဲကို စမ်းသပ်ခြင်းအပြင် အဆင့်မြှင့်တင်သည့်ပတ်ဝန်းကျင်တွင် အားနည်းချက်များအတွက် အသုံးပြုထားသည်။ ဤနည်းဖြင့် သင့်အက်ပ်လီကေးရှင်းကို ထုတ်လုပ်လိုက်သည်နှင့် မည်မျှ လုံခြုံသည်ကို သင်မြင်နိုင်သည်။
ကိရိယာများကို အသုံးပြု၍ ဖွဲ့စည်းမှုပုံစံပြောင်းလဲမှုများကြောင့် ဖြစ်ပေါ်လာသည့် နောက်ခံပြဿနာများအတွက် ပရိုဂရမ်အား အချိန်အခါအလိုက် စစ်ဆေးနိုင်ပါသည်။ ထို့အပြင်၊ ၎င်းသည် သင့်ပရိုဂရမ်ကို အန္တရာယ်ဖြစ်စေသည့် ချို့ယွင်းချက်အသစ်များကို ရှာဖွေနိုင်သည်။
အားသာချက်များ
- ၎င်းသည် ဘာသာစကားအရ ကြားနေပါသည်။
- ဆာဗာထည့်သွင်းခြင်းနှင့် အထောက်အထားစိစစ်ခြင်းဆိုင်ရာ ခက်ခဲမှုများကို မီးမောင်းထိုးပြထားသည်။
- စနစ်တစ်ခုလုံးနှင့် အပလီကေးရှင်းကို အကဲဖြတ်သည်။
- မှတ်ဉာဏ်နှင့် အရင်းအမြစ်အသုံးပြုမှုကို ဆန်းစစ်သည်။
- လုပ်ဆောင်ချက်ခေါ်ဆိုမှုများနှင့် အကြောင်းပြချက်များကို နားလည်သဘောပေါက်သည်။
- ပြင်ပတွင် ကုဒ်ဝှက်ခြင်းဆိုင်ရာ အယ်လဂိုရီသမ်များကို ချိုးဖျက်ရန် ကြိုးပမ်းမှုများ
- အထူးအခွင့်အရေးအဆင့်များကို သီးခြားခွဲထားကြောင်း သေချာစေရန် ခွင့်ပြုချက်များကို စစ်ဆေးသည်။
- ချို့ယွင်းချက်များအတွက် Third-party interfaces များကိုစစ်ဆေးခြင်း။
- SQL ထိုးနှံမှု၊ ကွက်ကီး ခြယ်လှယ်မှုနှင့် ဆိုက်စုံ ဇာတ်ညွှန်းရေးခြင်းတို့ကို စစ်ဆေးသည်။
အားနည်းချက်များ
- မှားယွင်းသော အပြုသဘောများစွာကို ထုတ်ပေးသည်။
- ကုဒ်ကို ကိုယ်တိုင်အကဲဖြတ်ခြင်း သို့မဟုတ် ၎င်း၏အားနည်းချက်များကို ထောက်ပြခြင်းမဟုတ်ဘဲ ၎င်းမှလာသော ပြဿနာများသာဖြစ်သည်။
- ဖွံဖြိုးမှုပြီးသွားပါက ချို့ယွင်းချက်များကို ပြုပြင်ရန် ပိုမိုစျေးကြီးသည်။
- ကြီးမားသောပရောဂျက်များသည် အထူးပြုအခြေခံအဆောက်အအုံများ လိုအပ်ပြီး ပရိုဂရမ်သည် တစ်ချိန်တည်းတွင် များစွာသောအခြေအနေများတွင် လုပ်ဆောင်ရမည်ဖြစ်သည်။
SAST နှင့် DAST
အပလီကေးရှင်းလုံခြုံရေးစမ်းသပ်ခြင်းတွင် တည်ငြိမ်သော အပလီကေးရှင်းလုံခြုံရေးစမ်းသပ်ခြင်း (SAST) နှင့် ဒိုင်းနမစ်အပလီကေးရှင်းလုံခြုံရေးစမ်းသပ်ခြင်း (DAST) တို့ကို အရသာနှစ်မျိုးဖြင့် ထွက်ပေါ်လာသည်။
၎င်းတို့သည် လုံခြုံရေး ခြိမ်းခြောက်မှုများနှင့် ဆိုက်ဘာတိုက်ခိုက်မှုများကို ကာကွယ်ရန် အက်ပ်များအား ချို့ယွင်းချက်များနှင့် ပြဿနာများကို စစ်ဆေးခြင်းဖြင့် ကူညီပေးသည်။ SAST နှင့် DAST နှစ်ခုစလုံးသည် တိုက်ခိုက်မှုတစ်ခုမဖြစ်ပွားမီ သင့်အား လုံခြုံရေးအားနည်းချက်များကို ရှာဖွေဖော်ထုတ်ပြီး ဖြေရှင်းနိုင်ရန် ကူညီပေးရန် ဒီဇိုင်းထုတ်ထားသည်။
ယခု လုံခြုံရေးစမ်းသပ်စစ်ပွဲတွင် SAST နှင့် DAST အကြား အဓိကကွာခြားချက်အချို့ကို နှိုင်းယှဉ်ကြည့်ကြပါစို့။
- White-box အပလီကေးရှင်း လုံခြုံရေး စမ်းသပ်ခြင်းကို SAST မှ ရရှိနိုင်ပါသည်။ သို့သော် DAST သည်လည်း အက်ပ်လုံခြုံရေးအတွက် Black-box စမ်းသပ်ခြင်းကို ပေးပါသည်။
- SAST သည် developer များအတွက် စမ်းသပ်မှုဗျူဟာကို ပံ့ပိုးပေးပါသည်။ ဤတွင်၊ စမ်းသပ်သူသည် အပလီကေးရှင်း၏ မူဘောင်၊ ဒီဇိုင်းနှင့် အကောင်အထည်ဖော်မှုတို့နှင့် ရင်းနှီးသည်။ DAST သည် အခြားတစ်ဖက်တွင် ဟက်ကာ၏နည်းလမ်းကိုပေးသည်။ ဤကိစ္စတွင်၊ စမ်းသပ်သူသည် အပလီကေးရှင်း၏ မူဘောင်များ၊ ဒီဇိုင်းနှင့် အကောင်အထည်ဖော်မှုတို့ကို မသိနားမလည်ပါ။
- SAST တွင် စမ်းသပ်ခြင်းကို အတွင်းအပြင် (အပလီကေးရှင်းများမှ) လုပ်ဆောင်သော်လည်း DAST တွင် စမ်းသပ်ခြင်းကို ပြင်ပမှ လုပ်ဆောင်သည်။
- SAST သည် အပလီကေးရှင်း၏ ဖွံ့ဖြိုးတိုးတက်မှုတွင် အစောပိုင်းတွင် လုပ်ဆောင်သည်။ သို့သော်၊ DAST သည် အပလီကေးရှင်းဖွံ့ဖြိုးတိုးတက်မှုဘဝစက်ဝန်း၏နိဂုံးချုပ်ခါနီးတွင် တက်ကြွသောအပလီကေးရှင်းတစ်ခုပေါ်တွင် လုပ်ဆောင်သည်။
- SAST သည် static code တွင် အသုံးပြုထားသောကြောင့် အသုံးချထားသောအက်ပ်များမလိုအပ်ပါ။ ၎င်းသည် အားနည်းချက်များအတွက် အပလီကေးရှင်း၏ တည်ငြိမ်ကုဒ်ကို စစ်ဆေးသောကြောင့် ၎င်းကို "static" ဟု အမည်ပေးထားသည်။ DAST ကို အသက်ဝင်သော အပလီကေးရှင်းတစ်ခုတွင် အသုံးပြုထားသည်။ ၎င်းသည် ပရိုဂရမ်၏ ဒိုင်းနမစ်ကုဒ်ကို ချို့ယွင်းချက်များအတွက် လုပ်ဆောင်နေချိန်တွင် ၎င်းကို စစ်ဆေးသောကြောင့် ၎င်းကို "dynamic" ဟု အမည်ပေးထားသည်။
- SAST သည် အပလီကေးရှင်းကုဒ်ကို ပုံမှန်စောင့်ကြည့်ရာတွင် developer များအား ကူညီပေးရန်အတွက် CI/CD ပိုက်လိုင်းများသို့ အလွယ်တကူ ချိတ်ဆက်ထားသည်။ အက်ပ်အား စမ်းသပ်ဆာဗာ သို့မဟုတ် ဆော့ဖ်ဝဲရေးသားသူ၏ PC တွင် အသုံးပြုပြီး လည်ပတ်ပြီးနောက်၊ DAST သည် CI/CD ပိုက်လိုင်းတွင် ပါဝင်ပါသည်။
- SAST ကိရိယာများသည် အားနည်းချက်များနှင့် ၎င်းတို့၏တိကျသောတည်နေရာများကို ရှာဖွေဖော်ထုတ်ရန် ကုဒ်ကို ကျယ်ကျယ်ပြန့်ပြန့်စကင်န်ဖတ်ကာ ရှင်းလင်းမှုပိုမိုလွယ်ကူစေသည်။ DAST ကိရိယာများသည် ၎င်းတို့သည် runtime တွင် လုပ်ဆောင်သောကြောင့် အားနည်းချက်များ၏ တိကျသောတည်နေရာကို မပေးနိုင်ပါ။
- SAST လုပ်ငန်းစဉ်တွင် ပြဿနာများကို စောစီးစွာဖော်ထုတ်သောအခါ၊ ၎င်းတို့ကို ပြုပြင်ရန် ရိုးရှင်းပြီး စျေးသက်သာပါသည်။ DAST အကောင်အထည်ဖော်မှုသည် ဖွံ့ဖြိုးတိုးတက်မှုဘဝစက်ဝန်း၏နိဂုံးတွင် ဖြစ်ပေါ်သည်၊ ထို့ကြောင့် ထိုအချိန်အထိ ပြဿနာများကို ရှာမတွေ့ပါ။ တိကျသော သြဒိနိတ်များကိုလည်း မပေးနိုင်ပါ။
SAST ကို ဘယ်အချိန်မှာ သုံးမလဲ။
သင့်တွင် ကုဒ်ရေးရန် တစ်ခုတည်းသော ပတ်ဝန်းကျင်တွင် အလုပ်လုပ်သော ဖွံ့ဖြိုးရေးအဖွဲ့တစ်ခုရှိသည်ဟု ယူဆပါ။ ၎င်းတို့သည် အပ်ဒိတ်တစ်ခုကို ဖန်တီးပြီးသည်နှင့်၊ သင့်ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် အပြောင်းအလဲများကို အရင်းအမြစ်ကုဒ်တွင် ထည့်သွင်းပေးသည်။
ထို့နောက် လျှောက်လွှာကို စုစည်းပြီး အပတ်စဉ် သတ်မှတ်ထားသော ကာလတစ်ခုတွင်၊ ၎င်းကို ထုတ်လုပ်မှုအဆင့်သို့ မြှင့်တင်သည်။ ဤနေရာတွင် အားနည်းချက်များစွာရှိမည်မဟုတ်သော်လည်း အလွန်ကြာကြာလုပ်ဆောင်ပါက ၎င်းကို အကဲဖြတ်ပြီး ပြုပြင်နိုင်သည်.
သို့ဆိုလျှင် SAST ကိုအသုံးပြုရန် သင်စဉ်းစားနိုင်သည်။
DAST ကို ဘယ်အချိန်မှာ သုံးမလဲ။
မင်းရဲ့ SLDC က ဖြစ်ထွန်းတယ် ဆိုကြပါစို့ အလိုအလျောက်စနစ်ဖြင့် DevOps ပတ်ဝန်းကျင်။ သငျသညျကိုသုံးနိုင်သည် cloud computing AWS နှင့် containers ကဲ့သို့သော ဝန်ဆောင်မှုများ။
ရလဒ်အနေဖြင့် သင့်ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် အပြောင်းအလဲများကို လျင်မြန်စွာဖန်တီးနိုင်ပြီး၊ ကုဒ်ကို အလိုအလျောက်စုစည်းကာ DevOps ကိရိယာများကို အသုံးပြု၍ ကွန်တိန်နာများကို လျင်မြန်စွာ ဖန်တီးနိုင်သည်။ စဉ်ဆက်မပြတ် CI/CD ဖြင့်၊ သင်သည် ဤနည်းဖြင့် ဖြန့်ကျက်မှုကို အရှိန်မြှင့်နိုင်သည်။ ဒါပေမယ့် ဒီလိုလုပ်ခြင်းက ချေမှုန်းရေးမျက်နှာပြင်ကို ကျယ်စေနိုင်ပါတယ်။
ယင်းအတွက်၊ DAST tool ဖြင့် အပလီကေးရှင်းတစ်ခုလုံးကို စကင်ဖတ်ခြင်းသည် ပြဿနာများကို ရှာဖွေဖော်ထုတ်ရန် သင့်အတွက် အကောင်းဆုံးရွေးချယ်မှုတစ်ခု ဖြစ်နိုင်သည်။
SAST နှင့် DAST သည် အတူတကွ လုပ်ဆောင်နိုင်ပါသလား။
ယုံမှားသံသယမရှိဘဲ။ အမှန်မှာ၊ ၎င်းတို့ကို ပေါင်းစပ်ခြင်းဖြင့် သင့်အပလီကေးရှင်းရှိ လုံခြုံရေးအန္တရာယ်များကို အတွင်းအပြင်နှင့် အပြင်ပိုင်းအတွင်း အပြည့်အဝ နားလည်နိုင်စေမည်ဖြစ်သည်။
ထိရောက်ပြီး အသုံးဝင်သော လုံခြုံရေးစမ်းသပ်ခြင်း၊ ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် အစီရင်ခံခြင်းတို့ကို တည်ဆောက်ထားသော synbiotic DevOps သို့မဟုတ် DevSecOps ချဉ်းကပ်နည်းကိုလည်း ဖြစ်နိုင်ချေရှိသည်။ ထို့အပြင်၊ ၎င်းသည် ဆိုက်ဘာတိုက်ခိုက်မှုများအတွက် စိုးရိမ်စရာများကို လျော့ပါးစေမည့် တိုက်ခိုက်မှုမျက်နှာပြင်များနှင့် အားနည်းချက်များကို လျော့နည်းစေမည်ဖြစ်သည်။
အကျိုးဆက်အနေဖြင့် သင်သည် အလွန်လုံခြုံပြီး ယုံကြည်စိတ်ချရသော SDLC ကို တည်ဆောက်နိုင်သည်။ Static application security testing (SAST) သည် အနားယူချိန်တွင် သင့်အရင်းအမြစ်ကုဒ်ကို စစ်ဆေးသည်၊ ၎င်းသည် အကြောင်းအရင်းဖြစ်သည်။
ထို့အပြင်၊ စစ်မှန်ကြောင်းသက်သေပြခြင်းနှင့် ခွင့်ပြုချက်ကဲ့သို့သော လုပ်ဆောင်မှုစနစ်ဆိုင်ရာ ကိစ္စရပ်များသည် ၎င်းအတွက် မသင့်လျော်သောကြောင့် ၎င်းသည် အားနည်းချက်အားလုံးကို လုံးလုံးလျားလျားဖြေရှင်းနိုင်မည်မဟုတ်ပေ။
ယခုအခါ ဖွံ့ဖြိုးတိုးတက်ရေးအဖွဲ့များသည် DAST ကဲ့သို့ မတူညီသော စမ်းသပ်မှုဗျူဟာများနှင့် တူရိယာများဖြင့် SAST ကို ပေါင်းစပ်နိုင်ပြီဖြစ်သည်။ DAST သည် အခြားသော အားနည်းချက်များကို ရှာတွေ့နိုင်ပြီး ဖာထေးရန် သေချာစေရန် ဤအချက်တွင် အဆင့်ဆင့်လုပ်ဆောင်သည်။
ကောက်ချက်
နောက်ဆုံးတွင်၊ SAST နှင့် DAST နှစ်ခုစလုံးတွင် အားသာချက်များနှင့် အားနည်းချက်များရှိသည်။ ရံဖန်ရံခါတွင် SAST သည် DAST ထက် ပို၍အသုံးဝင်ပြီး တစ်ခါတစ်ရံ ဆန့်ကျင်ဘက်သည် မှန်ပါသည်။
SAST သည် သင့်အား အားနည်းချက်များကို စောစီးစွာရှာဖွေနိုင်သည်၊ ၎င်းတို့အား ပြုပြင်ရန်၊ တိုက်ခိုက်မှုမျက်နှာပြင်ကို နိမ့်ကျစေကာ အပိုအားသာချက်များကို ပေးစွမ်းနိုင်သော်လည်း လုံခြုံရေးစမ်းသပ်မှုချဉ်းကပ်မှုတစ်ခုတည်းအပေါ်တွင်သာ မူတည်၍ မလုံလောက်တော့ကြောင်း၊ ဆိုက်ဘာတိုက်ခိုက်မှုများ၏ ရှုပ်ထွေးမှုများပြားလာခြင်းကြောင့် ဖြစ်သည်။
ထို့ကြောင့်၊ နှစ်ခုကြားတွင် ဆုံးဖြတ်ရာတွင် သင်၏လိုအပ်ချက်များကို ထည့်သွင်းစဉ်းစားပြီး သင့်ရွေးချယ်မှုကို သင့်လျော်စွာပြုလုပ်ပါ။ သို့သော်၊ SAST နှင့် DAST ကို တပြိုင်နက် အသုံးပြုရန် ပိုကောင်းသည်။
၎င်းသည် ဤလုံခြုံရေးစမ်းသပ်မှုချဉ်းကပ်မှုများမှ သင်အကျိုးကျေးဇူးရရှိနိုင်ကြောင်း သေချာစေပြီး သင့်အပလီကေးရှင်းတစ်ခုလုံး၏လုံခြုံရေးကို အထောက်အကူဖြစ်စေမည်ဖြစ်သည်။
တစ်ဦးစာပြန်ရန် Leave