Everything About IT Notes

Sunday, October 21, 2012

Cross Site Scripting ျပႆနာမ်ား (Security Alert)


Cross site scripting (XSS) ကိုအေျခခံတဲ့ တိုက္ခိုက္မႈေတြဟာ အသစ္မဟုတ္ေပမယ့္ လူမႈေရး မီဒီယာေတြ ေပၚေပါက္လာတာက xss တိုက္ခိုက္မႈ အသစ္ေတြကို ထပ္ထုတ္ေစႏိုင္ ပါတယ္။

 An XSS Primer
XSS တိုက္ခိုက္မႈနည္းလမ္းမွာ အသံုးအမ်ားဆံုးဟာ အီးေမးလ္ျဖစ္ပါတယ္။ ျပစ္မႈက်ဴးလြန္သူ တစ္ေယာက္ဟာ သာမန္ URL တစ္ခုမွာ ႏိုင္ငံျခားဘာသာ စကားလိုမ်ဳိး အထူးအကၡရာေတြကို တြဲဆက္လိုက္ပါတယ္။ ဒီအကၡရာေတြဟာ လူလိမ္ေတြျပဳလုပ္ထားတဲ့ Script တစ္ခုကို လုပ္ ေဆာင္ဖို႔ web server ကိုေျပာပါလိမ့္မယ္။ ဥပမာအားျဖင့္ ေျပာရရင္ တိုက္ခိုက္သူတစ္ ေယာက္ဟာ ဘဏ္ရဲ႕ URL မွာ ဒီလို script တစ္ခုကို တြဲဆက္ထားၿပီး အီးေမးလ္ပို႔လိုက္ပါ တယ္။ ဒီအီးေမးလ္ဟာ ဘဏ္ကေန တရား၀င္ပို႔တယ္လို႔ ယံုၾကည္ၿပီး Link ကို ကလစ္ႏွိပ္ရင္ browser ဟာ Web Server ဆီကို ဒီ Script ပို႔လိုက္ပါတယ္။ ဒါဆို ကုဒ္အမ်ဳိးမ်ဳိးကို လုပ္  ေဆာင္ေစၿပီး ဘဏ္ကို ၀င္ေရာက္တဲ့ Login အေသးစိတ္ဟာ browser cookie တစ္ခုကေန တိုက္ခိုက္သူထံသို႔ ေရာက္ရွိသြားပါတယ္။ အဲဒီေနာက္သူဟာ အြန္လိုင္း ဘဏ္စာရင္းကို ၀င္ေရာက္သြားႏိုင္ပါၿပီ။ေနာက္ထပ္XSS တိုက္ခိုက္မႈ အမ်ဳိးစားတစ္ခုဟာ အမ်ဳိးမ်ဳိးေသာ ကုဒ္ေတြကို web server တစ္ခုမွာ သိုေလွာင္ထားပါတယ္။ တိုက္ခိုက္သူဟာ e-commerce site တစ္ခုသို႔ Login ၀င္ ေရာက္ၿပီး Script တစ္ခုပါ၀င္ေနတဲ့ သတင္းစာသား တစ္ခုကို post တင္ထားပါတယ္။ ရက္ အနည္းငယ္ၾကာၿပီးေနာက္ ဒီ site ကို Login ၀င္တဲ့အခါ ဒီ post ကို ဖတ္ရပါမယ္။ အဲဒီ မတိုင္ ခင္က Login သတင္းအခ်က္အလက္ပါရွိတဲ့ Cookie ကို Script က ခိုးယူၿပီး အဲဒါကို လူလိမ္ ထံ ေပးပို႔ပါတယ္။ အဲဒီေနာက္ သူတို႔ဟာ ကိုယ့္ပံုစံ အေယာင္ေဆာင္ႏိုင္ပါလိမ့္မယ္။
 တတိယအမ်ဳိးအစား XSS တိုက္ခိုက္မႈဟာ Web Browser ကိုယ္တိုင္ပဲ ထိသြားႏိုင္ပါတယ္။ ဒီ အႀကံအစည္မွာေတာ့ ကိုယ္သြားၾကည့္မယ့္ ဆိုဒ္တစ္ခုေပၚမွာ တိုက္ခိုက္သူဟာ အဆိပ္ရွိေန တဲ့ Flash File တစ္ခုကို ထားထားပါတယ္။ ဗီဒီယိုေတြကို Browser က download လုပ္တဲ့ အခါ ဒီ ဖိုင္ဟာ Browser ထဲမွာ Script တစ္ခုကို ခ်ိန္ကိုက္ လုပ္ေဆာင္ေစပါတယ္။ အဲဒီ ေနာက္ တိုက္ခိုက္သူဟာ Browser ထဲမွာရွိတဲ့ စာမ်က္ေတြမွာ ပါ၀င္တဲ့ အရာေတြကို ထိန္းခ်ဳပ္ သြားႏိုင္ပါၿပီ။
 Web 2.0 and XSS
