Thursday, September 22, 2011

Password နဲ႕ ပတ္သတ္လို႕ သိထားသင့္တာမ်ား

Password နဲ႕ ပတ္သက္တဲ့ သတိေပးခ်က္ ေတြကို မၾကာခဏ ၾကားဖူးၾကမွာပါ။ အဂၤလိပ္စာလံုး အၾကီးနဲ႕ အေသးတြဲသံုးဖို႕၊ နံပါတ္နဲ႕ အကၡရာ တြဲသံုးဖို႕၊ #%&!အစရွိတဲ့ Special Character ေတြ ထည့္သံုးဖို႕၊ အဘိဓာန္ ထဲက စကားလံုးေတြ မသံုးဖို႕၊ စာလံုး အေရအတြက္ မ်ားမ်ား သံုးဖို႕၊ QWERTY လုိမ်ိဳး အစဥ္လိုက္ စာလံုးေတြ မသံုးဖို႕ ဆိုတဲ့ သတိေပးခ်က္မ်ိဳး ေတြကို ၾကားရတတ္ ပါတယ္။ ဒါေပမယ့္ ကြန္ျပဴတာ အသံုးျပဳသူ အမ်ားစုကေတာ့ ဘာအေၾကာင္းေၾကာင့္ ဒီလို သတိေပးတယ္ ဆိုတာကို သေဘာမေပါက္ ၾကပါဘူး။ အလြယ္တကူ မွတ္လို႕ မရေအာင္ အဲဒီလို လုပ္ခိုင္းတယ္ လို႕ပဲ ထင္တတ္ပါတယ္။

တကယ့္ အေၾကာင္းရင္းမွန္ကေတာ့ အလြယ္တကူ မွတ္လို႕ မရရံုတင္ မကပါဘူး။ Password သူခိုးေတြ သံုးတတ္တဲ့ အဘိဓာန္ တိုက္ခုိက္မႈ (Dictionary Attack) ၊ ဘရုဖို႕စ္ တိုက္ခိုက္မႈ (Brute Force Attack) စတဲ့ နည္းေတြကေန ေရွာင္ႏိုင္ေအာင္လည္း ပါဝင္ပါတယ္။ Password သူခိုး မ်ားဟာ ေရးထားျပီးသား ပရိုဂရမ္ေတြ Script ေတြကို သံုးျပီး Password ျဖည့္ရမည့္ ေနရာမွာ ျဖစ္ႏိုင္ေျခ ရွိတဲ့ Password ေတြကို အလိုအေလ်ာက္ ျဖည့္ၾကည့္ၾကပါတယ္။ အဲဒီလို ပရိုဂရမ္ေတြ ကလည္း ကိုယ္တိုင္ ေရးစရာ မလိုပဲ အင္တာနက္မွာတင္ အလြယ္တကူ ရွာလို႕ ရႏိုင္ ပါတယ္။

