آسیب پذیری های سرور DHCP و روش های مقابله با آن

0 895
Telegram_GEEKBOY

رویس DHCP یکی از مهمترین سرویس هایی است که در یک شبکه ارائه میشود، از این رو برقراری امنیت این سرویس از اهمیت ویژه ای برخوردار است. در این مقاله به بررسی حملات و روش های جلوگیری از DHCP (Dynamic Host Configuration Protocol) Starvation، راه اندازی Rough DHCP و حمله Man in the Middle به وجود آمده از طریق DHCP Starvatiom می­پردازیم. سرویس DHCP بیان کننده نحوه اختصاص دادن IP به سیستم هایی که برای متصل شدن به شبکه درخواست IP می کنند، است. سروری را که سرویس DHCP بر روی آن فعال شده باشد را سرور DHCP گویند.

سرور DHCP

هر سرور DHCP دارای یک سری رنج IP است که با توجه به توپولوژی شبکه توسط مدیر سرور مشخص می­ شود. نحوه تخصیص دادن یک IP به یک سیستم کامپیوتری به این گونه است که در ابتدا هنگامی که یک سیستم (کامپیوتر رومیزی، سرور، پرینتر، روتر و …) از لحاظ فیزیکی به شبکه متصل باشد، یک درخواست DHCP Discover را به صورت Broadcast از پورت UDP 67 به شبکه می­فرستد.

آسیب پذیری های سرور DHCP و روش های مقابله با آن

در مرحله 2 سرور DHCP با دریافت پیغام DHCP Discover یک IP به دستگاه مورد نظر پیشنهاد می­‌دهد. این پیشنهاد تحت پیغام DHCP Offer به وسیله پورت 68 UDP به صورت Unicast به دستگاه مورد نظر فرستاده می‌­شود.

آسیب پذیری های سرور DHCP و روش های مقابله با آن

در مرحله سوم که سرور DHCP و دستگاهی که درخواست IP کرده است ارتباطی نظیر به نظیر (Point to Point) ایجاد کرده‌­اند، دستگاه مورد نظر درصورت تمایل به تخصیص IP پیشنهاد شده، پیغام DHCP Request را به صورت Unicast به سرور DHCP اعلام می‌کند.

آسیب پذیری های سرور DHCP و روش های مقابله با آن

نهایتا در مرحله چهارم پیغام DHCP ACK از طرف سرور DHCP به دستگاه داده می‌شود که مبنی بر این است که IP به آن سیستم تخصیص داده شده و در پایگاه داده DHCP ذخیره می‌شود.

آسیب پذیری های سرور DHCP و روش های مقابله با آن

چالش‌های پیش روی پروتکل DHCP:

در این بخش تمرکز این مقاله را بر روی چالش‌­های امنیتی که پیش روی این پروتکل است می‌گزاریم.
همانطور که گفته شد پیغام DHCP Discovery یک پیغام Broadcast است، از این رو در صورتی که بیش از یک سرور DHCP در شبکه موجود باشند، هرکدام از آن سرورها به صورت مجزا به سیستم درخواست کننده پاسخ می‌­دهند.
در این حالت، سیستمی که پیغام DHCP Discovery را فرستاده است با آن سروری عملیات را ادامه می‌­دهد که پیغام DHCP Offer آن زودتر به دستش رسیده باشد. از این رو در صورتی که یک سرور DHCP تقلبی یا به اصطلاح Rogue DHCP در شبکه وجود داشته باشد درخواست DHCP Discovery به آن می‌رسد و شروع به ادامه دادن مراحل سرویس DHCP می­‌کند.

آسیب پذیری های سرور DHCP و روش های مقابله با آن

در صورتی که  DHCP Offer پیشنهاد شده از سمت سرور تقلبی، زودتر از پیغام DHCP Offer پیشنهاد شده از سمت سرور اصلی DHCP برسد، سیستمی که در ابتدا درخواست IP کرده بوده است از یک سرور DHCP مخرب IP را دریافت کرده است.

