CAM MAC Table OverFlow Attack | سوئیچهای سیسکو برای هدایت فریم‌های داده به پورت مورد نظر از جدولی به نام جدول CAM که مخفف Content Addressable Memory است استفاده می‌کنند. وظیفه این جدول نگهداری تناظر بین آدرس مک و پورت سوئیچ است. به عنوان مثال اگر کامپیوتر A به پورت 1 سوئیچ متصل باشد، سوئیچ با دریافت اولین فریم از کامپیوتر A در جدول CAM خود سطری را مبنی بر اینکه آدرس مک کامپیوتر A از طریق پورت 1 قابل دسترس است، ایجاد می‌کند.

CAM Table - CAM MAC Table OverFlow Attack

CAM Table – CAM MAC Table OverFlow Attack

MAC Table - CAM MAC Table OverFlow Attack

MAC Table – CAM MAC Table OverFlow Attack

CAM MAC Table OverFlow Attack

CAM MAC Table OverFlow Attack

هنگامی که سوئیچ فریمی را به مقصد مک آدرسی دریافت می‌کند که این مک آدرس را در جدول CAM خود ندارد به ناچار فریم را به همه پورتهای خود ارسال می‌کند. اما به محض دریافت اولین فریم از کامپیوتری با آن مک آدرس، آن را به جدول CAM خود اضافه می‌کند تا دیگر نیازی به ارسال فریم به تمام پورتها، که از لحاظ امنیتی بسیار پر خطر است، نداشته باشد.

تعداد سطرهایی که جدول CAM می‌تواند در خود جای دهد محدود است، اگر این جدول به طور کامل پر شود سوئیچ برای ارسال فریم به یک آدرس مک جدید با مراجعه به این جدول سطری را پیدا نمی‌کند و به ناچار فریم را به تمامی پورتهای سوئیچ ارسال می‌کند. این کار باعث می‌شود یک attacker در صورت امکان اتصال به یکی دیگر از پورتهای سوئیچ بتواند به داده‌هایی که بین دیگران رد و بدل می‌شود، دسترسی داشته باشد.

برای مقابله با این خطر امنیتی موثرترین راه جلوگیری از پر شدن جدول CAM است، برای این کار با استفاده از ویژگی port security در سوئیچهای سیسکو می‌توان تعداد آدرسهای مکی که سوئیچ روی هر پورت می‌تواند یاد بگیرد و در جدول CAM خود وارد کند را محدود کرد. به عنوان مثال می‌توان تنظیم کرد که سوئیچ بر روی یک پورت می‌تواند حداکثر 5 مک آدرس رو یاد بگیرد و در صورتی که فریمی با ششمین آدرس مک متفاوت وارد پورت شود، سوئیچ به این امر واکنش نشان دهد. این واکنش می‌تواند یکی از موارد زیر باشد:

  • shutdown: این واکنش که رفتار پیش فرض نیز هست به این معناست که سوئیچ پورت را غیر فعال می‌کند. برای فعال شدن مجدد پورت نیاز است مدیر شبکه این کار را انجام دهد.
  • restrict: در این حالت سوئیچ فرمهای با مک آدرس ششم را drop می‌کند و پیامهای syslog و SNMP برای مدیر شبکه ارسال می‌کند.
  • protect: در این حالت سوئیچ فرمهای با مک آدرس ششم را drop می‌کند اما هیچ گونه پیامی ارسال نمی‌کند.

انجام حمله CAM MAC Table OverFlow Attack

برای انجام این حمله و تست امنیت شبکه خودتان می‌توان از ابزار macof در لینوکس استفاده کرد، ما برای انجام این کار از لینوکس Kali که یک توزیع محبوب از لینوکس برای انجام تست نفوذ و تستهای امنیتی است استفاده کرده‌ایم. برای مشاهده سوئیچهای مختلف فرمان macof میتوانید از علامت سوال استفاده کنید.

برای پیدا کردن واسط شبکه متصل به سوئیچ از فرمان ifconfig استفاده میکنیم.

در نهایت با استفاده از سوئیچ i- به همراه نام واسط شبکه فرمان macof را اجرا می‌کنیم.

سیسکو قابلیتی تحت عنوان Port-Security را برای مقابله با این حمله ارائه داده است

 

در کانفینگ بالا به در سوییچ سیسکویی خود به interface eth0/0 رفتیم و با دستور بالا تعداد Mac address های که مجاز به وارد شوند به این interface هستند فقط دوتا می باشد

نکته: این تعداد از 1 تا 4097 قابل افزایش است