ဒီကေန႔ Website ေတြဟာ ေယဘုယ် XSS တိုက္ခိုက္မႈေတြကို စစ္ထုတ္တဲ့အလုပ္ကို အရင္ ဆိုဒ္ေတြျပဳလုပ္ခဲ့တာထက္စာရင္ ပိုၿပီး ေကာင္းစြာလုပ္ႏိုင္ေပမယ့္ ကြဲျပားတဲ့ content filtering ျပဳလုပ္ဖို႔ အေျခအေနရွိတဲ့ ဆိုဒ္ႏွစ္ခုကို partner အျဖစ္ ဆံုးျဖတ္ရင္ ဘာျဖစ္လာႏိုင္ ပါသလဲ။ ေျပာရမယ္ဆိုရင္ ဆိုဒ္ ေအ ေပၚရွိ ေၾကာ္ျငာတစ္ခုကို ကလစ္ႏွိပ္လိုက္ပါတယ္။ မသိ ႏိုင္တဲ့ အျဖစ္က ဒီေၾကာ္ျငာမွာ XSS တိုက္ခိုက္မႈ တစ္ခုပါ၀င္နၿပီး Browser ကို ဆိုဒ္ ဘီ ဆီ ၿငိမ္သက္စြာ ေရာက္ရွိေစပါတယ္။ ခရီးသြား ဆိုဒ္ေတြဟာ လူမႈကြန္ရက္ Profile ကို အျပည့္ အ၀ ရယူႏိုင္ပါတယ္။ XSS တိုက္ခိုက္မႈတစ္ခုနဲ႔ ဆိုဒ္ ဘီကို သြားေရာက္ဖို႔ အဲဒီမွာ Login ၀င္ ေရာက္ဖို႔ အဲဒီမွာရွိတဲ့အရာေတြကို ကလစ္ႏွိပ္ဖို႔ မလိုပါဘူး။ ဒါမွမဟုတ္ အဲဒီ ဆိုဒ္ ဘီ ရွိေန တယ္ ဆိုတာေတာင္ မသိပဲ ကိုယ့္ကို သားေကာင္ျဖစ္လာေစပါတယ္။ ဘာေၾကာင့္လဲဆိုေတာ့ ဆိုဒ္ဘီဟာ လူမႈကြန္ရက္ profile ကို (သူငယ္ခ်င္းရဲ႕ သတင္းအခ်က္အလက္လည္း ျဖစ္ႏုိင္ပါ တယ္) ရယူႏိုင္ၿပီးသားျဖစ္ေနၿပီး ဆိုဒ္ ေအ ေပၚမွာ ရွိတဲ့ ေၾကာ္ျငာရဲ႕ ေနာက္က ျပစ္မႈ က်ဳးလြန္ သူဟာလည္း ဒီသတင္းအခ်က္အလက္ကို ယခုရယူထားႏိုင္ပါၿပီ။
 ကံမေကာင္းစြာပဲ ဆိုဒ္ေတြဟာ connection ကို encrypt လုပ္ထားရုံနဲ႔ XSS တိုက္ခိုက္မႈကို ႀကိဳတင္ကာကြယ္ မထားႏိုင္ပါဘူး။ Encryption သံုးထားတဲ့ ဆိုဒ္ကို ၀င္ေရာက္ၾကည့္တဲ့ အခါ မွာ ေသာ့ခေလာက္အေသးေလးဟာ toolbar ထဲမွာေပၚလာကာ SSL (Secure Socket Layer) ကို ေဖာ္ျပေနၿပီး တိုက္ခိုက္မႈကိုပါ encrypt လုပ္ေနပါပဲ။ ေယဘုယ်အားျဖင့္ ဆိုဒ္ designer ေတြဟာ XSS အျပည့္အ၀အသံုးခ်မႈကို ကာကြယ္ႏိုင္ဖို႔ ဆိုဒ္ကို ထိန္းခ်ဳပ္ထားၿပီး ျဖစ္ေနရပါမယ္။ အသံုးျပဳသူေတြဟာ XSS တိုက္ခိုက္မႈကို ေရွာင္ရွားႏိုင္တဲ့ နည္း ၂ နည္း ရွိပါ တယ္။ တစ္ခုကေတာ့ ဆိုဒ္တစ္ခုကေန အျခားတစ္ခုကို Link ခ်ိတ္ထားတာေတြကိုလ်စ္လ်ဴ ရႈထားလိုက္တာပါ။ ေျပာရရင္ Link ကို ကလစ္ႏွိပ္တာနဲ႔အျခား Tab တစ္ခုထဲမွာ Someradom site.com ကို တိုက္ရိုက္ေရာက္ရွိသြားရမယ္။ ဆိုဒ္ရဲ႕ Search လုပ္ေဆာင္ ခ်က္ကို အသံုးျပဳၿပီး စာမ်က္ႏွာကို ရွာရမယ့္အစား ဆိုဒ္ ေအဟာ somerandomsite.com/ page ဆီကို Link ခ်ိတ္ဆက္ထားပါတယ္။ ဒီနည္းလမ္းဟာ ခ်ိတ္ဆက္ထားတဲ့ URL ထဲမွာ ျမဳပ္ႏွံထားတဲ့ XSS တိုက္ခုိက္မႈေတြကို ထိေရာက္စြာတားေပးႏိုင္ေပမယ့္လည္း ဆိုဒ္ ၂ ခု ဟာ content ေတြကို မွ်ေ၀သံုးထားတဲ့အခ်ိန္မွာ အကူအညီမေပးႏိုင္ပါဘူး။ တျခားနည္းတစ္ခုက ေတာ့ Java script လိုမ်ဳိး Scripting language ေတြကို browser မွာ ပိတ္ထားဖို႔ပါပဲ။ ဒါေပမဲ့ ဒါဟာ site တခ်ဳိ႕လိုခ်င္တဲ့ လုပ္ေဆာင္ခ်က္ေတြကိုပါ ပိတ္သြားေစႏိုင္ပါတယ္။
 အႏၱရာယ္ရွိတဲ့ Script ေတြကို ပိတ္ဆို႔ထားျခင္း
