Cyber Attacks တွေကို Server 2016 and Windows 10 Enterprise ရဲ့ Device Guard ကိုသုံးပြီး ဘယ်လိုကာကွယ်မလဲ။

ယခင်တုန်းက Hardening လုပ်ရင် Group Policy နဲ့ ပဲလုပ်လေ့ရှိပေမယ့် ယခုနောက်ပိုင်း Cloud ပိုင်း ဦးတည်လာတဲ့ Modern IT World မှာတော့ မလုံလောက်တော့ပါဘူး။ ဒါကြောင့် Servers တွေ Hardening လုပ်ရင် Device Guard ကိုလည်း မဖြစ်မနေ enable ပေးရမှာဖြစ်ပါတယ်။ Virus နှင့် Malware တွေဟာ နေ့စဉ်နှင့်အမျှ ထွက်ရှိလျက်ရှိပါသည်။ Attacker တွေဟာ အများအားဖြင့် End Devices တွေကို တိုက်ခိုက်လေ့ရှိပြီး unpatch လုပ်ထားတဲ့ PCs, Servers တွေကိုဆက်ပြီးတိုက်ခိုက်လေ့ရှိပါသည်။ ကျနော်တို့ယခင် traditional way အရဆိုလျင် Antivirus Program တွေကို နေ့စဉ် Daily Definition Update, Windows Updates တွေကို latest patch ပြီး ကာကွယ်လေ့ရှိပါတယ်။ ဒါပေမယ့် တစ်ခုရှိတာက Antivirus Daily Definition Update မထွက်ခင် အသစ်ထပ်ပေါ်လာတဲ့ Virus, Malware Attacks တွေကို ဘယ်လိုကာကွယ်မလဲ? ပုံမှန် Antivirus Program တွေ အလုပ်လုပ်ပုံကတော့ Block လုပ်ထားတဲ့ exe files တွေ၊ Programs တွေ run ခွင့်မပြုပါဘူး။ ဒါပေမယ့် သူတို့ block မလုပ်နိုင်တဲ့ Programs တွေကိုတော့ run လို့ရပါသေးတယ်။ Windows 10 Enterprise မှာပါ၀င်လာတဲ့ Device Guard ကတော့ အဲဒီလိုမျိူးမဟုတ်တော့ပါဘူး။ Digitally Signed ဖြစ်တဲ့ Drivers တွေ executable files တွေ၊ ပြီးတော့ သူ trust လုပ်ထားတဲ့ scripts တွေကိုသာ run ခွင့်ပေးပါတယ်။ trust လုပ်ချင်တဲ့ apps တွေ programs တွေကို Device Guard Code integrity policy တွေနဲ့ ကြိုပြီး ခွင့်ပြုထားနိုင်ပါတယ်။ ဒါကြောင့် Attackers တွေ Virus အသစ်၊ Malware အသစ်တွေကို ထပ်ထုပ်ခဲ့ရင်တောင် Antivirus Defeniation Update မလုပ်ထားတဲ့ ကွန်ပျူတာတွေမှာ run လို့ရချင်ရပေမယ့် Device Guard enable လုပ်ထားတဲ့ Windows 10 Enterprise, Server 2016 တွေမှာ run ခွင့်ရှိမှာမဟုတ်ပါဘူး။

Operating System တိုင်းမှာ User Mode နဲ့ Kernel Mode ဆိုတဲ့ 2 layers ပါ၀င်ပါတယ်။ User Mode မှာဆိုလျင် Microsoft Office, Word, Acrobat, Games, Softwares အစရှိသည့် Programs တွေနဲ့အတူ Library Files တွေရှိပါတယ်။ Kernel Mode မှာဆိုရင်တော့ Data Structure တွေ၊ Drivers တွေ run လေ့ရှိပါတယ်။ ကျွှန်တော်တို့ ငယ်ငယ်တုန်းက ကျောင်းမှာသင်ခဲ့တဲ့ Data structure တွေ အလုပ်လုပ်ပုံကို မှတ်မိကြမှာပါ။ ဥပမာအားဖြင့် user တစ်ယောက်က Drive D ကို mouse click လုပ်ပေးလိုက်တဲ့အခါ RAM ရဲ့ Address Translation Table ကို သုံးပြီး Hardware Harddisk ကို ပွိုင့်ပေးပါတယ်။ ဒါကြောင့် Attacker တွေဟာ Data Structure ရှိတဲ့ Kernel ကို အဓိကထားတိုက်ခိုက်လေ့ရှိပါသည်။ Windows 10 နှင့် Server 2016 မှာပါ၀င်လာတဲ့ Device Guard မှာဆိုလျင် KMCI နဲ့ UMCI ဆိုပြီး ကာကွယ်ပေးပါတယ်။ KMCI ဟာဆိုလျင် Kernel မှာ trust လုပ်ထားတဲ့ scripts, drivers တွေကိုသာ ခွင့်ပြုပြီး UMCI ဟာ User Mode မှာ ခွင့်ပြုထားတဲ့ Programs များသာ run နိုင်မှာဖြစ်ပါတယ်။

Virtualization and Second Level Address Translation(SLAT) Support ပေးတဲ့ Intel-VT, AMD-V အစရှိသည့် CPU တွေပါ၀င်လာတဲ့ ကွန်ပျူတာတွေမှာဆိုလျင် Device Guard ကို ပိုပြီး secure ဖြစ်အောင် ပြုလုပ်ပေးနိုင်ပါတယ်။ ဘယ်လိုလုပ်ပေးလဲဆိုတော့ Code Integrity Services တွေကို Windows 10 နှင့် Server 2016 Hypervisors Protected Container မှာပဲ run ခိုင်းလိုက်ပြီး Attackers တွေအနေနဲ့ Virtualized Container ကို လုံးဝ access ရမှာမဟုတ်ပါဘူး။ Attacker တွေ တိုက်ခိုက်ပုံနှင့် Device Guard ကာကွယ်ပုံကို အောက်မှာ ဖော်ပြပေးလိုက်ပါတယ်။

