27/06/2026
Overflow ဆိုတာ ဘာလဲ?
Buffer Overflow ဆိုတာ Software Security မှာ အလွန်အရေးကြီးတဲ့ Vulnerability (အားနည်းချက်) တစ်ခုဖြစ်ပါတယ်။
ဥပမာနဲ့ ရှင်းပြရရင်
500 ml ဆံ့တဲ့ ရေခွက်တစ်ခွက်ကို 500 ml အထိရေထည့်ရင် ဘာမှမဖြစ်ပါဘူး။
ဒါပေမယ့် 700 ml ထည့်လိုက်ရင် ရေက ခွက်အပြင်ကို လျှံထွက်သွားပါမယ်။
Programming မှာလည်း ဒီသဘောတရားအတိုင်းပါပဲ။
ဥပမာ Program တစ်ခုက 16 bytes ပဲသိမ်းနိုင်တဲ့ Memory Buffer တစ်ခုကို ဖန်တီးထားတယ်ဆိုပါစို့။
ပုံမှန်အသုံးပြုသူက 16 bytes အောက်ပဲ ထည့်ရင် အဆင်ပြေပါတယ်။
ဒါပေမယ့် Program က Input အရှည်ကို မစစ်ထားဘဲ 100 bytes လောက် ထည့်လိုက်ရင် 16 bytes ထက်ကျော်တဲ့ Data တွေက အနီးနား Memory တွေကို ဆက်ရေး (Overwrite) သွားနိုင်ပါတယ်။ ဒါကို Buffer Overflow လို့ ခေါ်ပါတယ်။
Buffer Overflow ဖြစ်ရင် ဘာဖြစ်နိုင်လဲ?
* Program Crash ဖြစ်နိုင်တယ်။
* Data ပျက်စီးနိုင်တယ်။
* Memory ထဲမှာရှိတဲ့ Sensitive Information တွေ ပေါက်ကြားနိုင်တဲ့ အခြေအနေ ဖြစ်နိုင်တယ်။
* အချို့အခြေအနေတွေမှာ Program ရဲ့ ပုံမှန်လုပ်ဆောင်ပုံ ပြောင်းလဲသွားနိုင်တယ်။
ဘယ်လိုကာကွယ်မလဲ?
အခြေခံအကျဆုံးနည်းလမ်းတွေကတော့
✅ Frontend မှာ User Input Length ကို သတ်မှတ်ထားပါ။
✅ Backend မှာလည်း Input Length ကို ထပ်မံသတ်မှတ်ထားပါ။
✅ User Input ကို အမြဲ Validate လုပ်ပါ။
✅ C/C++ အသုံးပြုရင် Buffer Size ကို အမြဲစစ်ဆေးပြီး Safe APIs များကို အသုံးပြုပါ။
Cybersecurity မှာ Buffer Overflow ဟာ သမိုင်းတစ်လျှောက် အရေးကြီးဆုံး Vulnerabilities တွေထဲက တစ်ခုဖြစ်ပြီး၊ ယနေ့ခေတ်မှာ Operating System တွေရဲ့ Security Mechanisms တွေကြောင့် Exploit လုပ်ရတာ ပိုခက်လာပေမယ့် Legacy Software နဲ့ Embedded Devices တွေမှာတော့ ယနေ့တိုင် တွေ့နေရဆဲ ဖြစ်ပါတယ်။