Internet Explore 8 ဟာ Script ပိတ္ထားတဲ့ XSS ကာကြယ္ေပးမႈ ပါရွိၿပီးသားျဖစ္တဲ့ ပထမ ဦးဆံုး Browser ျဖစ္ခဲ့ပါတယ္။ ၿပီးေတာ့ Google Chrome က ေနာက္က လိုက္လုပ္ေဆာင္ လာခဲ့ပါတယ္။ ႏွစ္ခုစလံုးစဟာ web server တစ္ခုကေနလာတဲ့ Script တစ္ခုကို malicious ျဖစ္ေနလားလို႔ ၾကည့္ပါတယ္။ ဒီလိုသာျဖစ္ေနခဲ့ရင္ အဲဒါကို ပိတ္ထားလိုက္ပါတယ္။Firefox အသံုးျပဳေတြဟာ No Script (find.pcworld.com/70213) ဆိုတဲ့ add-on ကို အသံုး ခ်ၿပီး Script ကို ေရြးခ်ယ္ပိတ္ထားႏိုင္ပါတယ္။ ဥပမာအားျဖင့္ ဆိုဒ္ေပၚမွာ တျခား Script အစိတ္အပိုင္းေတြကို ပိတ္ထားခ်ိန္မွာ Flash Video တစ္ခုကို မပိတ္ပဲ ထားႏိုင္ေစပါတယ္။ No Script တစ္ခုခ်င္းစီကို မပိတ္မိဖို႔ လုပ္ေဆာင္ရတဲ့ အဆင္မေျပႏိုင္မႈပါပဲ။ ဒါကို မႀကိဳက္ၾကပါ ဘူး။ ဒါေပမယ့္လည္း ပိတ္ျခင္း မပိတ္ျခင္းဟာ ေယဘုယ်အားျဖင့္ ဒုတိယဦးစားေပးလုပ္ ေဆာင္ခ်က္ပါပဲ။ တစ္ခုတည္းအတြက္ ဒါမွမဟုတ္ လုပ္ေဆာင္ခ်က္အားလံုးကို သြားေရာက္ ၾကည့္ရႈဖို႔ ေရြးခ်ယ္ထားတဲ့ ဆိုဒ္တစ္ခုေပၚမွာ script ေတြကို လုပ္ပိုင္ခြင့္ သတ္မွတ္တာကို လည္း လုပ္ႏုိင္ပါတယ္။  Ref Source: PC World Myanmar

0 comments:

Post a Comment