အဘိဓာန္ တိုက္ခိုက္မွဳ (Dictionary Attack) ဆိုတာကေတာ့ အဲဒီလို ေရးထားျပီးသား ပရိုဂရမ္ကို သံုးျပီး အဘိဓာန္ ထဲမွာ ရွိတဲ့ အဂၤလိပ္စာလံုးေတြကို ပံုစံမ်ိဳးစံုနဲ႕ ေပါင္းစပ္ျပီး ျဖည့္ၾကည့္တာကို ေခၚပါတယ္။ ဥပမာ အားျဖင့္ night နဲ႕ parking ေပါင္းျပီး nightparking ဆိုတဲ့ စာလံုးမ်ိဳး၊ Bird နဲ႕ Park ေပါင္းျပီး birdpark ဆိုတာမ်ိဳးကို Password ေနရာမွာ ျဖည့္ၾကည့္ၾကတာ မ်ိဳးပါ။ အဲဒီေတာ့ ကိုယ့္ရဲ႕ Password က အဘိဓာန္ ထဲမွာ ရွိတဲ့ စာလံုးေတြကို သံုးထားတယ္ဆိုရင္ အဘိဓာန္ တိုက္ခိုက္မွဳ ေၾကာင့္ Password သူခိုးေတြရဲ႕ လက္ကို ေရာက္သြားႏိုင္ပါတယ္။ အဘိဓာန္ တိုက္ခိုက္မွဳကို သံုးတဲ့ Password သူခိုးအေနနဲ႕ အဂၤလိပ္ အဘိဓာန္သာ မကပဲ သူၾကိဳက္တဲ့ အဘိဓာန္ကို ပရိုဂရမ္ထဲမွာ အလြယ္တကူ ထည့္ျပီး သံုးလို႕ရပါတယ္။ အဲဒါေၾကာင့္ အဂၤလိပ္ အဘိဓာန္ မသံုးပဲ မေလးစကားလံုးလို အဂၤလိပ္စာနဲ႕ ေရးထားတဲ့ စာလံုးမ်ိဳးေတြကို သံုးရင္လည္း စိတ္မခ်ရပါဘူး။ အဘိဓာန္ထဲက စကားလံုးေတြကို Password အေနနဲ႕ မသံုးတာဟာ အေကာင္းဆံုးပါပဲ။ Password သူခိုးေတြဟာ အဘိဓာန္ တိုက္ခိုက္မွဳ ထဲမွာ qwerty, asdfg စတဲ့ ကီးဘုတ္ေပၚမွာ ရွိတဲ့ ဂဏန္း အစဥ္လိုက္ စာလံုးတြဲေတြကိုလည္း သံုးတတ္တဲ့ အတြက္ ကီးဘုတ္ေပၚမွာ ရွိတဲ့ အစဥ္လိုက္ အကၡရာေတြကို Password အေနနဲ႕ ထားျခင္းမွလည္း ေရွာင္သင့္ပါတယ္။

ဘရုဖို႕စ္ ဆိုတာကေတာ့ ျဖစ္ႏိုင္ေျခ ရွိတဲ့ စာလံုးေတြကို ပံုစံမ်ိဳးစံုနဲ႕ ျဖည့္ၾကည့္တဲ့ တိုက္ခိုက္မွဳပါ။ ဥပမာ အားျဖင့္ ဘရုဖို႕စ္ နဲ႕ တိုက္ခိုက္မယ့္ Password သူခုိးက Password ၆လံုးစာ ေနရာကို ကို 0 ကေန 9 အထိ ျဖည့္ၾကည့္မယ္ ဆိုၾကပါစို႕။ ပရိုဂရမ္က Password ျဖည့္ရမယ့္ ေနရာမွာ 0 ကေန 999999 အတြင္း ရွိသမွ် ဂဏန္းေတြကို အလို အေလ်ာက္ ျဖည့္ၾကည့္ပါတယ္။ ျဖစ္ႏိုင္ေျခ ရွိတဲ့ password အားလံုးေပါင္းက (106 + 105 + 104 + 103+ 102 + 10)= ၁၁ သန္းေက်ာ္ ရွိပါတယ္။ (10 က ျဖစ္ႏိုင္ေျခ ရွိတဲ့ 0 ကေန 9 အထိ ဂဏန္း ၁၀ လံုးကို ရည္ညႊန္းျပီး ေရွ႕ဆံုးက ပါဝါ 6 ကေတာ့ ဂဏန္း ၆ လံုးစာေနရာကို ရည္ညႊန္းပါတယ္။) ဒါေပမယ့္ ၁၁ သန္းေက်ာ္ဆိုတဲ့ ဂဏန္းကို ကြန္ျပဴတာနဲ႕ ျဖည့္ၾကည့္ဖို႕ မိနစ္ပိုင္း ပဲ ၾကာပါတယ္။ အကယ္၍ ဂဏန္းခ်ည္း သက္သက္မဟုတ္ပဲ အဂၤလိပ္အကၡရာ စာလံုး အေသး ကိုပါ တြဲျဖည့္မယ္ ဆိုရင္ေတာ့ a ကေန z အထိ အကၡရာ ၂၆ လံုး ပိုလာပါျပီ။ အကၡရာ ၃၆ လံုးအတြက္ ျဖစ္ႏိုင္ေျခ ရွိတဲ့ ဂဏန္း အားလံုးေပါင္းက (366 + 365 + 364 + 363+ 362 + 36) = 2.2 ဘီလီယံ ေက်ာ္ ရွိပါတယ္။ အဲဒီအတြက္ ပရိုဂရမ္ကို Run ရတဲ့ အခ်ိန္က ဂဏန္းခ်ည္း သက္သက္ ျဖည့္တာထက္ စာရင္ အဆ ၂၀၀ ေက်ာ္ ပိုၾကာပါတယ္။ အဂၤလိပ္စာလံုး အၾကီးအေသး၊ ဂဏန္းနဲ႕ ကီးဘုတ္ ေပၚက ရိုက္ထည့္လို႕ရတဲ့ Special Character ၃၂ လံုးကို တြဲျဖည့္မယ္ ဆိုရင္ေတာ့ စုစုေပါင္း အကၡရာ ၉၄လံုး ျဖစ္တဲ့အတြက္ ျဖစ္ႏိုင္ေျခ ရွိတဲ့ Password က ၆၉၇ ဘီလီယံ ေက်ာ္ ရွိပါတယ္။ ဂဏန္း ခ်ည္းသက္သက္ ျဖည့္တာထက္ စာရင္ အဆ ၆ေသာင္း နီးပါး ပိုၾကာပါတယ္။ အဲဒီေတာ့ ကိုယ့္ရဲ႕ Password ထဲမွာ အကၡရာ အၾကီးအေသး ဂဏန္း နဲ႕ Special Character ေတြ တြဲျဖည့္မယ္ ဆိုရင္ ဘရုဖို႕စ္ တိုက္ခိုက္မွဳက ေန ေရွာင္ႏိုင္ဖို႕ အခြင့္အလမ္း မ်ားပါတယ္။ Password အလံုးေရ ၁၂ လံုးထက္ ပိုမယ္ ဆိုရင္ အေကာင္းဆံုးပါပဲ။