آسیب پذیری های سرور DHCP و روش های مقابله با آن

دریافت IP از سمت سرور تقلبی به خودی خود مشکلی را ایجاد نمی‌کند، اما حالتی را در نظر بگیریم که حمله کننده تغییراتی را در رنج IP که می­‌خواهد به کاربران پیشنهاد بدهد ایجاد کند. تغییرات می تواند به یکی از حالت های زیر به وجود آید:

پیشنهاد کردن رنج شبکه اشتباه
در این نوع حمله رنج شبکه اشتباهی به کاربر داده می­‌شود. به طور مثال در صورتی که رنج شبکه ما 10.10.10.0/24 است، حمله کننده یک IP از رنج 172.16.32.0/26 به آن می­دهد.
با به وجود آوردن این تغییر این سیستم خاص امکان برقراری ارتباط با شبکه داخلی خود را ندارد و کار کردن با آن مختل می‌­شود.

تغییر در تنظیمات default gateway
این حمله یکی از انواع حمله های ترکیبی به حساب می­آید. نحوه کار شخص حمله کننده در این روش به این گونه است که در IP پیشنهاد شده به کاربر، IP خودش را به عنوان Default Gateway قرار می­دهد. در مرحله بعدی حمله کننده با نصب کردن نرم افزارهای جاسوسی شبکه (Wireshark و …) می تواند تمامی ارتباطات آن سیستم را مانیتور کند و از اطلاعات مورد نظر در راستای اهداف غیر قانونی خود استفاده کند.

تغییر در DNS سرور
این روش حمله کردن را می­توان خطرناک ترین نوع حمله در بین این دسته از حملات به شمار آورد. ماهیت حمله به این صورت است که حمله کننده در مرحله اول حمله یک Website تقلبی مالی، اجتماعی، ایمیل و … همانند وب سایت های دیگر را طراحی کرده است. مرحله بعد راه اندازی یک DNS سرور تقلبی است بدین صورت که به جای برگرداندن IP واقعی سایت مورد نظر کاربر(مثل Gmail.com، bank.com و …) IP وبسایت خود را به کاربر انتقال می­دهد. در این صورت تمامی اطلاعات اکانت کاربر به دست حمله کننده می­رسد.

روش دیگر مورد استفاده حمله کننده برای تخریب سرویس DHCP:

در روش­های حمله­ای که در مرحله قبل صحبت شد، فرض بر وجود داشتن همزمان هر دو سرور مخرب و اصلی در شبکه داخلی بود. در این حالت با توجه به زودتر رسیدن یا نرسیدن پیغام DHCP Offer سرور مخرب به کاربران، اطلاعات آن کاربران خاص توسط حمله کننده جاسوسی (Sniff) می­شود.
آیا از دید حمله کننده این روش یک روش بهینه است؟ آیا راه حلی برای sniff تمامی سیستم ها وجود دارد؟ پاسخ این جاست که در صورتی که سرور اصلی DHCP به گونه­ای مورد حمله قرار گیرد که قادر به سرویس دهی نباشد، تمامی سیستم های درون شبکه را می­توان تحت کنترل خود داشت.
از این رو از روشی به نام Flooding برای از کار انداختن سرویس DHCP استفاده می­شود. روش کار به این گونه است که حمله کننده با فرستادن درخواست­های DHCP Discovery متوالی با MAC Address های تولید شده به صورت تصادفی پایگاه داده IP های سرور DHCP را خالی می کند. حالا هنگامی که یک کاربر عادی DHCP Discovery را Broadcast می کند، دیگر سرور DHCP اصلی به دلیل موجود نداشتن IP پیغام DHCP Offer را نمی فرستد و تنها جواب از سمت سرویس DHCP راه اندازی شده توسط حمله کننده به دست کاربر می رسد.

آسیب پذیری های سرور DHCP و روش های مقابله با آن

آسیب پذیری های سرور DHCP و روش های مقابله با آن

نحوه دفاع در برابر حملات به سرور DHCP:

