cookie နှင့် session attack သည် ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခြင်း၊ ဒေတာခိုးယူခြင်းနှင့် အခြားသော အန္တရာယ်ရှိသော လုပ်ဆောင်ချက်များဆီသို့ ဦးတည်သွားစေနိုင်သည့် ဝဘ်အက်ပလီကေးရှင်းများတွင် လုံခြုံရေးအားနည်းချက် အမျိုးအစားတစ်ခုဖြစ်သည်။ ဤတိုက်ခိုက်မှုများသည် မည်သို့အလုပ်လုပ်သည်ကို နားလည်ရန်အတွက်၊ ကွတ်ကီးများ၊ ဆက်ရှင်များနှင့် ဝဘ်အက်ပလီကေးရှင်းလုံခြုံရေးတွင် ၎င်းတို့၏အခန်းကဏ္ဍကို ရှင်းလင်းစွာနားလည်ရန် အရေးကြီးပါသည်။
ကွတ်ကီးများသည် ဝဘ်ဘရောက်ဆာများမှ client-side (ဆိုလိုသည်မှာ အသုံးပြုသူ၏စက်ပစ္စည်း) တွင် သိမ်းဆည်းထားသည့် သေးငယ်သောဒေတာအပိုင်းအစများဖြစ်သည်။ အကောင့်ဝင်ခြင်းအထောက်အထားများ၊ ဦးစားပေးမှုများနှင့် စျေးဝယ်လှည်းပစ္စည်းများကဲ့သို့သော ဝဘ်ဆိုက်တစ်ခုနှင့် သုံးစွဲသူ၏ အပြန်အလှန်တုံ့ပြန်မှုဆိုင်ရာ အချက်အလက်များကို သိမ်းဆည်းရန် ၎င်းတို့ကို အသုံးပြုသည်။ ကွတ်ကီးများကို သုံးစွဲသူမှ တောင်းဆိုမှုတိုင်းဖြင့် ဆာဗာကို အခြေအနေကို ထိန်းသိမ်းရန်နှင့် ပုဂ္ဂိုလ်ရေးသီးသန့် အတွေ့အကြုံများကို ပေးဆောင်ရန် ခွင့်ပြုသည်။
အခြားတစ်ဖက်တွင်၊ Sessions များသည် browsing session တစ်ခုအတွင်း အသုံးပြုသူများ၏ အပြန်အလှန်ဆက်သွယ်မှုများကို ခြေရာခံရန် အသုံးပြုသည့် server-side ယန္တရားများဖြစ်သည်။ အသုံးပြုသူတစ်ဦးသည် ဝဘ်အပလီကေးရှင်းတစ်ခုသို့ ဝင်ရောက်သောအခါတွင် ထူးခြားသော session ID တစ်ခုကို ထုတ်ပေးပြီး ထိုအသုံးပြုသူနှင့် ဆက်စပ်နေသည်။ ဤစက်ရှင် ID ကို ပုံမှန်အားဖြင့် client-side ရှိ cookie တစ်ခုအဖြစ် သိမ်းဆည်းထားသည်။ ဆာဗာသည် အသုံးပြုသူအား ခွဲခြားသတ်မှတ်ရန်နှင့် အသုံးပြုသူစိတ်ကြိုက်ရွေးချယ်မှုများနှင့် အထောက်အထားစိစစ်ခြင်းအခြေအနေကဲ့သို့သော စက်ရှင်သီးသန့်ဒေတာကို ရယူရန် ဤစက်ရှင် ID ကို အသုံးပြုသည်။
ယခု၊ cookie နှင့် session attack ကိုမည်သို့လုပ်ဆောင်နိုင်သည်ကို အသေးစိပ်လေ့လာကြည့်ရအောင်။ cookies နှင့် sessions များတွင် အားနည်းချက်များကို အသုံးချရန် တိုက်ခိုက်သူများသည် အသုံးပြုနိုင်သည့် နည်းပညာများစွာ ရှိပါသည်။
1. Session Hijacking- ဤတိုက်ခိုက်မှုတွင်၊ တိုက်ခိုက်သူသည် တရားဝင်အသုံးပြုသူ၏ session ID ကို ကြားဖြတ်ပြီး ထိုအသုံးပြုသူကို အယောင်ဆောင်ရန်အတွက် အသုံးပြုသည်။ ၎င်းကို ကွန်ရက်အသွားအလာကို ရှုရှိုက်ခြင်း၊ စက်ရှင်ကွတ်ကီးများကို ခိုးယူခြင်း သို့မဟုတ် စက်ရှင်ပြုပြင်ခြင်းဆိုင်ရာ အားနည်းချက်များကို အသုံးချခြင်းကဲ့သို့သော နည်းလမ်းအမျိုးမျိုးဖြင့် လုပ်ဆောင်နိုင်သည်။ တိုက်ခိုက်သူတွင် စက်ရှင် ID ရှိနေသည်နှင့်၊ ၎င်းတို့သည် အသုံးပြုသူ၏အကောင့်သို့ ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခွင့် ရရှိရန်၊ ၎င်းတို့၏ကိုယ်စား လုပ်ဆောင်ချက်များ လုပ်ဆောင်ရန် သို့မဟုတ် အရေးကြီးသော အချက်အလက်များကို ရယူသုံးစွဲနိုင်မည်ဖြစ်သည်။
ဥပမာ- တိုက်ခိုက်သူသည် Wireshark ကဲ့သို့သော ကိရိယာကို အသုံးပြု၍ အသုံးပြုသူ၏ ကွန်ရက်အသွားအလာကို ခိုးနားထောင်သည်။ လုံခြုံမှုမရှိသောချိတ်ဆက်မှုတစ်ခုမှပေးပို့သော session cookie ကိုဖမ်းယူခြင်းဖြင့်၊ တိုက်ခိုက်သူသည် အသုံးပြုသူအယောင်ဆောင်ရန်နှင့် ၎င်းတို့၏အကောင့်သို့ ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်အသုံးပြုရန် ထို cookie ကို အသုံးပြုနိုင်သည်။
2. Session Sidejacking- session hijacking နှင့် ဆင်တူသည်၊ session sidejacking သည် session ID ကို ကြားဖြတ်ခြင်း ပါဝင်ပါသည်။ သို့သော် ဤကိစ္စတွင်၊ တိုက်ခိုက်သူသည် ကွန်ရက်ထက် ဖောက်သည်ဘက်သို့ ပစ်မှတ်ထားသည်။ သုံးစွဲသူ၏ဘရောက်ဆာရှိ အားနည်းချက်များကို အသုံးချခြင်းဖြင့် သို့မဟုတ် အန္တရာယ်ရှိသော browser extension များကို အသုံးပြုခြင်းဖြင့် ၎င်းကို အောင်မြင်နိုင်သည်။ စက်ရှင် ID ကို ရရှိပြီးသည်နှင့်၊ တိုက်ခိုက်သူသည် အသုံးပြုသူ၏ စက်ရှင်ကို ခိုးယူကာ အန္တရာယ်ရှိသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန် ၎င်းကို အသုံးပြုနိုင်သည်။
ဥပမာ- တိုက်ခိုက်သူသည် အားနည်းချက်ရှိသော ဝဘ်ဆိုက်မှတဆင့် အန္တရာယ်ရှိသော script ကို ထိုးသွင်းခြင်းဖြင့် သုံးစွဲသူ၏ဘရောက်ဆာကို အပေးအယူလုပ်သည်။ ဤဇာတ်ညွှန်းသည် စက်ရှင်ကွတ်ကီးကို ဖမ်းယူပြီး တိုက်ခိုက်သူ၏ ဆာဗာသို့ ပေးပို့သည်။ စက်ရှင် ID ကို လက်ထဲတွင် ကိုင်ဆောင်ထားခြင်းဖြင့် တိုက်ခိုက်သူသည် အသုံးပြုသူ၏ စက်ရှင်ကို ခိုးယူကာ ခွင့်ပြုချက်မရှိဘဲ လုပ်ဆောင်မှုများကို လုပ်ဆောင်နိုင်သည်။
3. Session Fixation- session fixation attack တွင်၊ attacker သည် user အား တိုက်ခိုက်သူမှ ကြိုတင်သတ်မှတ်ထားသော session ID ကို အသုံးပြုရန် လှည့်စားပါသည်။ ၎င်းကို အန္တရာယ်ရှိသော လင့်ခ်တစ်ခု ပေးပို့ခြင်းဖြင့် သို့မဟုတ် ဝဘ်အပလီကေးရှင်း၏ စက်ရှင်စီမံခန့်ခွဲမှု လုပ်ငန်းစဉ်တွင် အားနည်းချက်များကို အသုံးချခြင်းဖြင့် လုပ်ဆောင်နိုင်သည်။ အသုံးပြုသူသည် ကြိုးကိုင်ထားသော session ID ဖြင့် ဝင်ရောက်ပြီးသည်နှင့်၊ တိုက်ခိုက်သူသည် အသုံးပြုသူ၏အကောင့်သို့ ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခွင့်ရရှိရန် ၎င်းကို အသုံးပြုနိုင်သည်။
ဥပမာ- တိုက်ခိုက်သူသည် တရားဝင်ဝဘ်ဆိုက်သို့ လင့်ခ်တစ်ခုပါရှိသော အသုံးပြုသူတစ်ဦးထံ ဖြားယောင်းသောအီးမေးလ်တစ်စောင် ပေးပို့သည်။ သို့သော်၊ လင့်ခ်တွင် တိုက်ခိုက်သူသတ်မှတ်ထားပြီးသော session ID တစ်ခု ပါဝင်သည်။ အသုံးပြုသူသည် လင့်ခ်ကိုနှိပ်ပြီး အကောင့်ဝင်ရောက်သည့်အခါ၊ တိုက်ခိုက်သူသည် အသုံးပြုသူ၏အကောင့်သို့ ဝင်ရောက်ခွင့်ရရှိရန် ကြိုတင်သတ်မှတ်ထားသော session ID ကို အသုံးပြုနိုင်သည်။
ကွတ်ကီးနှင့် ဆက်ရှင်တိုက်ခိုက်မှုများကို လျော့ပါးစေရန်၊ ဝဘ်အက်ပလီကေးရှင်းဆော့ဖ်ဝဲရေးသားသူများနှင့် စီမံခန့်ခွဲသူများသည် အောက်ပါလုံခြုံရေးအစီအမံများကို အကောင်အထည်ဖော်သင့်သည်-
1. လုံခြုံသောချိတ်ဆက်မှုများကို အသုံးပြုပါ- HTTPS ကို အသုံးပြု၍ လုံခြုံသောချန်နယ်များပေါ်တွင် စက်ရှင်ကွတ်ကီးများအပါအဝင် အရေးကြီးသောအချက်အလက်အားလုံးကို ပေးပို့ထားကြောင်း သေချာပါစေ။ ၎င်းသည် session hijacking နှင့် sidejacking တိုက်ခိုက်မှုများကို ကာကွယ်ရန် ကူညီပေးသည်။
2. လုံခြုံသော စက်ရှင်စီမံခန့်ခွဲမှုကို အကောင်အထည်ဖော်ပါ- မှန်းဆခြင်း သို့မဟုတ် ရိုင်းစိုင်းသောတိုက်ခိုက်မှုများကိုခံနိုင်ရည်ရှိသော အားကောင်းသော session ID ကိုသုံးပါ။ ထို့အပြင်၊ တိုက်ခိုက်သူများအတွက် အခွင့်အလမ်းပြတင်းပေါက်ကို လျှော့ချရန် session ID များကို ပုံမှန်လှည့်ပါ။
3. စက်ရှင်ကွတ်ကီးများကို ကာကွယ်ပါ- စက်ရှင်ကွတ်ကီးများတွင် "Secure" နှင့် "HttpOnly" အလံများကို သတ်မှတ်ပါ။ "Secure" အလံသည် ကွတ်ကီးအား လုံခြုံသောချိတ်ဆက်မှုများမှတစ်ဆင့်သာ ကူးယူကြောင်းသေချာစေပြီး "HttpOnly" အလံသည် ကွတ်ကီးကို ဝင်ရောက်ကြည့်ရှုခြင်းမှ ဖောက်သည်ဖက်မှ Script များကို တားဆီးကာ ဆိုက်ကပ်ထားသော Scripting (XSS) တိုက်ခိုက်မှုများကို လျော့ပါးစေသည်။
4. စက်ရှင်သက်တမ်းကုန်ဆုံးခြင်းနှင့် ပျင်းရိချိန်ကုန်ခြင်းကို အသုံးချပါ- သင့်လျော်သောစက်ရှင်သက်တမ်းကုန်ဆုံးချိန်များနှင့် လှုပ်ရှားမှုမရှိသောကာလတစ်ခုပြီးနောက် အသုံးပြုသူများအား အလိုအလျောက်ထွက်ရန် သင့်လျော်သောစက်ရှင်သက်တမ်းကုန်ဆုံးချိန်များနှင့် ပျင်းရိချိန်ကုန်ချိန်များကို သတ်မှတ်ပါ။ ၎င်းသည် session hijacking နှင့် fixation attacks ဖြစ်နိုင်ခြေကို လျှော့ချပေးသည်။
5. ပုံမှန်စာရင်းစစ်ခြင်းနှင့် စောင့်ကြည့်ခြင်း- ပုံမှန်မဟုတ်သောနေရာများမှ ပုံမှန်မဟုတ်သောနေရာများမှ ပုံမှန်မဟုတ်သော session များကဲ့သို့သော ပုံမှန်မဟုတ်သော session အပြုအမူများကို ရှာဖွေပြီး တားဆီးရန် ယန္တရားများကို အကောင်အထည်ဖော်ပါ။ ၎င်းသည် စက်ရှင်နှင့်ပတ်သက်သည့် တိုက်ခိုက်မှုများကို ခွဲခြားသတ်မှတ်ပြီး လျော့ပါးစေရန် ကူညီပေးနိုင်ပါသည်။
ကွတ်ကီးနှင့် ဆက်ရှင်တိုက်ခိုက်မှုများသည် ဝဘ်အပလီကေးရှင်းများ၏ လုံခြုံရေးကို သိသာထင်ရှားသော ခြိမ်းခြောက်မှုဖြစ်စေသည်။ အားနည်းချက်များကို နားလည်ပြီး သင့်လျော်သော လုံခြုံရေးအစီအမံများကို အကောင်အထည်ဖော်ခြင်းဖြင့်၊ ဆော့ဖ်ဝဲရေးသားသူများနှင့် စီမံခန့်ခွဲသူများသည် အသုံးပြုသူအစည်းအဝေးများကို ကာကွယ်နိုင်ပြီး သုံးစွဲသူဒေတာများ၏ ခိုင်မာမှုနှင့် လျှို့ဝှက်မှုကို သေချာစေသည်။
အခြား လတ်တလောမေးခွန်းများနှင့် အဖြေများ ကွတ်ကီးနှင့် ဆက်ရှင်တိုက်ခိုက်မှုများ:
- ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခွင့်ရရှိရန် စက်ရှင်တိုက်ခိုက်မှုများတွင် လက်အောက်ခံဒိုမိန်းများကို မည်သို့အသုံးချနိုင်သနည်း။
- စက်ရှင်တိုက်ခိုက်မှုများကို ခုခံကာကွယ်ရာတွင် ကွက်ကီးများအတွက် "HTTP သာလျှင်" အလံ၏ အဓိပ္ပါယ်မှာ အဘယ်နည်း။
- ပုံအရင်းအမြစ်တစ်ခုတွင် ထည့်သွင်းထားသော HTTP GET တောင်းဆိုမှုကို အသုံးပြု၍ တိုက်ခိုက်သူသည် အသုံးပြုသူ၏ cookies များကို မည်သို့ခိုးယူနိုင်မည်နည်း။
- စက်ရှင်အပိုင်စီးတိုက်ခိုက်မှုများကို လျော့ပါးစေရန်အတွက် ကွတ်ကီးများအတွက် "လုံခြုံသော" အလံကို သတ်မှတ်ရခြင်း၏ ရည်ရွယ်ချက်မှာ အဘယ်နည်း။
- တိုက်ခိုက်သူသည် session hijacking attack တွင် အသုံးပြုသူ၏ cookies များကို မည်သို့ကြားဖြတ်နိုင်မည်နည်း။
- ဝဘ်အက်ပလီကေးရှင်းများအတွက် ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် လုံခြုံပြီး ထူးခြားသော session ID များကို မည်သို့ထုတ်လုပ်နိုင်သနည်း။
- ကွတ်ကီးများကို လက်မှတ်ရေးထိုးရခြင်း၏ ရည်ရွယ်ချက်ကား အဘယ်နည်း၊ အမြတ်ထုတ်ခြင်းကို မည်သို့တားဆီးသနည်း။
- TLS သည် ဝဘ်အက်ပလီကေးရှင်းများတွင် ဆက်ရှင်တိုက်ခိုက်မှုများကို မည်ကဲ့သို့ လျော့ပါးစေသနည်း။
- cookie နှင့် session attacks များကို ကာကွယ်ရန် ဘုံလုံခြုံရေးအစီအမံအချို့က အဘယ်နည်း။
- အသုံးပြုသူမှ ထွက်ပြီးနောက် ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခြင်းကို တားဆီးရန် စက်ရှင်ဒေတာကို မည်သို့ ပျက်ပြားစေနိုင်သည် သို့မဟုတ် ဖျက်ဆီးနိုင်မည်နည်း။
Cookie နှင့် session attacks များတွင် နောက်ထပ်မေးခွန်းများနှင့် အဖြေများကို ကြည့်ပါ။