ဆော့ဖ်ဝဲရေးသားသူများအတွက်၊ အဲဒါကိုမြင်ရင် သင့်ရဲ့ အထောက်အထားတွေကို လျှို့ဝှက်ထားပြီးပါပြီ သတိပေးချက်ထက်ပိုပါတယ်။ နှိုးစက်တစ်ခုဖြစ်ပါတယ်တကယ်တော့၊ ဒါက သင့်ရဲ့ စကားဝှက်တွေ၊ API သော့တွေ ဒါမှမဟုတ် တိုကင်တွေဟာ အများပြည်သူ့ ချိုးဖောက်မှု ဒါမှမဟုတ် ပေါ့ဆမှုကြောင့် ပေါက်ကြားသွားပြီးဖြစ်တယ်လို့ ဆိုလိုပါတယ်။ commitထို့အပြင်၊ pwned checker ကိုစစ်ဆေးခြင်းသည် ကောင်းမွန်သောပထမခြေလှမ်းဖြစ်သော်လည်း၊ developer များသည် ထိုထက်ပို၍လိုအပ်သည်။ ထို့ကြောင့်၊ ၎င်းတို့သည် လက်တွေ့ကျတဲ့ နည်းလမ်းတွေ လိုအပ်ပါတယ် ယိုစိမ့်မှုများကို ကိုင်တွယ်ဖြေရှင်းပါ၊ ဝင်ရောက်ခွင့်ကို လျင်မြန်စွာ ရုပ်သိမ်းပါ၊ ထို့ လျှို့ဝှက်ချက်များကို ရပ်တန့်ပါ ချော်ကျမှ၊ repositories ထဲကို ထပ်ပြီးထို့ကြောင့် ဤနေရာတွင် လျှို့ဝှက်ချက်များ ထောက်လှမ်းခြင်းနှင့် အလိုအလျောက်လုံခြုံရေးတို့ ပါဝင်လာပါသည်။
လက်တွေ့မှာ “Has Been Pwned” ဆိုတာ ဘာကိုဆိုလိုတာလဲ။
ဆော့ဖ်ဝဲရေးသားသူတစ်ယောက်ဖြစ်တဲ့အခါ ပစ်ချခံရပြီ၎င်းတွင် ကိုယ်ရေးကိုယ်တာအကောင့်ထက်ပို၍ ပါဝင်လေ့ရှိသည်။ ပေါက်ကြားသွားသော အထောက်အထားများ မကြာခဏပါဝင်သည်:
- စီမံခန့်ခွဲသူအခွင့်အရေးများပါရှိသော cloud provider key များ
- GitHub or GitLab repo ဝင်ရောက်ခွင့်ပေးသည့် တိုကင်များ
- npm သို့မဟုတ် PyPI ထုတ်ဝေသည့် တိုကင်များ
- ထုတ်လုပ်မှုဒေတာပါသည့် ဒေတာဘေ့စ်ချိတ်ဆက်မှုစာကြောင်းများ
ပျမ်းမျှအသုံးပြုသူနှင့်မတူဘဲ၊ developer များသည် စနစ်တစ်ခုလုံး၏ သော့များကို ကိုင်ဆောင်ထားကြသည်။ ထို့အပြင်၊ developer ၏အကောင့် သို့မဟုတ် token ကို pwned လုပ်မိပါက၊ attacker များသည် repos များကို clone လုပ်ခြင်း၊ malicious package များကို publish လုပ်ခြင်း သို့မဟုတ် ထိန်းချုပ်ခြင်းပင် ပြုလုပ်နိုင်သည်။ CI/CD pipelines. ထို့ကြောင့် သက်ရောက်မှုမှာ များစွာပိုမိုကြီးမားပါသည်။
ဆော့ဖ်ဝဲရေးသားသူများသည် ၎င်းတို့အား Pwned လုပ်ခံရခြင်း ရှိမရှိ မည်သို့စစ်ဆေးနိုင်မည်နည်း။
ပထမအဆင့်- တိုက်ခိုက်သူများသည် သင့်ဒေတာကို ဖော်ထုတ်ပြီးပြီလားဆိုတာ သိပါ။ နောက်ဆုံးတော့ မင်းမမြင်နိုင်တာကို မင်းပြင်လို့မရဘူးထို့အပြင်၊ pwned checker ကိုအသုံးပြုခြင်းသည် သင်ဆက်လက်အားကိုးနေရသော credentials များသည် public breach databases တွင်ပေါ်လာခြင်းရှိမရှိ အတည်ပြုရန်ကူညီပေးသည်။ ဥပမာအားဖြင့်၊ developer များသည် password သို့မဟုတ် token ကိုအသုံးမပြုမီ ၎င်း၏ API ကိုခေါ်ဆိုခြင်းဖြင့် pwned checker ကို ၎င်းတို့၏ workflows ထဲသို့ တိုက်ရိုက်ပေါင်းစပ်နိုင်သည်။
ဥပမာအားဖြင့်၊ developer များသည် ၎င်းတို့၏ workflows များတွင် API ကို ခေါ်ယူနိုင်သည်-
ဤ API သည် hash စာရင်းကို ဘေးကင်းစွာပြန်ပေးသောကြောင့် သင့်၏တကယ့်စကားဝှက်ကို မပို့ဘဲ ကိုက်ညီမှုများကို စစ်ဆေးနိုင်စေပါသည်။ ထို့အပြင် အဖွဲ့များသည် pwned checker ကို ၎င်းတို့၏ pipelineဆော့ဖ်ဝဲရေးသားသူအကောင့်တစ်ခုမျှ ခိုးယူခံရသည်ဟု သိရှိထားသော စကားဝှက်ကို မှီခိုအားထားခြင်းမရှိကြောင်း သေချာစေရန်။
သင့်အကောင့် ခိုးယူခံရပါက ဘာလုပ်ရမလဲ
သင့်အကောင့်ကို လျှို့ဝှက်ထားမိပါက ချက်ချင်းလုပ်ဆောင်ပါ-
- ပထမဦးစွာ၊ စကားဝှက်များ၊ API တိုကင်များနှင့် SSH key များအပါအဝင် ဖော်ထုတ်ခံရသော အထောက်အထားအားလုံးကို အလှည့်ကျစစ်ဆေးပါ။
- ဒုတိယအနေနဲ့ တိုကင်အဟောင်းတွေကို ရုပ်သိမ်းလိုက်ပါ GitHub, GitLab, AWSဒါမှမဟုတ် npm.
- တတိယအချက်အနေနဲ့ သင့်ရဲ့ repos တွေကို စစ်ဆေးပြီး pipelineသံသယဖြစ်ဖွယ် လုပ်ဆောင်ချက်အတွက်။
- နောက်ဆုံးအနေနဲ့ သင့်အဖွဲ့ကို အကြောင်းကြားပါ၊ ဒါမှ သူတို့လည်း သူတို့ရဲ့အကောင့်တွေကို pwned checker နဲ့ အတည်ပြုနိုင်မှာပါ။
ထို့နောက်တွင်၊ လျှို့ဝှက်ချက်များ စဉ်ဆက်မပြတ် ရှာဖွေခြင်းကို အကောင်အထည်ဖော်ပါ။ အဘယ်ကြောင့်ဆိုသော် လျှို့ဝှက်ချက်တစ်ခု ပေါက်ကြားသွားသည်နှင့် တိုက်ခိုက်သူများသည် ၎င်းကို ရရှိပြီးသား ဖြစ်နိုင်သောကြောင့်ဖြစ်သည်။ ထို့ကြောင့်၊ ရုပ်သိမ်းခြင်းနှင့် အစားထိုးခြင်းသည်သာ အန္တရာယ်ကို အမှန်တကယ် ဖယ်ရှားပေးပါသည်။
နောက်ထပ် ဘယ်လို မလိမ်လည်ခံရဘူးလဲ- လျှို့ဝှက်ချက်များ ရှာဖွေတွေ့ရှိခြင်းနှင့် ကာကွယ်ခြင်း
နောက်ထပ် လျှို့ဝှက်ချက်တစ်ခု ပျောက်ဆုံးသွားခြင်းကို ရှောင်ရှားရန် အကောင်းဆုံးနည်းလမ်းမှာ ကြိုတင်ကာကွယ်ခြင်းဖြစ်သည်။ ထို့ကြောင့် လျှို့ဝှက်ချက်များ ပေါက်ကြားခြင်းမှ ဦးစွာရပ်တန့်ခြင်းသည် အလွန်အရေးကြီးပါသည်။ ထို့အပြင်၊ အလျင်အမြန်တိုးတက်နေသော ဆော့ဖ်ဝဲရေးသားသူများအတွက် လျှို့ဝှက်ချက်များကို ရှာဖွေတွေ့ရှိခြင်းသည် မရှိမဖြစ်လိုအပ်သောနေရာဖြစ်သည်။ pipelines.
“Has been Pwned” ကို ကာကွယ်ရန် လျှို့ဝှက်ချက်များ ထောက်လှမ်းခြင်းအတွက် အကောင်းဆုံးလုပ်ဆောင်မှုများ
အနာဂတ်တွင် မတော်တဆမှုများ ဖြစ်ပွားနိုင်ခြေကို လျှော့ချရန်အတွက် အောက်ပါအလေ့အကျင့်များကို အဆက်မပြတ် လိုက်နာပါ။
- ကုဒ် သို့မဟုတ် configuration ဖိုင်များတွင် အထောက်အထားများကို ဘယ်တော့မှ hardcode မလုပ်ပါနှင့်။ အဆုံးတွင်၊ တိုက်ခိုက်သူများသည် ၎င်းတို့အတွက် repos များကို တက်ကြွစွာ scan ဖတ်ကြသည်။
- လျှို့ဝှက်သိုလှောင်ရုံများနှင့် သက်တမ်းတိုကင်များကို အသုံးပြုပါရလဒ်အနေဖြင့် လျှို့ဝှက်ချက်တစ်ခု ပေါက်ကြားသွားလျှင်ပင် ၎င်း၏သက်ရောက်မှုမှာ အနည်းဆုံးဖြစ်သည်။
- configure pre-commit ချိတ်ဆော့ဖ်ဝဲရေးသားသူ၏ လက်ပ်တော့တွင် တိုက်ရိုက်ပေါက်ကြားမှုများကို ပိတ်ဆို့ရန် s။ ထို့ကြောင့် လျှို့ဝှက်ချက်များသည် အဝေးထိန်း repos များသို့ ဘယ်တော့မှ မရောက်ပါ။
- မှတ်တမ်းများကို အဆက်မပြတ် စကင်ဖတ်ပါ အလိုအလျောက်ကိရိယာများဖြင့်၊ အမှန်မှာ၊ လျှို့ဝှက်ချက်များကို စဉ်ဆက်မပြတ်ရှာဖွေခြင်းသည် ပေါက်ကြားမှုအသစ်များကို ချက်ချင်းဖမ်းမိပါသည်။
- ပေါင်း guardrails in CI/CD ထို့ကြောင့် ဖော်ထုတ်ခံရသော လျှို့ဝှက်ချက်များ ပေါ်လာပါက တည်ဆောက်မှုများ အလိုအလျောက် ကျရှုံးပါသည်။ ထို့ကြောင့် မလုံခြုံသော ကုဒ်သည် ထုတ်လုပ်မှုအဆင့်သို့ ဘယ်တော့မှ မရောက်ပါ။
Xygeni လျှို့ဝှက်ချက်များ ထောက်လှမ်းခြင်း လုပ်ဆောင်ချက်
ဆိုက်ဂျီနီ Integrated လျှို့ဝှက်ချက်များ ဖော်ထုတ်ခြင်း ဖွံ့ဖြိုးတိုးတက်မှု၏ အဆင့်တိုင်းတွင်။ ထို့အပြင်၊ ရိုးရှင်းသော စကင်နာများနှင့်မတူဘဲ၊ ၎င်းသည် အစစ်အမှန်အဖွဲ့များသည် ဆော့ဖ်ဝဲလ်ကို မည်သို့တည်ဆောက်ပြီး တင်ပို့ပုံနှင့် ကိုက်ညီသော ဆော့ဖ်ဝဲရေးသားသူ-ဦးစားပေး လုပ်ငန်းစဉ်များကို ပေးဆောင်သည်-
- IDE ပေါင်းစပ်မှု- ဆော့ဖ်ဝဲရေးသားသူများသည် အချိန်နှင့်တပြေးညီ သတိပေးချက်များကို မြင်တွေ့နိုင်သည် Code ကို VS ရှေ့မှာ commitသူတို့ရဲ့ လက်တော့ပ်ကို ထားခဲ့ကြတယ်။ တကယ်တော့ ဒါက repo မရောက်ခင်မှာ လျှို့ဝှက်ချက်တွေကို ရပ်တန့်သွားစေတယ်။
- Pre-commit နှင့် ပြည်သူ့ဆက်ဆံရေး Hooks: လျှို့ဝှက်ချက်များကို ချက်ချင်းအလံပြပြီး ပြင်ဆင်မှုများကို တိုက်ရိုက်အကြံပြုထားသည်။ ရလဒ်အနေဖြင့် မလုံခြုံပါ။ commits ဘယ်တော့မှ မသိမသာ ဖြတ်သန်းမသွားဘူး။
- CI/CD Guardrails: Pipelines block များသည် code သို့မဟုတ် config files များတွင် credentials များကို detect လုပ်သောအခါတွင် build လုပ်သည်။ ဤ setup သည် production ကို အလိုအလျောက် ကာကွယ်ပေးသည်။
- အလိုအလျောက် ရုပ်သိမ်းခြင်း- စနစ်သည် တိုကင်များကို ချက်ချင်းရုပ်သိမ်းခြင်း သို့မဟုတ် လှည့်ပတ်ခြင်းပြုလုပ်သောကြောင့် ဖော်ထုတ်ခံရသော လျှို့ဝှက်ချက်များသည် လျှို့ဝှက်ချက်ဖြစ်သွားပြီးဖြစ်သော်လည်း အလုပ်မလုပ်တော့ပါ။
- အခြေအနေအလိုက် ဦးစားပေးမှု- string တိုင်းမှာ noise တွေ မြင့်တက်စေမယ့်အစား Xygeni က cloud key တွေ၊ database password တွေ ဒါမှမဟုတ် npm publish token တွေလိုမျိုး high value secret တွေကို မီးမောင်းထိုးပြပါတယ်။
ထို့ကြောင့် Xygeni သည် လျှို့ဝှက်ချက်တစ်ခု ပေါက်ကြားသွားပြီဖြစ်ကြောင်း သင့်အား ပြောပြရုံသာမက တိုက်ခိုက်သူများအနေဖြင့် ယိုစိမ့်မှုကို အပြည့်အဝချိုးဖောက်မှုအဖြစ်သို့ ပြောင်းလဲခြင်းမှ ကာကွယ်ပေးသည့် ချက်ချင်းပြုပြင်မှုကိုလည်း ပေးစွမ်းသည်။
လျှို့ဝှက်ချက်များကို ကျော်လွန်၍- “Has Been Pwned” ၏ ပိုကြီးသော ရုပ်ပုံလွှာ
developer တစ်ယောက် pwn လုပ်ခံရတဲ့အခါ ဖော်ထုတ်ခံရတဲ့ လျှို့ဝှက်ချက်တွေထက် ပိုပြီး ပါဝင်ပတ်သက်လေ့ရှိပါတယ်။ ဥပမာအားဖြင့်၊ တိုက်ခိုက်သူများ မကြာခဏ ခိုးယူထားသော အထောက်အထားများကို ပေါင်းစပ်ပါ နှင့် အန္တရာယ်ရှိသော ပက်ကေ့ဂျ်များ or အဆိပ် pull requests. တကယ်တော့၊ software supply chain တိုက်ခိုက်မှုတွေဟာ ဒီပေါင်းစပ်မှုပေါ်မှာပဲ ရှင်သန်ကြီးထွားကြပါတယ်။
ထို့ကြောင့် developer များသည် “pwned ဖြစ်ခြင်း” ကို ပိုမိုကျယ်ပြန့်သော အဓိပ္ပာယ်ဖြင့် စဉ်းစားသင့်သည်-
- လျှို့ဝှက်ချက်များပေါက်ကြားသွားသည် commits
- မှီခိုမှုများကို အန္တရာယ်ရှိသော ဗားရှင်းများအတွက် လဲလှယ်ထားသည်
- CI/CD pipelineအလွန်အကျွံ အခွင့်ထူးခံ တိုကင်များဖြင့် အသုံးချခံရသည်
ထို့ကြောင့် တိုးချဲ့ခြင်းဖြင့် လျှို့ဝှက်ချက်များ ဖော်ထုတ်ခြင်း ထောက်ပံ့ရေးကွင်းဆက်လုံခြုံရေး အပြည့်အဝဖြင့် အဖွဲ့များသည် အတိုင်းအတာတစ်ခုအထိ လိမ်လည်ခံရနိုင်ခြေကို သိသိသာသာ လျှော့ချပေးပါသည်။
နိဂုံးချုပ်- “Has been Pwned” ထက် သာလွန်နေခြင်း
ဆော့ဖ်ဝဲရေးသားသူများအတွက်၊ ထိုစကားစုသည် ပစ်ချခံရပြီ ကြောက်စရာကောင်းတဲ့ သတိပေးချက်တစ်ခုတင်မကဘဲ မြန်မြန်လုပ်ဆောင်ဖို့ တိုက်တွန်းချက်တစ်ခုလည်း ဖြစ်ပါတယ်။ ထို့အပြင်၊ pwned checker ကို စစ်ဆေးခြင်းဖြင့် ထိတွေ့မှုကို အတည်ပြုရန် ကူညီပေးသော်လည်း ကာကွယ်ခြင်းသည်သာ တကယ့်ဖြေရှင်းချက်ဖြစ်သည်။ လျှို့ဝှက်ချက်များကို ထောက်လှမ်းခြင်းဖြင့်၊ vaults များ၊ pre-commit hooksနှင့် guardrails in CI/CDယိုစိမ့်မှုများသည် ပေါက်ကြားမှုမဖြစ်မီတွင် ရပ်တန့်နိုင်သည်။
Xygeni က ဒါကို ပိုပြီးတောင် လုပ်ဆောင်ပါတယ်။ IDE တွေမှာ လျှို့ဝှက်ချက်တွေကို စကင်ဖတ်တာ၊ ဖော်ထုတ်ထားတဲ့ တိုကင်တွေကို အလိုအလျောက် ရုပ်သိမ်းတာနဲ့ CI/CD guardrailsဆော့ဖ်ဝဲရေးသားသူများ ခြိမ်းခြောက်ခံရနိုင်ခြေရှိသည့်အခါ ၎င်းတို့တွင် ခိုင်မာသောကာကွယ်ရေးများ ရှိနှင့်ပြီးဖြစ်ကြောင်း ၎င်းက သေချာစေသည်။





