حمله DNS نوعی حمله است که در آن مهاجم از حفرههای امنیتی موجود در سیستم نام دامنه (DNS) سوء استفاده میکند.
سیستم نام دامنه چیست و چگونه کار میکند؟
برای درک نحوه عملکرد حملات DNS، ابتدا باید بدانید که سیستم نام دامنه چگونه کار میکند. DNS پروتکلی است که یک نام دامنه دلخواه کاربر مانند setakit.com را به آدرس IP مناسب کامپیوتر 206.19.49.154 ترجمه میکند.
هنگامی که کاربر نهایی نام دامنه setakit.com را در مرورگر خود تایپ میکند، برنامهای در سیستم عامل کلاینت (OS) به نام DNS resolver آدرس IP عددی setakit.com را جستجو میکند.
ابتدا، DNS resolver حافظه cache محلی خود را بررسی میکند تا ببیند آیا آدرس IP مربوط به setakit.com را دارد یا خیر. اگر آدرس را نداشته باشد، resolver از سرور DNS سؤال میکند تا ببیند آیا آدرس IP صحیح setakit.com را میداند یا خیر.
سرورهای DNS بازگشتی هستند، به این معنی که میتوانند از یکدیگر پرسوجو کنند تا سرور DNS دیگری که آدرس IP صحیح را میداند پیدا کنند و یا سرور DNS معتبری را بیابند که نگاشت canonical نام دامنه setakit.com به آدرس IP خود را ذخیره دارد.
به محض اینکه resolver آدرس IP را پیدا کرد، آن را به برنامه درخواست کننده برمیگرداند و آدرس را برای استفاده بعدی ذخیره میکند.
حملات DNS چگونه کار میکنند؟
اگرچه DNS بسیار قدرتمند است، اما برای کاربرد و استفاده طراحی شده است، نه امنیت. حملات DNS که امروزه مورد استفاده قرار میگیرند، متعدد و پیچیده هستند و از ارتباطات دو سویه بین کلاینتها و سرورها سوءاستفاده میکنند.
مهاجمان معمولاً از ارتباط plain text بین کلاینتها و سه نوع سرور DNS سوء استفاده میکنند. یکی دیگر از استراتژیهای حمله محبوب، ورود به وب سایت ارائه دهنده DNS با اعتبار دزدیده شده و تغییر مسیر رکوردهای DNS است.
چگونه از حملات DNS جلوگیری کنیم؟
برای کاهش احتمال حمله DNS، مدیران سرور باید:
- از آخرین نسخه نرمافزار DNS استفاده کنند.
- به طور مداوم بر ترافیک نظارت کنند.
- سرورها را برای کپی، تفکیک و جداسازی توابع مختلف DNS پیکربندی کنند.
برای دفاع در برابر حملات DNS، کارشناسان توصیه میکنند هنگام ایجاد تغییر در زیرساخت DNS سازمان، احراز هویت چند مرحلهای را پیادهسازی کنید.
همچنین پرسنل عملیاتی باید بر هرگونه تغییر مرتبط با رکوردهای DNS خود یا هر گواهی دیجیتال مرتبط با سازمان نظارت کنند. استراتژی دیگر، استقرار پسوندهای امنیتی سیستم نام دامنه (DNSSEC) است که احراز هویت را در DNS با استفاده از امضاهای دیجیتال مبتنی بر رمزنگاری کلید عمومی تقویت میکند.
انواع حملات DNS
انواع حملات DNS عبارتند از:
- حمله Zero-day: مهاجم از یک حفره امنیتی ناشناخته قبلی در پشته پروتکل DNS یا نرم افزار سرور DNS سوء استفاده میکند.
- Cache poisoning: مهاجم برای هدایت ترافیک به یک وبسایت مخرب، جمعآوری اطلاعات یا شروع حمله دیگر، سرور DNS را با جایگزین کردن یک آدرس IP مجاز در cache سرور غیرمجاز دستکاری میکند. Cache poisoning به عنوان DNS poisoning نیز شناخته میشود.
- حملات DOS: حملهای که در آن یک ربات مخرب ترافیک بسیار زیادی را به یک آدرس IP هدفمند ارسال میکند. این ترافیک به حدی است که برای برنامهنویسانی که بافرهای داده را برنامهریزی کرده بودند، قابل پیشبینی نیست. در این صورت سیستم هدف قادر به مدیریت و پردازش درخواست های مجاز نخواهد بود.
- حملات DDoS: مهاجم از یک بات نت برای ایجاد مقادیر انبوه درخواست resolution به یک آدرس IP هدفمند استفاده میکند.
- DNS amplification: مهاجم از یک سرور DNS استفاده میکند که امکان جستجوی بازگشتی را میدهد و از بازگشت برای گسترش حمله خود به سایر سرورهای DNS استفاده میکند.
- Fast-flux DNS: مهاجم به منظور تغییر مسیر درخواستهای DNS و جلوگیری از شناسایی، رکوردهای DNS را با فرکانس بسیار زیاد تعویض میکند.