Password ကို မၾကာခဏ ေျပာင္းပါ ဆိုတာလည္း ဒါေၾကာင့္ပါပဲ။ ကိုယ့္ရဲ႕ Password ကို တစ္စံု တစ္ေယာက္က စိတ္ရွည္လက္ရွည္နဲ႕ ေန႕တိုင္း တိုက္ခိုက္ေနမယ္ ဆိုရင္ တစ္ေန႕မဟုတ္ တစ္ေန႕ေတာ့ ကိုယ့္ရဲ႕ Password ကို ေဖာ္ႏိုင္မွာပါပဲ။ ဒါေၾကာင့္ Password ကို မၾကာခဏ ေျပာင္းေပးတာဟာ ပိုျပီး လံုျခံဳမွဳ ရွိေစပါတယ္။

ဒါေပမယ့္ User ေတြ အတြက္ အဓိက ျပသနာက အဲဒီလို အားေကာင္းတဲ့ Password ကို ဘယ္လို မွတ္မိေအာင္ လုပ္မလဲ ဆုိတဲ့ ျပသနာပါ။ အရိုးအရွင္းဆံုး Password ဖန္တီးနည္းကို အခုလို မွတ္သား ဖူးပါတယ္။ ဂဏန္းေတြ ပါတဲ့ အဂၤလိပ္ စာေၾကာင္းတစ္ခုကို မွတ္မိေအာင္ လုပ္လိုက္ပါ။ ဥပမာ She have 3 cats 2 dogs and he is 5 feet 8 inches tall ဆိုတာမ်ိဳးပါ။ ျပီးရင္ ေရွ႕ဆံုးစာလံုးေတြကို ယူပါ။ sh3c2dahi5f8it ဆိုျပီး ရပါတယ္။ နာမ္စားေတြကို အဂၤလိပ္ အကၡရာ အၾကီး ေျပာင္းလိုက္ပါ။ ျပီးရင္ က်န္တဲ့စာလံုးေတြမွာ (a = @ , h = # , p = % , s = $ ) စတာမ်ိဳးေတြ အစားထိုးလိုက္ပါ။ အဲဒါဆိုရင္ ခုန စာေၾကာင္းကေန Sh3c2d@H!5f8!t ဆိုျပီး အလြယ္တကူ ခိုးလို႕မရႏိုင္တဲ့ Password တစ္ခု ထြက္လာပါလိမ့္မယ္။ မမွတ္မိရင္ အဂၤလိပ္စာေၾကာင္းကို ျပန္စဥ္းစားျပီး အစျပန္ေဖာ္လို႕ ရပါတယ္။ ရိုက္ပါမ်ားရင္ မွတ္မိသြားပါလိမ့္မယ္။

အဲဒါဆိုရင္ ေမးစရာ ေနာက္တစ္ခု ရွိလာပါျပီ။ ကြ်န္ေတာ္တို႕ရဲ႕ အီးေမးလ္ေတြကို ဘရုဖို႕စ္ တိုက္ခိုက္မွဳနဲ႕ Password ေဖာ္လို႕ ရသလား ဆိုတာပါ။ ရာဟူး ဂ်ီေမးလ္စတဲ့ အီးေမးလ္ေတြမွာ ဘရုဖို႕စ္ တိုက္ခိုက္မွဳကို ကာကြယ္ဖို႕အတြက္ Catcha လို႕ ေခၚတဲ့ Word Verification ထည့္ထားပါတယ္။ Password ကို ၃ ခါ မွားႏွိပ္မိရင္ Word Verification ေပၚလာျပီး Password နဲ႕အတူ ကြန္ျပဴတာ ဖန္သားျပင္မွာ ေပၚလာတဲ့ စာလံုးေတြကို ရိုက္ထည့္ေပးရပါတယ္။ အဲဒီ လို ေပၚလာတဲ့ စာလံုးေတြကို ကြန္ျပဴတာ ပရိုဂရမ္နဲ႕ အလြယ္တကူ ဖတ္လို႕မရတဲ့ အတြက္ ဘရုဖို႕စ္နဲ႕ တိုက္ခိုက္လို႕ အလြယ္တကူ မရႏိုင္ပါဘူး။ ဒါေပမယ့္ ကြန္ျပဴတာမွာ Optical Character Recognition လို႕ ေခၚတဲ့ ဖန္သားျပင္ေပၚက စာလံုးေတြကို ဖတ္လုိ႕ရတဲ႕ နည္းပညာလည္း ရွိပါေသးတယ္။ အဲဒါေၾကာင့္ စာလံုးေတြကို အတည့္အတိုင္း မေရးပဲ ရြဲ႕ေစာင္း ေရးထားျပီး Word Verification ကို OCR နည္းပညာကို သံုးျပီး အလြယ္တကူ ဖတ္လို႕ မရေအာင္ လုပ္ထားပါတယ္။ ကြ်န္ေတာ္တို႕ သံုးေနက် တစ္ခ်ိဳ႕ဝက္ဘ္ဆိုဒ္(လံုျခံဳေရး အရ အမည္ မေဖာ္လိုပါ။) ေတြမွာ Catcha မပါပါဘူး။ အဲဒီအတြက္ ဘရုဖို႕စ္နဲ႕ တိုက္ခုိက္တဲ့ အခါမွာ ကိုယ့္ရဲ႕ Password က အားနည္းေနရင္ တျခားသူလက္ကို အလြယ္တကူ ေရာက္သြားႏိုင္ ပါတယ္။ အဲဒါေၾကာင့္ ကိုယ္သံုးေနတဲ့ ဝက္ဘ္ဆိုဒ္မွာ Catcha မပါမွန္း သိရင္ Password ကို တတ္ႏိုင္သမွ် အားေကာင္းေအာင္ လုပ္ထားပါလို႕ အၾကံေပးခ်င္ ပါတယ္။

Source: http://thawahpeaceit.blogspot.com/2010/12/password.html