Wednesday, 18 April 2012

Virus ကို cmd ကေန တစ္ဆင့္ သတ္လို ့ရ၊ မရ

တိုးႀကီး ။  Virus  ကို cmd ကေန တစ္ဆင့္ သတ္လို ့ရတယ္လို ့ၾကားဘူးပါတယ္။ အဲ့ဒါဟုတ္လားမဟုတ္ဘူးလားဟင္။ သိတဲ့လူရိွရင္လည္း  နည္းနည္းပါးပါး ရွင္းျပေပးေစလိုပါတယ္။
abcd ။ File Infection Virus တစ္ခုကိုေတာ့ ဘာနဲ႔မွ သတ္လို႔မရပါ။  အျဖစ္သိပ္မရွိတဲ့ ဗိုင္းရပ္စ္ဆိုရင္ေတာ့ cmd နဲ႔ ရပါတယ္။
File Infection Virus ေတြက Code Injection နည္းနဲ႔ exe ဖိုင္ထဲကို ကုဒ္ေတြသြင္းတာ ျဖစ္ပါတယ္။
အဲဒီထဲမွာမွ ႐ိုး႐ိုးကုဒ္အသြင္နဲ႔ သြင္းနည္း၊
ပိုလီေမာ္ဖစ္ကုဒ္အသြင္နဲ႔ သြင္းနည္း၊
မက္တာေမာ္ဖစ္အသြင္နဲ႔ သြင္းနည္း ဆိုၿပီး အဓိက သြင္းနည္း (၃)မ်ိဳးနဲ႔ သြင္းၾကပါတယ္။
- ႐ိုး႐ိုးကုဒ္အသြင္နဲ႔ သြင္းနည္းဆိုတာကေတာ့ exe ဖိုင္ထဲက ေနရာလြတ္ (cave) ကို ရွာၿပီး အဲဒီေနရာမွာ malicious ကုဒ္ကို သြားထားပါတယ္။ အဲဒီကုဒ္ရဲ႕ အဆံုးမွာ entry point ဆီကို ညႊန္းတဲ့ Jump instruction ကို ေရးပါတယ္။ အန္တီဗိုင္းရပ္စ္ေတြက ဒီလိုဖိုင္မ်ိဳးကို disinfect (malicious ကုဒ္သက္သက္ကို ဖယ္ရွားျခင္း) လုပ္ႏိုင္ပါတယ္။
- Polymorphic ကုဒ္ဆိုတာကေတာ့ instruction (ကုဒ္) ေတြကို encrypt လုပ္ၿပီး သြင္းတာပါ။ Memory ထဲကူးတင္ၿပီး ကုဒ္ကို အလုပ္လုပ္ခါနီးမွာ မူရင္းကုဒ္အသြင္ကို ျပန္ယူပါတယ္။ ၿပီးရင္ encrypted ကုဒ္အေနနဲ႔ ျပန္ရွိေနပါတယ္။ ဒါေၾကာင့္ အန္တီဗိုင္းရပ္စ္ ေတာ္ေတာ္မ်ားမ်ားက သူတို႔ကို disinfection မလုပ္ႏိုင္ၾကဘဲ ဒီကူးစက္ခံထားရတဲ့ ဖိုင္ကို delete လုပ္ပစ္ၾကတာမ်ားပါတယ္။
- Metamorphic ကေတာ့ ကြန္ပ်ဴတာဂု႐ုေတြေလာက္သာ ေရးႏိုင္တဲ့ ဗိုင္းရပ္စ္မ်ိဳးပါ။ သူကလဲ ဝွက္ထားတဲ့ကုဒ္ေတြ exe ဖိုင္ထဲ သြင္းတာပါပဲ။ မတူတာကေတာ့ memory ထဲမွာ ဝွက္ထားတဲ့ ကုဒ္ေတြကို ျပန္ေျဖတဲ့အခ်ိန္မွာပါ။ ဝွက္ထားတဲ့ကုဒ္ေတြကို ျပန္ေျဖတဲ့အခ်ိန္မွာ ကုဒ္ေတြဟာ ကုဒ္ေသေတြ မဟုတ္ဘဲနဲ႔ random ကုဒ္ေတြ ထြက္လာတာပါ။ ဒီလိုဗိုင္းရပ္စ္မ်ိဳးကို အန္တီဗိုင္းရပ္စ္ကုမၸဏီေတြနဲ႔ malware analyst ေတြ အေၾကာက္ဆံုးပါ။ ကုသဖယ္ရွားဖို႔ အခက္ဆံုးပါပဲ။ အခ်ိဳ႕ဆို ဖယ္ရွားႏိုင္ဖို႔ ေနေနသာသာ ဗိုင္းရပ္စ္ကုဒ္ အေရးခံထားရမွန္းေတာင္ မစံုစမ္းႏိုင္ရွာပါဘူး။
ခုေနာက္ပိုင္းမွာ ေဆာ့ဖ္ဝဲလ္ developer ေတြက ဒီလိုဗိုင္းရပ္စ္ေတြ ထိရင္ ေဆာ့ဖ္ဝဲလ္ေတြ အလုပ္မလုပ္ႏိုင္ေအာင္လို႔ CRC ကိုစစ္ေဆးတဲ့ function ေတြ ထည့္ထားတာျဖစ္ပါတယ္။ ဒီလိုဗိုင္းရပ္စ္ေတြက အန္တီဗိုင္းရပ္စ္ေတြ တင္မထားခဲ့ဘူးဆိုရင္ ဗိုင္းရပ္စ္ကုဒ္ ထိထားမွန္း ဘယ္လိုမွ မသိသာပါဘူး။ ဘာေၾကာင့္လဲဆိုေတာ့ ဗိုင္းရပ္စ္ကုဒ္ကို အလုပ္လုပ္ၿပီးရင္ မူရင္းပ႐ိုဂရမ္ကုဒ္ကို အလုပ္လုပ္လို႔ ျဖစ္ပါတယ္။