حال که از دید حمله کننده با نحوه حمله به سرور DHCP آشنا شدیم، نوبت به بررسی راه حل های دفع حمله است. بدین منظور از دو روش Port-security و DHCP Snooping استفاده می­شود.

Port-Security
از Port-security به منظور جلوگیری از حمله Flooding به سرور DHCP استفاده می شود. روش کار به این گونه است که تعداد MAC-Address محدودی اجازه دسترسی به شبکه بر روی یک پورت خاص سوئیچ ازتباطی را خواهند داشت. بدین ترتیب دیگر حمله کننده توانایی فرستادن DHCP Discovery با چندین MAC-Address را نخواهد داشت.
روش کانفیگ کردن Port-security بر روی سوئیچ های Cisco به شرح زیر است:

توضیحات دستورها
جهت وارد شدن به مد کانفیگ Switch# configure terminal
 با توجه به توپولوژی تمامی پورت ها غیر از پورت ۲۴ انتخاب می شود Switch(config)# int r f 0/1-23
 حالت کاری این پورت ها را user می گزاریم  Switch(Config-if-range)# switchport mode access
 Port-security را بر روی پورت ها فعال می کنیم  Switth(config-if-range)# switchport port-security
 حالت violation را بر روی protected می گزاریم  Switth(config-if-range)# switchport port-security violation protected
 Mac-address هایی که اجازه ارتباط در شبکه را دارند را بر اساس MAC-Address های فعلی تعریف می کنیم  Switth(config-if-range)# switchport port-security mac-address sticky

 DHCP Snooping:
DHCP Snooping همچون فایروالی بین هاست های غیر مطمئن و سرور DHCP عمل می­کند. کارهایی که این تکنولوژی انجام می دهد شامل موارد زیر است:

  1. اعتبار سنجی (Validation) پیام های DHCP که از سمت منابع غیر مطمئن ایجاد می شود و فیلتر کردن پبام های نامعتبر
  2. ساخت و نگهداری پایگاه داده DHCP Snooping که شامل اطلاعاتی راجع به هاست های غیر مطمئن و IP های تخصیص داده شده به آن ها است.
  3. استفاده از پایگاه داده DHCP Snooping به منظور درخواست های بعدی که از سمت هاست های غیر مطمئن می­رسد.

DHCP Snooping به صورت پیش فرض در همه Vlan ها غیر فعال است و Per vlan فعال می شود. این تکنولوژی پایگاه داده خود را به هنگام دریافت بسته های DHCP و تخصیص ip به سیستم ها به روز می کند.
Trust و Untrust: هاست های Trust هاست هایی هستند که اجازه فرستادن DHCP Offer را دارند. این پورت ها، پورت های متصل به سرورهای DHCP و پورت های Trunk-Uplink هستند. لذا تمامی پورت های Trunk و آن هایی که سرور DHCP به آن ها متصل هستند به صورت Trust پیکربندی می­شوند.
Limit rate: به منظور جلوگیری از حمله Flooding به سرور DHCP تعداد درخواست هایی که در بازه زمانی خاص به یک پورت فرستاده می­شود با این پارامتر محدود می­شود.
نحوه پیکربندی سوئیچ های Cisco به منظور راه اندازی DHCP Snooping به شرح زیر است.

توضیحات دستورات
فعال سازی DHCP Snoping بر روی Vlan 1
Switch(config)#ip dhcp snooping vlan 1
انتخاب پورت های متصل به دستگاه کاربران Switch(config)#interface r f 0/1 – 22
Untrust کردن پورت های مورد نظر Switch(config-range-if)#ip dhcp snooping untrust
انتخاب پورت های Trunk و متصل به DHCP Switch(config-range-if)#int r f 0/23-24
Trust کردن پورت  ها Switch(config-range-if)#ip dhcp snooping trust
محدود کردن تعداد درخواست ها به 10 عدد در ثانیه Switch(config-range-if)#Ip dhcp snooping limit rate 10
ارسال یک نظر

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.