1) Signature လုံးဝမရှိသေးတဲ့ new virus, malware တွေကို ဘယ်လိုကာကွယ်မလဲ။ Device Guard Code Integrity Policy ကိုသုံးပြီး trusted signer တွေ လုပ်ထားတဲ့ Digital signature drivers တွေနဲ့ ကိုယ်လိုချင်တဲ့ white list script တွေကိုသာ run ခွင့်ပြုပြီး ကာကွယ်နိုင်ပါတယ်။ ဒါကြောင့် new virus တွေအနေနဲ့ အဆိုပါ devices များ run နိုင်မှာမဟုတ်ပါဘူး။

2) Unsign ဖြစ်တဲ့ code, malware တွေကိုတော့ ကာကွယ်ချင်တယ် ဒါပေမယ့် ကုပ္ပဏီတော်တော်များများရဲ့ line of business apps တွေကလဲ unsign apps တွေဖြစ်နေတယ်။ ဒီလိုဆိုရင်တော့ package inspector tools ကိုအသုံးပြုပြီး deployed လုပ်ထားတဲ့ apps တွေ executed binary files တွေကို catalog ပြုလုပ်လို့ရပါတယ်။ ပြီးရင်တော့ code integrity policy ကိုသုံးပြီး အဆိုပါ catalog ကို trust ပြုလုပ်ရုံပါပဲ။

3) Kernel ကို access ရှိတဲ့ malware တွေကို ဘယ်လိုကာကွယ်မလဲ။ အဲဒီ malware တွေဟာ kernel က sensitive information တွေကို ခိုးယူနိုင်သလို system ကိုလည်း damage ဖြစ်စေနိုင်တာကြောင့် အလွန်အန္တရယ်များပါတယ်။ ဒီလိုဆိုရင်တော့ Windows 10 မှာပါ၀င်တဲ့ Virtualization Base Security(VBS) ကိုအသုံးပြုရတော့မှာဖြစ်ပါတယ်။ default kernel-mode code integrity(KMCI) ဟာဆိုလျင် bad drivers တွေ bad system files တွေ run ချင်းမှကာကွယ်နိုင်ပါတယ်။ ထို့ပြင် VBS ကနေ Kernel ကို Hypervisor သုံးပြီး Virtualization Container အဖြစ် သက်သက်ခွဲလိုက်မှာဖြစ်တဲ့အတွက် Normal Kernel and Secure Kernel ဆိုပြီး ၂ပိုင်းကွဲသွားပါတယ်။ malware တွေဟာ Normal Kernel ကိုပဲ access ရနိုင်မှာဖြစ်ပြီး Secure Kernel မှာရှိတဲ့ Code Integrity Policy တွေ sensitive information တွေကို ရနိုင်မှာမဟုတ်တော့ပါဘူး။

4) DMA-based Attacks လို့ခေါ်တဲ့ Direct Memory Access attack တွေကိုဘယ်လိုကာကွယ်မလဲ။ DMA Attack ဟာဆိုလျင် အရေးကြီးတဲ့ secret တွေကို Memory ကနေခိုးပြီး system ကို vulnerable ဖြစ်အောင် ပြုလုပ်နိုင်ပါတယ်။ ဒါကို IOMMUs လို့ခေါ်တဲ့ Input/Output Memory Management Units Support ပေးတဲ့ devices တွေမှာ Virtualization Based Security ကို enable လုပ်ပြီး ကာကွယ်နိုင်ပါတယ်။ IOMMUs က ဘယ်လိုအလုပ်လုပ်သလဲဆိုလျင် ပုံမှန် Device တွေက Memory ကို Access လုပ်တဲ့အခါ IOMMUs chipset ကို ဖြတ်သန်းပြီးမှ RAM ကို access ရပါတယ်။ VBS ဟာဆိုလျင် IOMMUs ရဲ့ input/output တွေကို control လုပ်နိုင်ပြီး DMA Attack ကို deny လုပ်နိုင်ပါတယ်။

5) Attacker တစ်ယောက်အနေနဲ့ ဆာဗာသို့မဟုတ် ကွန်ပျူတာကို physical access ရနေမယ်ဆိုရင် Bootable Diskတွေ tools kit တွေသုံးပြီး device guard ကို ကျော်သွားနိုင်မှာလား။ ဒါဆိုရင်တော့ UEFI support ပေးတဲ့ hardware တွေကို သုံးပြီး Secure Boot Features နဲ့ ကာကွယ်နိုင်ပါတယ်။

ကျနော်ပြောခဲ့တဲ့ Device Guard features ဟာ Windows 10 Enterprise နှင့် Server 2016 မှာ ပါ၀င်လာတာဖြစ်ပြီး သူ့ကို ဘယ်လို deploy လုပ်နိုင်လဲဆိုရင်တော့ Powershell, Group Policy, System Center Configuration Manager(SCCM) ဒါမှမဟုတ် Microsoft Intune ကို အသုံးပြုနိုင်ပါတယ်။ Win 10 Ent နှင့် Server 2016 မှာ တခြား security features တွေအများကြီး ရှိပါသေးတယ်။ ။ နောက်ပိုင်းအားရင်တင်ပေးပါမယ်။