Wednesday, February 17, 2016

What is MAC Flooding Attack?


                ကၽြန္ေတာ္ ေနာက္ lab တစ္ခုကိုမေျပာခင္မွာ ဒီ MAC address flooding attack အေၾကာင္းေလးနည္း နည္းေျပာမွျဖစ္မယ္။ ကၽြန္ေတာ္တို႕သံုးေနတဲ့ switch ေတြဟာ MAC address ေတြကိုအသံုးျပဳၿပီး ဘယ္ destination ကို data frame ပို႕ေပးရမလဲဆိုတာကိုဆံုးျဖတ္တာျဖစ္ပါတယ္။ ဒီလိုဆံုးျဖတ္ဖို႕အတြက္ host ေတြရဲ႕ MAC address ေတြကို learn လုပ္ထားတယ္။ အဲဒီလို learn လုပ္ထားတဲ့့ MAC address ေတြကို CAM လို႕ေခၚတဲ့ content addressable memory ထဲမွာသိမ္းတယ္။ ဒါ့ေၾကာင့္မို႕လည္း တစ္ခါတစ္ရံမွာ MAC address table ကို CAM table လို႕ေခၚၾကတာကလား။ အိုေခ ဒီေတာ့ switch နဲ႕ hub နဲ႕မတူညီတာက switch က MAC address နဲ႕အလုပ္လုပ္တယ္ hub က MAC address နဲ႕အလုပ္မလုပ္ဘူး။ အဓိက ဒါေလးပဲကြာတာ။ ဒီေတာ့ switch က သက္ဆိုင္ရာ MAC address ကိုၾကည့္ၿပီး သက္ဆိုင္ရာ host ကိုပဲ data ပို႕တယ္။ hub ကေတာ့ ဒီလိုမဟုတ္ဘူး။ data frame ကို သူ႕နဲ႕ခ်ိတ္ဆက္ထားတဲ့ host အားလံုးဆီကိုပို႕တယ္။ ဒါ့ေပမဲ့ သက္ဆိုင္ရာ host ကပဲ အဲဒီ data frame ကိုလွမ္းယူတယ္။ ဒီေတာ့ host A က host B ကို credit card no ကိုပို႕တာပဲျဖစ္ျဖစ္ အျခား အေရးႀကီးတဲ့ သတင္းအခ်က္အလက္ေတြကိုပို႕တာပဲျဖစ္ျဖစ္ switch ကေတာ့ သက္ဆိုင္ရာ host ေတြဆီကိုပဲတိုက္ရိုက္ပို႕လို႕ ျပသနာမရွိဘူး။ ဒါေပမဲ့ hub ၾကေတာ့ အားလံုးကိုပို႕တာ ျဖစ္တဲ့အတြက္ မဆိုင္တဲ့သူေတြပါသိေစတယ္။ ဒါဟာ security risk တစ္ခုျဖစ္လို႕ေနပါတယ္။ ဒါ့အျပင္အျခားေသား အားနည္းခ်က္မ်ားစြာေၾကာင့္လည္း hub ဆိုတာဟာ ဒီေန႕ modern network ေတြမွာ မ်ိဳးတုန္းေပ်ာက္ကြယ္သြားခဲ့တာေလ။



          ဒီေတာ့ ေျပာခ်င္တာစၿပီ။ MAC address flooding attack ဟာ အေပၚမွာေျပာခဲ့တဲ့ hub ရဲ႕ အလုပ္လုပ္ပံုကို အတုယူၿပီး တိုက္ခို္က္တာျဖစ္ပါတယ္။ ဘယ္လိုတိုက္ခို္က္သလဲဆိုတာကိုတစ္ခ်က္ခ်င္းေျပာျပမ ယ္။ ပထမဦးဆံုး attacker ဟာ သူ႕ computer ကို switch နဲ႕ခ်ိတ္ဆက္လိုက္တယ္။ ၿပီးေတာ့ အတုလုပ္ထားတဲ့ source MAC address ေတြအမ်ားႀကီးပါတဲ့ data frame ကို switch ဆီကို တရစပ္ပို႕တယ္။ ဒီအခါမွာ switch ဆီမွာ ျပသနာစတက္ေတာ့တာပဲ။ ဘာလဲဆိုေတာ့ switch ရဲ႕ CAM memory ဟာ မွတ္သားထားႏိုင္တဲ့ memory ကန္႕သတ္ခ်က္ရွိတယ္။ ဒီေတာ့ သူက attacker ပို႕လိုက္သမွွ် data frame ရဲ႕ source address ေတြကို CAM table ျပည့္တဲ့အထိမွတ္တယ္။ ဘာျဖစ္လို႕လည္းဆိုေတာ့ ဒါက သူ႕အလုပ္ကိုး။ ဒါေပမဲ့လည္း သတ္မွတ္ထားတဲ့ size ထက္ေက်ာ္လြန္လာတဲ့အခါမွာ switch ဟာ ေနာက္ပိုင္း MAC address ေတြကိုထပ္ၿပီး မမွတ္ႏိုင္ေတာ့ဘူး။ ဒီလိုျဖစ္လာတဲ့အခါမွာ switch ဟာေနာက္ဆံုးသူ႕ရဲ႕ ၀ိေသသျဖစ္တဲ့ MAC address နဲ႕ decision မခ်ႏိုင္ေတာ့ဘူး။ ဒီေတာ့ Hub တစ္လံုးလိုျဖစ္သြားေတာ့တာပဲ။ ဒီလိုအေျခအေနကို fail-open အေျခအေနလို႕ေခၚပါတယ္။  ဒီေတာ့ switch ကဘာလုပ္သလဲဆိုေတာ့ သူ႕ဆီေရာက္လာတဲ့ data frame မွတ္သမွ်ကို port အားလံုးဆီကို broadcast လုပ္ျပစ္ေတာ့တာပဲ။ ဒီေတာ့ အေရးႀကီးတဲ့ information ေတြကို attacker ဟာ ေစာင့္ၾကည့္လို႕ရသြားၿပီျဖစ္ပါတယ္။ ဒီလိုနဲ႕ security က်ိဳးေပါက္သြားတာပဲ။





                    ဒီေတာ့ ဘယ္လိုုလုပ္မလဲ။ လြယ္ပါတယ္။ switch ကို port တစ္ခုမွာ MAC address ကို ဘယ္ေလာက္ထိပဲ learn လုပ္ပါဆိုၿပီးသတ္မွတ္ထားလိုက္တာေပါ့။ ဒီေတာ့ attacker တစ္ေယာက္က ဘယ္ေလာက္ပဲ fake MAC address ေတြပို႕ပို႕ သတ္မွတ္မွတ္ထားတဲ့ limit ေက်ာ္ရင္ဆက္ၿပီး learn မလုပ္ေတာ့ဘူး။ ဒါကို cisco switch ေတြမွာလုပ္လို႕ရတယ္။ ဒီ့ထက္ေကာင္းတာက ဒီလိုလုပ္လာခဲ့ရင္ အလိုေလွ်ာက္ connection ျဖတ္ျပစ္လို႕ရတဲ့အထိေကာင္းတယ္။ ဒါကို  ကၽြန္ေတာ္ CCNA security အပိုင္းမွာေရးသားခဲ့ၿပီးျဖစ္တဲ့ Cisco's Port Security မွာကၽြန္ေတာ္လုပ္ျပခဲ့ၿပီးျဖစ္ပါတယ္။

No comments:

Post a Comment