Threat Hunting ဆိုတာဘာလဲ?
Threat Hunting ဆိုတာ ကိုယ့် Organisation ရဲ့ Infrastructure ထဲမှာ Adversary တွေရောက်နေပြီလို့ယူဆပြီး အဲ့ဒီယူဆချက်မှန်ကန်ကြောင်း သက်သေပြနိုင်ဖို့အတွက် ဒီ Adversary တွေကိုလိုက်ရှာတာလို့ ပြောလို့ရပါတယ်
မှတ်ချက်။ ။ဒီပို့စ်မှာသုံးနှုန်းထားတဲ့ Adversary, Threat Actor စတာတွေဟာ ကိုယ် Hunt မယ့် အဆင့်မြင့်ဟက်ကာတွေကိုညွှန်းဆိုတာဖြစ်ပါတယ်
Threat Hunting ဟာ Dedicated Threat Hunter တွေခန့်ပြီး Structure ကျကျလုပ်လို့ရသလို Incident ဖြစ်ပြီးတော့မှ ဒီ Incident ကနေ IoC တွေရလာပြီး ဒီ IoC တွေနဲ့ Further Threat Hunt လုပ်လို့ရတာလည်းဖြစ်ပါတယ်
ဘာလို့ Threat Hunt ကြတာလဲ?
အဓိက,ကတော့ False Negative alerts တွေကို သေချာ Investigate ပြန်လုပ်ပြီး Unknown Adversary တွေကို လိုက်ရှာတာရယ်, ကိုယ့် Infra ထဲကို Adversary တွေရောက်နေပြီလားဆိုတာကိုလိုက်ရှာဖို့ရယ်, ကိုယ့် Infra ရဲ့အားနည်းချက်တွေကိုအချိန်မီပြင်ဆင်ပြီး Detection System ပိုကောင်းအောင် မြှင့်တင်ဖို့ရယ်တွေကြောင့် Threat Hunting ပြုလုပ်လေ့ရှိပါတယ်
Pyramid of Pain
Threat Hunting အကြောင်းပြောပြီဆိုရင် Pyramid of Pain အကြောင်းကိုအမြဲပြောလေ့ရှိကြပါတယ် .. Pyraid of Pain ဆိုတာကတော့ Infra တစ်ခုကိုထိုးဖောက်ဖို့ ဘာတွေပြင်ဆင်ရမလဲဆိုတာကို Adversary Point of View ကနေရေးဆွဲထားတာလို့ပြောရင်ပိုမှန်မယ် .. ပိုနားလည်အောင်ပြောရရင် အောက်ကပုံကိုအရင်ကြည့်လိုက်ပါ .. Pyramid အောက်ဆုံးမှာ Hash ရှိပါတယ်
ဘာကိုဆိုလိုတာလဲဆိုတော့ Threat Hunter တွေအနေနဲ့ Malicious File တစ်ခုရဲ့ Hash Value နဲ့ SIEM ထဲမှာ Query တွေလုပ်ပြီး ရှာကြည့်မယ်ဆိုပါစို့ .. Adversary တွေအနေနဲ့ သူတို့သုံးနေတဲ့ File ရဲ့ Hash Value ဟာ Threat Intelligence ဖက်ကသိသွားပြီဆိုတာနဲ့ Adversary တွေဖက်ကနေ ဒီ Hash Value ကိုပြောင်းပစ်ဖို့မခက်ပါဘူး
ဥပမာ Malware File ထဲမှာ Coding အပြောင်းအလဲနည်းနည်းလေးလုပ်လိုက်တာနဲ့ File ရဲ့Hash ပါပြောင်းသွားမှာဖြစ်လို့ Adversary တွေအတွက် Detection Techniques တွေကိုကျော်ဖြတ်ဖို့အင်မတန်လွယ်သွားပါတယ် .. ဒါကြောင့် Hash ဟာ Pyramid Pain ရဲ့အောက်ဆုံးမှာရှိနေတာပါ
အလားတူပဲ IP တွေ, Domain တွေကိုပြောင်းပစ်ဖို့ဆိုတာလည်း သိပ်ခဲယဥ်းတာမဟုတ်ပါဘူး .. အခုခေတ်မှာ Script Kiddies တွေကအစ အလွယ်တကူပြောင်းပစ်လို့ရနိုင်တဲ့ Information တွေပဲဖြစ်ပါတယ် .. ဒီ Information တွေကို Rely လုပ်ပြီး Proactive Threat Hunting လုပ်လို့ရမှာမဟုတ်ပါဘူး
Pyramid အပေါ်ဆုံးမှာရှိနေတာက TTP (Tactics, Techniques & Procedures) ပဲဖြစ်ပါတယ် .. ဒီ TTP ကိုသုံးပြီး Threat Hunt လုပ်ခြင်းဟာ လက်ရှိ Proactive Threat Hunting မှာလုပ်ဆောင်နေကြတာဖြစ်ပါတယ် .. ဘာလို့လဲဆိုတော့ Adversary တွေအနေနဲ့ သူတို့အသုံးပြုနေတဲ့ TTPs တွေကိုပြောင်းလဲပစ်ဖို့ အင်မတန်ခဲယဥ်းတာကြောင့်ပဲဖြစ်ပါတယ် .. TTP အကြောင်း အသေးစိတ်ကို ဒီမှာသွားဖတ်လို့ရပါတယ် – https://docs.vmware.com/en/VMware-Carbon-Black-Cloud/services/carbon-black-cloud-user-guide/GUID-857AA662-6DA1-4265-99E7-A65B7E1F50CC.html#:~:text=TTP%20Reference-,Tactics%2C%20Techniques%2C%20and%20Procedures%20(TTPs)%20are%20behaviors%2C,the%20Carbon%20Black%20Cloud%20console.%20%5B
ဒါပြီးရင် ဆက်ပြောလို့ရတာက Threat Hunt Maturity Model ပါ
ဒီနေရာမှာ ကိုယ်လုပ်နေတဲ့ Threat Hunting ဟာ ဘယ်လောက် Mature ဖြစ်သလဲဆိုတာတိုင်းတာခြင်းပဲဖြစ်ပါတယ် .. ဥပမာ Threat Intel ဆီကရတဲ့ IoC နဲ့ Threat Hunt တာဟာ Maturity Model မှာအတော်နိမ့်တဲ့ထဲပါတယ်လို့ပြောလို့ရပါတယ် .. Threat Hunting Maturity Level မြင့်ချင်ရင် Threat Hunting ကို အလေ့အထတစ်ခုလိုအမြဲတမ်းပုံမှန်လုပ်ဆောင်ပြီး ကိုယ့် Organisation ထဲက Raw Data တွေကို Data Analysis လုပ်ပြီး Needs & Risk အရ ကိုယ်ပိုင် Intelligence Data, ကိုယ်ပိုင် Analysing Algorithm တွေဖန်တီးတာမျိုးထိသွားလို့ရပါတယ်
Threat Hunting Type ဘယ်နှမျိုးရှိသလဲ?
ပထမတစ်မျိုးကတော့ Hypothesis-driven Hunting ပါ .. Threat Actor ဟာကိုယ့် Network ထဲရောက်နေပြီလို့ Hypothesis တစ်ခုတည်ဆောက်ပြီး ဒီ Hypothesis မှန်ကန်ကြောင်း Threat Actor တွေရဲ့ TTP ကို Research လုပ်ပြီး ဒီ TTP တွေကို ပြန် Hunt ကာ Prove လုပ်ရတာမျိုးဖြစ်ပါတယ်
ဒုတိယတစ်ခုကတော့ IoC-driven Hunting ပါ .. ဒါကတော့ရှင်းပါတယ် Open-source Threat Intelligence တွေဆီကနေ Information တွေယူပြီး ကိုယ့် Infra ထဲပြန် Hunt တာပါ .. IoC အသစ်တွေတွေ့ရင်လည်း ဒါတွေကို ပြန် Sharing လုပ်တာမျိုးတွေပါပါမယ်
တတိယတစ်မျိုးကတော့ Maturity မြင့်တဲ့ Threat Hunting အမျိုးအစားပါ .. ကိုယ့်မှာရှိသမျှ Dataset တွေကို Machine Learning လိုဟာမျိုးအသုံးပြုကာ Raw Data တွေကို Parse ပြီး Abnormal Log တွေကို ရှာဖွေတာလို့ပြောလို့ရမယ်ထင်ပါတယ် (ဒါကိုလက်တွေ့မလုပ်ဖူးတော့ သိပ်မရှင်းပြတတ်ပါဘူး)
MITRE
Threat Hunting မှာ အများဆုံးတွဲသုံးကြတာကတော့ MITRE Framework ပဲဖြစ်ပါတယ် .. ဒီမှာသွားကြည့်လို့ရပါတယ် – https://attack.mitre.org/
များသောအားဖြင့် Adversary TTPs တွေကို MITRE နဲ့ Map ထားခြင်းအားဖြင့် ကိုယ်ကဘယ်လို Threat မျိုးကို Hunt နေတယ်ဆိုတာ ရုပ်လုံးပေါ်ဖို့အထောက်အကူဖြစ်ပါတယ် .. ဘာလို့လဲဆိုတော့ MITRE မှာ Known Threat တွေကို TTP တွေနဲ့ Map ပေးထားပါတယ် .. ဒီတော့ WannaCry Ransomware ကို Hunt နေတယ်ဆိုရင် သူ့ TTP ကို Reference ယူပြီး Hunt တာက Coverage ပိုကောင်းသလို ပိုပြီးလည်းမြင်သာပါတယ် .. ဒီ Link မှာတော့ WannCry Ransomware ရဲ့ TTP တွေကို MITRE နဲ့ Map ပြထားတာကိုတွေ့ရမှာပါ – https://mitre-attack.github.io/attack-navigator//#layerURL=https%3A%2F%2Fattack.mitre.org%2Fsoftware%2FS0366%2FS0366-enterprise-layer.json .. MITRE ဟာ Community Contribution လည်းရှိတာကြောင့် Latest TTP တွေကိုရှာတွေ့နိုင်ပါတယ်
အဆုံးသတ်အနေနဲ့ပြောရမယ်ဆိုရင် Threat Hunting ဟာ တစ်ခါတည်းလုပ်ပြီး ပြီးသွားတဲ့အရာမဟုတ်ပါဘူး .. ဒါကြောင့် ထပ်ခါတလဲလဲပြုလုပ်ဖို့ Threat Hunting Loop တွေတည်ဆောက်ထားဖို့လိုပါတယ် .. ဒီလောက်ဆို Threat Hunting အကြောင်း Overall Idea ရပြီထင်ပါတယ်