DDoS ေခၚ Distributed Denial of Service ဆုိတာကေတာ့ တစ္ခုထက္ပိုေသာ Source မ်ားမွ IP တစ္ခု သုိ႔မဟုတ္ Domain တစ္ခုကို အေၾကာင္းအမ်ိဳးမ်ိဳးျဖင့္ Connection Traffic မ်ားစြာအသံုျပဳျပီး ၎အတုိက္ခုိက္ခံရေသာ Website/Server သို႔မဟုတ္ ဝန္ေဆာင္မႈ Service တစ္ခုခုကို ေႏွာက္ယွက္ျခင္းျဖစ္ေစ၊ Down သြားေစရန္ျဖစ္ေစ၊ အျခားသူမ်ားဝင္ေရာက္အသံုးျပဳႏုိင္ျခင္းမရွိေစရန္ သို႔မဟုတ္ နည္းေစရန္ရည္ရြယ္ခ်က္ႏွင့္ တုိက္ခုိက္ၾကတာျဖစ္ပါတယ္။ သာမာန္ DoS (Denial of Service) နဲ႔ မတူေသာအခ်က္ကေတာ့ DoS ဆိုသည္မွာ Source Address တစ္ခုတည္းမွ တုိက္ခုိက္ျခင္းျဖစ္ျပီး DDoS ကေတာ့ Source Address အမ်ားစုေပါင္းတုိက္ခုိက္ျခင္းျဖစ္လုိ႔ ခ်က္ခ်င္းတားဆီးပိတ္ပင္ရန္ခက္ခဲပါတယ္။ အၾကမ္းအားျဖင့္ တုိက္ခုိက္မႈပံုစံအေနနဲ႔ ဝန္ေဆာင္မႈမ်ားကို ရပ္တန္႔ေစရန္တုိက္ခုိက္ျခင္း ႏွင့္ ဝန္ေဆာင္မႈမ်ားကို Flood ျပဳလုပ္ျခင္းဆုိျပီး ၂ မ်ိဳးခြဲျခားႏိုင္ပါတယ္။ ဒီလိုမတူညီတဲ့ Source Address ေတြကတဆင့္ DDoS Attack ကို တုိက္ခုိက္ျခင္းျဖစ္ျပီး ၎ Source Address ေပါင္း ရာႏွင့္ ေထာင္ႏွင့္ ခ်ီ၍ တုိက္ခိုက္တတ္ျပီး အတုျပဳလုပ္ထားေသာ Source Address မ်ားကိုပါ ထည့္သြင္းတုိက္ခုိက္တတ္ပါတယ္။ DDoS တိုက္ခိုက္မႈေတြထဲက အႀကီးမားဆံုးျဖစ္စဥ္တစ္ခုက ၂၀၁၆ ခုႏွစ္အတြင္းျဖစ္ပြားခဲ့ၿပီး ပမာဏအားျဖင့္ 1.2 TB/s (1228.2 Gb/s) အထိ ျမင့္တက္ခဲ့ဖူးပါတယ္။ ထူးျခားခ်က္အေနနဲ႔ ဥပမာအားျဖင့္ Spam Email မ်ားစြာပို႔လႊတ္ေသာ Email Bomb လုိမ်ိဳး တုိက္ခုိက္မႈမ်ိဳးကိုလည္း DDoS အႏြယ္ဝင္ျဖစ္သည္ဟု မွတ္ယူႏုိင္ပါေသးတယ္။
DDoS တိုက္ခိုက္မႈ ျဖစ္ပြားရတဲ့ အေျခခံအေၾကာင္းအရာေတြ အမ်ားႀကီးရွိပါတယ္။ ဒီလို DDoS တိုက္ခိုက္မႈ ျဖစ္ပြားရတဲ့ အေျခခံအေၾကာင္းအရာေတြကေတာ့
- ႏုိင္ငံ ႏွစ္ႏုိင္ငံအၾကား တင္းမာမႈမ်ား
- Hacker အဖြဲ႔တစ္ဖြဲ႔ႏွင့္ တစ္ဖြဲ႔အၾကား တင္းမာမႈမ်ား ျပႆနာ ျဖစ္ပြားမႈမ်ား ႏွင့္ ျပန္လည္လက္စားေျခမႈမ်ား
- Company အႀကီး တစ္ခုႏွင့္ တစ္ခုအၾကား ျပိဳင္ဆုိင္မႈမ်ား၊ လက္စားေျခမႈမ်ား
- အစြန္းေရာက္အဖြဲ႔ အခ်င္းခ်င္း ျပႆနာျဖစ္ပြားမႈမ်ား ျပန္လည္လက္စားေျခမႈမ်ား
- ဆုိက္ဘာတုိက္ခုိက္မႈမ်ား၏ ကနဦး ပထမအဆင့္တုိက္ခုိက္မႈမ်ား
- ဝန္ေဆာင္မႈတစ္ခုခုအား ရပ္တန္႔ေစျခင္းေၾကာင့္ ျဖစ္ေပၚလာေသာဟာကြက္ကိုအသံုးျပဳျပီး ထပ္မံတုိက္ခုိက္မႈမ်ား ျပဳလုပ္ရန္အတြက္
- သတင္းအခ်က္အလက္ ဆက္သြယ္မႈကို ျဖတ္ေတာက္ရန္
- အျခားလႈံ႕ေဆာ္မႈ အကူအညီေတာင္းခံမႈေၾကာင့္ ဝုိင္းဝန္းတုိက္ခုိက္ျခင္း
- ဝါသနာအရ သို႔မဟုတ္ စမ္းသပ္လုိ၍ တုိက္ခုိက္ျခင္း
စသည့္အျပင္ အျခား အေၾကာင္းအရာမ်ားေၾကာင့္လည္း တိုက္ခိုက္မႈေတြ ျဖစ္ပြားႏုိင္ပါတယ္။
OSI Model ၏ Application Layer သို႔ DDoS တုိက္ခုိက္ျခင္း
Application Layer Attack ေတြကေတာ့ မ်ားေသာအားျဖင့္ Web Site မ်ားကိုတုိက္ခုိက္ျခင္း၊ Database Server မ်ားကိုတုိက္ခုိက္ျခင္း၊ Email Server မ်ားကို တုိက္ခုိက္ျခင္း၊ ဓါတ္ပံုဆုိင္ရာ Application မ်ားကို တုိက္ခုိက္ျခင္း၊ Network Monitoring System မ်ားကိုတုိက္ခုိက္ျခင္း စသည္တုိ႔မွ ဦးတည္ခ်က္ တစ္ခုတည္းအတြက္ တုိက္ခုိက္တတ္ၾကပါတယ္။ တစ္ခါတေလတြင္ေတာ့ ၎တုိ႔ႏွင့္အတူ Network Layer ကိုတုိက္ခုိက္တဲ့ DDoS မ်ားပါ ေနာက္မွလုိက္၍ ပူးတြဲတုိက္ခုိက္ေလ့ရွိပါတယ္။
အခ်ိန္ျပည့္ DDoS တုိက္ခုိက္ျခင္း
အခ်ိန္ျပည့္ DDoS တုိက္ခုိက္ျခင္းကေတာ့ ရက္သတၱပတ္ အနည္းငယ္ၾကာတဲ့အထိ ျဖစ္ပြားႏိုင္ပါတယ္။ အခ်ိန္အၾကာဆံုး အခ်ိန္ျပည့္ DDoS တုိက္ခုိက္မႈက မွတ္တမ္းေတြအရ ၃၈ ရက္အထိ ၾကာခဲ့ျပီး စုစုေပါင္း သံသယရွိဖြယ္ Network Traffic အေနနဲ႔ 50 Peta bits (50,000 Giga bits) အထက္ရွိခဲ့ဖူးပါတယ္။ ဒီလုိတုိက္ခုိက္မႈပံုစံထဲမွာေတာ့ HTTP Flood ကို အဓိကထား အာရံုစုိက္တုိက္ခုိက္ေနတဲ့အခ်ိန္မွာ SQL Injection ႏွင့္ XSS Attack မ်ားကိုပါ ပူးတြဲျပီး အခ်ိန္ျပည့္တုိက္ခုိက္ေနတတ္ၾကပါတယ္။ တုိက္ခုိက္မႈပံုစံ ၂ မ်ိဳးမွ ၅ မ်ိဳးအတြင္း ေျပာင္းလဲတုိက္ခုိက္ေနတတ္ၾကသလုိ SYN flood မ်ားကိုလည္း ၾကားထဲမွာ ထည့္သံုးျပီး တုိက္ခုိက္တတ္ၾကပါတယ္။ ထုိ႔ျပင္ ဒီလုိ အခ်ိန္ျပည့္ DDoS တုိက္ခုိက္မႈေတြမွာ တုိက္ခုိက္သူေတြက ၎တုိ႔ရဲ႕တုိက္ခုိက္မႈကို ကာကြယ္သည့္ စနစ္ေတြကို ေရွာင္ရွားရန္အတြက္ မတူညီတဲ့ပစ္မွတ္ေတြကို ေခတၱတုိက္ခုိက္ျပီး တကယ့္ပစ္မွတ္ကို အခ်ိန္ၾကာၾကာတုိက္ခုိက္တတ္ၾကပါတယ္။ ဒီလုိတုိက္ခုိက္မႈေတြကိုေတာ့ အေတြ႕အၾကံဳရင့္က်က္ျပီး တုိက္ခုိက္မႈအတြက္လံုေလာက္တဲ့ Resource ပမာဏ ရွိေသာသူ သို႔မဟုတ္ အဖြဲ႔မ်ားမွ ဦးေဆာင္တုိက္ခုိက္တတ္ၾကပါတယ္။
Application Layer Floods တုိက္ခုိက္မႈမ်ား
DoS ၏ ပံုစံကြဲလုိ႔ယူဆႏုိင္တဲ့ Buffer Overflow သည္လည္း Server တစ္ခုတြင္ Running ျဖစ္ေနေသာ Software တစ္ခုအား ရပ္တန္႔သြားေစရန္ သို႔မဟုတ္ စြမ္းေဆာင္ရည္ က်ဆင္းသြားေစရန္ သို႔မဟုတ္ ၎ ဆာဗာ၏ Storage လံုးဝျပည့္သြားျပီး ဆက္လက္သံုးစြဲမရေတာ့ေစရန္ သို႔မဟုတ္ Memory ထဲတြင္ ဆက္လက္သံုးစြဲလုိ႔မရေတာ့ေအာင္ ျပည့္သြားေစရန္ သို႔မဟုတ္ CPU ၏ စြမ္းေဆာင္ရည္ က်ဆင္းသြားႏုိင္ေစရန္အတြက္ တုိက္ခုိက္ႏုိင္ပါတယ္။
အျခား DoS ပံုစံကြဲတစ္ခုကို ေဖၚျပရမယ္ဆုိရင္ေတာ့ Brute Force ပဲျဖစ္ပါတယ္။ Packet မ်ားစြာကို တုိက္ခုိက္ခံရမယ့္ ဆာဗာသို႔ေပးပို႔ျပီး Bandwidth မ်ား မ်ားစြာသံုးစြဲျပီး Network ဆက္သြယ္မႈမ်ား ေႏွးလာေအာင္ သို႔မဟုတ္ ၎ ဆာဗာ၏ Resource မ်ားကို ေႏွာက္ယွက္ႏုိင္ပါေသးတယ္။ Bandwidth ကုိ မ်ားစြာသံုးစြဲျပီး Network ဆက္သြယ္မႈမ်ား ေႏွးလာေအာင္ သို႔မဟုတ္ ျပတ္ေတာက္သြားေအာင္ တုိက္ခုိက္သည့္ပံုစံမ်ိဳးတြင္တုိက္ခုိက္သူသည္ တုိက္ခုိက္ခံရမည့္ ဆာဗာ သို႔မဟုတ္ Network ထက္ Bandwidth ပိုမိုမ်ားျပားေလ့ရွိျပီး botnet မ်ားကိုအသံုးခ်၍ တုိက္ခုိက္တတ္ၾကသည္။
Peer-to-Peer attack
HTTP POST Attack, ICMP Flood Attack ႏွင့္ Nuke attack မ်ား ကိုခန္႔မွန္းရန္လြယ္ကူႏုိင္ေသာ္လည္း Peer-to-Peer attack ကေတာ့ စိတ္ဝင္စားဖုိ႔ေကာင္းပါတယ္။ Peer-to-Peer Server မ်ား၏ လံုျခံဳေရးယိုေပါက္မ်ားကိုအသံုးခ်ကာ DDoS တုိက္ခုိက္ျခင္းျဖစ္ျပီး ဒီလုိ Attack ပုံစံတြင္ေတာ့ Attacker အေနျဖင့္ Botnet မ်ားလည္းမလုိသလုိ Client မ်ားကိုလည္း ခ်ိတ္ဆက္ ေစခုိင္းရန္မလုိအပ္ပါဘူး။ Attacker အေနနဲ႔ ဥပမာအားျဖင့္ Peer-to-Peer File Sharing Server လုိမ်ိဳးကို “Puppet Master” အသြင္ယူကာ ခ်ိတ္ဆက္မည့္ မ်ားစြာေသာ Client ေတြကို တကယ့္ File Sharing Service ကိုခ်ိတ္ဆက္ျခင္းမျပဳပဲ Attacker မွတုိက္ခုိက္လုိသည့္ Website ကို ခ်ိတ္ဆက္ေစျခင္းျဖင့္ ၎ Website သို႔ Traffic မ်ားစြာ ေရာက္ရွိသြားေစမွာပဲျဖစ္ပါတယ္။
SYN Flood Attack
SYN Flood Attack ကေတာ့ TCP/SYN Packet မ်ားစြာကို အတုျပဳလုပ္ထားသည့္ ေပးပို႔သူ Address မ်ားျဖင့္ တုိက္ခုိက္ခံရမည့္ ဆာဗာသို႔ ဆက္တုိက္ဆုိသလုိ ေပးပို႔ျခင္းမွ ျဖစ္ေပၚလာတာျဖစ္ပါတယ္။ TCP/SYN Packet တစ္ခုစီသည္ Request တစ္ခုစီျဖစ္ေသာေၾကာင့္ ဆာဗာအေနျဖင့္ Request ေၾကာင့္ တဝက္ပြင့္ေနေသာ Connection မ်ားစြာကို ျပန္လည္ေျဖၾကားရန္ TCP/SYN-ACK Connection မ်ားစြာကို ျပန္လည္ဖြင့္ေပးရျခင္းေၾကာင့္ Network Traffic မ်ားကို ေႏွးေစျပီး အျခား Client မ်ား၏ ဆက္သြယ္မႈမ်ားကို လံုးဝျပတ္ေတာက္သြားေစသည့္ တုိက္ခုိက္မႈပံုစံလည္းျဖစ္ပါတယ္။
DDoS ကိုကာကြယ္ျခင္း
Firewall/Router မ်ားျဖင့္ ကာကြယ္ျခင္း
DDoS ကို Firewall မ်ားထဲတြင္ Rules မ်ားေရးသားကာ Attack ၏ ျပင္းအားေလ်ာ့က်သြားေစရန္ ကာကြယ္ႏုိင္သည္။ သို႔မဟုတ္ Connection မ်ားကို လံုးဝ ျဖတ္ေတာက္ပစ္လုိက္ႏုိင္ပါတယ္။ သို႔ေသာ္လည္း Downtime ရွိ၍ မရတဲ့ Network ေတြမွာေတာ့ လံုးဝျဖတ္ေတာက္လုိက္တဲ့အစား Firewall မ်ားတြင္ သို႔မဟုတ္ Firewall မ်ားႏွင့္ ပူးတြဲၿပီး Software သံုးကာ Attack Connection ႏွင့္ ပံုမွန္ Connection ကိုခြဲျခားေပးသည့္ Device/Software မ်ား IDS/IPS စနစ္မ်ား တပ္ဆင္ကာ ကာကြယ္ေလ့ရွိၾကပါတယ္။ Router မ်ားအေနျဖင့္လည္း ACL မ်ားသတ္မွတ္ကာ Connection Rate Limit မ်ားကို တုိး၍ ေလွ်ာ့၍ ကာကြယ္ႏုိင္မွာျဖစ္ပါတယ္။ ဥပမာအားျဖင့္ IP Address တစ္ခုမွ Connection ခ်ိတ္ဆက္မႈအတြက္ တစ္မိနစ္လွ်င္ ခ်ိတ္ဆက္မႈ ၄ ခုသာ အမ်ားဆံုးလက္ခံျပီး ၄ ခုထက္ ပိုေသာ Connection ခ်ိတ္ဆက္မႈမ်ားကို မတုန္႔ျပန္ေစရန္ ACL Rule ေရးသားထားျခင္းမ်ိဳးျဖစ္ပါတယ္။ Managed Switch မ်ားတြင္လည္း ၎ ACL မ်ားထည့္သြင္းႏုိင္ေသာေၾကာင့္ Switch မ်ားတြင္လည္း DDoS ၏ တုိက္ခုိက္မႈပမာဏ ေလ်ာ့က်ေစရန္အတြက္ ကာကြယ္ထားႏုိင္ပါတယ္။
Blackholing & Sinkholing
Blackhole Routing အားျဖင့္ တုိက္ခုိက္သည္ဟု သံသယရွိေသာ Network ခ်ိတ္ဆက္မႈအားလံုးကို Black Hole ဟုေခၚေသာ တကယ္မရွိသည့္ IP Address သို႔မဟုတ္ Network Address သုိ႔ လႊဲေျပာင္းေပးျခင္းျဖင့္ DDoS တုိက္ခုိက္မႈပမာဏကို ေလ်ာ့က်ေစႏုိင္ပါတယ္။
DNS Sinkhole ကေတာ့ တုိက္ခုိက္သည္ဟု သံသယရွိေသာ Network ခ်ိတ္ဆက္မႈအားလံုးကို IP Address တစ္ခုသို႔ (ဆာဗာတစ္ခုသို႔) လႊဲေျပာင္းေပးျပီး ၎ ဆာဗာမွ အတည္ျပဳေသာ Network ခ်ိတ္ဆက္မႈအားလံုးကို ဖ်က္ခ်ေပးမွာျဖစ္ပါတယ္။ သို႔ေသ္ာ Sinkholing ကေတာ့ တုိက္ခုိက္မႈအႀကီးစားေတြအတြက္ ထိေရာက္ေသာနည္းလမ္းေတာ့မဟုတ္ပါ။
စာေရးသူ၏ အႀကံျပဳခ်က္
ဆုိက္ဘာတိုက္ခုိက္မႈမ်ားကို ကာကြယ္ရာတြင္ DDoS တုိက္ခုိက္မႈသည္ ကာကြယ္၍မရပဲ တုိက္ခုိက္မႈပမာဏ ေလ်ာ့က်ေစရန္သာ ျပဳလုပ္ႏုိင္သည့္အတြက္ DDoS ကို ၁၀၀% ကာကြယ္ေပးႏုိင္တဲ့ နည္းပညာမ်ိဳးမရွိေသးပါဘူး။ အင္မတန္ေကာင္းေသာ DDoS ကာကြယ္သည့္ စနစ္မ်ားမွာေတာ့ ၎ စနစ္မ်ားစတင္အလုပ္မလုပ္မီထမဦးဆံုး Traffic မ်ား ဆက္တုိက္ မ်ားစြာဝင္လာေသာ တစ္ခ်ိန္တြင္ေတာ့ DDoS ကိုမလြဲမေရွာင္သာ ႀကံဳေတြ႕ရမွာပါ။ ဒါေၾကာင့္ Web Master မ်ား Server Administrator မ်ား ႏွင့္ Network Engineer မ်ားသည္ DDoS Attacking မ်ားကို အခ်ိန္မေရြးရင္ဆုိင္ႏုိင္မည္ဟု ေမွ်ာ္လင့္ထားရမည္ျဖစ္ျပီး ဦးစားေပးအေနနဲ႔ အေရးႀကီးေသာ Service မ်ားကို DDoS မထိေစရန္ သို႔မဟုတ္ ထိရင္ေတာင္ ေလ်ာ့နည္းေစရန္ ႀကိဳတင္ျပင္ဆင္မႈမ်ား ျပဳလုပ္ထားသင့္ပါတယ္။ ထုိ႔အျပင္ DDoS ႏွင့္ရင္ဆုိင္ရပါက ဘာဆက္လုပ္မလဲဆုိေသာ အစီအစဥ္ကို ႀကိဳတင္သတ္မွတ္ထားရန္ လုိအပ္ပါတယ္။
Featured Image Credit: abavetopsacret.com