ကိုယ့် app ကိုယ်ဖျက်ဆီးကြည့်ပါ
developer တွေကို အမြဲတမ်း ပြောဖြစ်တာက ကိုယ့် app ကိုယ်ဖျက်ဆီးကြည့်ဖို့ပါ။ ကိုယ်ရေးထားတဲ့ app ကိုကိုယ်ဖျက်ဆီးလို့ရရင် သူများလည်း ဖျက်ဆီးတတ်ဖို့ chance အများကြီး ရှိပါတယ်။ security ဆိုတာ အရင်ခေတ်က post-development challenge တခုလို့မြင်ပြီး development cycle ပြီးမှ တခါတလေ deployment cycle အပြီးမှာမှ security team က တာဝန်ယူရမယ့် အလုပ်အဖြစ် သဘောထားခဲ့တယ်။
ဒါပေမယ့် ဒါက vulnerability တွေ့လို့ ပြင်ရတဲ့အခါ သိပ်ကို ကုန်ကျစရိတ်များစေတယ်။ တကယ်လို့ vulnerability တခုက code ပြင်ရုံနဲ့ရတယ်ဆိုရင် development phase ကိုပြန်သွားရမယ်။ ဒါမှမဟုတ်ပဲ design အားနည်းချက်ကြောင့်ဆို design phase ထိပြန်သွားရပါမယ်။ ကုမ္ပဏီအပေါ် မူတည်ပေမယ့် ဒီဆုံးရှုံးသွားတဲ့ sprint တခုစာ ၁ ပတ် ၂ ပတ်က အများကြီး တန်ဖိုးရှိတယ်။
ဒါကြောင့် modern software engineering မှာ SDLC အစအဆုံး security က ပါဝင်ပတ်သက်နေဖို့ အရေးကြီးပါတယ်။ အထူးသဖြင့် ဒီဧရိယာ ၃ ခုကို ဂရုစိုက်ရမယ်။
1) developer တွေက ကိုယ့် app ကို အားနည်းချက် ရှာတတ်ရမယ်။
ကိုယ့် code ကိုယ်အပြစ်ရှာပြီး ကိုယ့် app ကို
ဖျက်ဆီးတတ်ရမယ်။ ဒါမှ ဘယ်နေရာ အားနည်းချက်ဖြစ်နေလဲ တွေ့ရပြီး
စောစောပြင်နိုင်မယ်။ အားနည်းချက်တွေကို မပြတ်ရှာပြီး ပြင်နိုင်ဖို့အတွက်
tool တွေကို လေ့လာရမယ်။ ဥပမာ ကိုယ် check in လုပ်တော့မယ့် code ကို
pentesting tool တွေ၊ code analysis tool တွေသုံးပြီး local မှာ
ကြိုစစ်ကြည့်ရမယ်။
2) ကုမ္ပဏီရဲ့ security policy တွေကို SDLC တလျှောက်
ကြပ်မတ်ထားရမယ်။
unit test တွေရေးရင် coverage ဘယ်လောက်ရှိရမယ်။ integration
testing ရဲ့ scope (class, layer, domain) တိတိကျကျ သတ်မှတ်ရမယ်။ pull
request တွေ merge ဖို့ဆိုရင် code review မဖြစ်မနေ ပါရမယ်။ code review
တခုက အများဆုံး code အကြောင်း ၁၅၀ ထက် မပိုသင့်ဘူး။ အဲဒီအတွက် early
checkin လုပ်ဖို့ developer တွေကို မဖြစ်မနေ တိုက်တွန်းရမယ်။ artifact
policy တွေထားရမယ်။ secuirty team ကခွင့်ပြုထားတဲ့ base image တွေကိုသာ
container service တွေအတွက် သုံးရမယ်။
3) CI/CD pipeline မှာ မဖြစ်မနေ component နဲ့ static code analysis
ကိုထည့်ရမယ်။
CI/CD pipeline တလျှောက် CI phase မှာဆိုရင် source code ရဲ့
quality ကိုမဖြစ်မနေ စစ်ဆေးရမယ်။ direct နဲ့ transitive dependency
တွေသန့်ရှင်းရဲ့လား စစ်ဆေးရမယ်။ သုံးထားတဲ့ library တွေက CVE ထဲ entry
ပါနေပြီလား စစ်ဖို့လိုတယ်။ လူသိရှင်ကြား ကြေညာပြီဆိုတာနဲ့ vulnerability
တွေက အသုံးချခံရဖို့ အခွင့်အရေး ပိုများသွားပြီမို့ မနေ့က စစ်ပြီးသား code
လည်း ဒီနေ့ပြန်စစ်ဖို့လိုတယ်။ CD phase ရဲ့ integrated test မှာဆိုရင်လည်း
externel threat simulation တွေဆက်လုပ်သင့်တယ်။
ဒီနေ့ခေတ်မှာ software system တခု တည်ဆောက်တဲ့အခါ security ကို development cycle တလျှောက် ထည့်စဥ်းစားပြီး တည်ဆောက်သွားဖို့ လိုအပ်လာပါတယ်။ ဆိုလိုချင်တာက Software Developer, Architect နဲ့ SRE အကုန်လုံးက security အမြင်ရှိကြဖို့ လိုအပ်လာပြီဖြစ်တယ်။