امنیت DNS به اقداماتی که برای محافظت از زیرساخت DNS در برابر حملات سایبری و تضمین عملکرد سریع و قابلاعتماد آن انجام میشود گفته میشود. یک استراتژی مؤثر امنیت DNS ترکیبی از روشهای دفاعی چندلایه است، از جمله راهاندازی سرورهای اضافی DNS، استفاده از پروتکلهای امنیتی مانند DNSSEC و ثبت دقیق لاگهای DNS.
برای آشنایی کامل با DNS توصیه میشود ابتدا مقاله دیاناس چیست و چگونه کار میکند؟ را مطالعه نمایید.
چرا امنیت DNS مهم است؟
دیاناس مانند بسیاری از پروتکلهای اینترنتی، بدون درنظرگرفتن امنیت طراحی شده است و محدودیتهای طراحی متعددی دارد. این محدودیتها، همراه با پیشرفتهای فناوری، سرورهای DNS را در برابر طیف وسیعی از حملات آسیبپذیر میکنند، از جمله جعل (spoofing)، تقویت، حمله منع سرویس (DoS) یا رهگیری اطلاعات شخصی خصوصی. ازآنجاییکه DNS بخش جداییناپذیر اکثر درخواستهای اینترنتی است، میتواند هدف اصلی حملات باشد.
علاوه بر این، حملات DNS اغلب در کنار سایر حملات سایبری برای منحرفکردن توجه تیمهای امنیتی از هدف اصلی آنها استفاده میشود. یک سازمان باید بتواند بهسرعت حملات DNS را کاهش دهد تا بیش از حد درگیر مقابله با حملات همزمان از طریق بردارهای دیگر نباشد.
چرا به DNS حمله میشود؟
سرویس نام دامنه (DNS) یکی از خدمات اساسی شبکه IP و اینترنت است. به این معنی که برای اکثر مبادلات به DNS نیاز است. ارتباط بهطورکلی با پاسخ DNS آغاز میشود. اگر سرویس در دسترس نباشد، اکثر برنامهها دیگر نمیتوانند کار کنند.
مهاجمان اغلب سعی میکنند با دورزدن عملکرد استاندارد پروتکل یا استفاده از آسیبپذیریها و نقصهای آن، سرویس DNS را از دسترس خارج کنند. DNS توسط همه ابزارهای امنیتی با تأیید محدود روی پروتکل یا نحوه استفاده، پذیرفته میشود. این میتواند در برابر تونلسازی، خروج داده و سایر سوءاستفادههایی که از ارتباطات پنهان استفاده میکنند، راه را باز کند.
دلایل رایج حمله به DNS
قطع دسترسی به وبسایتها و خدمات
با ازکارانداختن DNS، مهاجمان میتوانند کاربران را از دسترسی به وبسایتها، برنامهها و سایر خدمات آنلاین باز دارند. این میتواند باعث اختلال در عملیات تجاری، ایجاد ناراحتی برای کاربران و حتی منجر به خسارات مالی شود.
سرقت اطلاعات
برخی از حملات DNS مستقیماً باهدف سرقت اطلاعات انجام میشوند. مهاجمان ممکن است از روشهای مانند DNS Spoofing برای هدایت کاربران به وبسایتهای جعلی که به نظر میرسد قانونی هستند و از آنها اطلاعات شخصی مانند گذرواژهها یا اطلاعات مالی را سرقت کنند.
حمله DDoS
دیاناس اغلب بهعنوان بخشی از حملات DDoS مورداستفاده قرار میگیرد. مهاجمان میتوانند از سرورهای DNS بهعنوان تقویتکننده استفاده کنند و حجم زیادی از ترافیک را به سمت یک هدف سرازیر کنند تا آن را با درخواستهای زیاد غرق کنند و از کار بیندازند.
تونلسازی و ارتباطات پنهان
مهاجمان میتوانند از آسیبپذیریهای DNS برای برقراری ارتباطات پنهانبین دستگاههای آلوده استفاده کنند. این امر کشف ارتباطات مخرب را برای تیمهای امنیتی دشوار میکند.
برخی از حملات رایج DNS کداماند؟
مهاجمان راههای مختلفی برای هدف قراردادن و سوءاستفاده از سرورهای DNS پیدا کردهاند. در اینجا برخی از رایجترین حملات DNS آورده شده است:
- جعل /مسمومیت حافظه کش (DNS spoofing): این حملهای است که در آن دادههای جعلی DNS به حافظه کش resolver DNS وارد میشود، که منجر به بازگشت آدرس IP اشتباه برای یک دامنه توسط resolver میشود. بهجای رفتن به وبسایت صحیح، ترافیک میتواند به یک ماشین مخرب یا هر جای دیگری که مهاجم تمایل دارد هدایت شود. اغلب این یک کپی از سایت اصلی است که برای اهداف مخرب مانند پخش بدافزار یا جمعآوری اطلاعات ورود استفاده میشود.
- تونلزنی (DNS tunneling)DNS: این حمله از پروتکلهای دیگر برای تونل زدن از طریق کوئریها و پاسخهای DNS استفاده میکند. مهاجمان میتوانند از SSH، TCP یا HTTP برای انتقال بدافزار یا اطلاعات سرقت شده به کوئریهای DNS استفاده کنند، بدون اینکه توسط اکثر فایروالها شناسایی شوند.
- ربوده شدن (DNS hijacking)DNS: در ربودن DNS، مهاجم کوئریها را به یک سرور نام دامنه متفاوت هدایت میکند. این کار میتواند با بدافزار یا با تغییر غیرمجاز یک سرور DNS انجام شود. اگرچه نتیجه آن مشابه جعل DNS است، اما این یک حمله کاملاً متفاوت است؛ زیرا رکورد DNS وبسایت را در سرور نام دامنه، بهجای حافظه کش یک resolver، هدف قرار میدهد.
- حمله عدم وجود دامنه (NXDOMAIN): این نوعی از حمله سیل DNS است که در آن مهاجم سرور DNS را با درخواستهایی برای رکوردهای موجود در دامنههای جعلی بمباران میکند تا سرویسدهی به ترافیک واقعی را مختل کند. این کار با ابزارهای حمله پیشرفتهای که میتوانند برای هر درخواست زیر دامنههای منحصربهفرد ایجاد کنند، انجام میشود. حملات NXDOMAIN همچنین میتوانند یک Resolver بازگشتی را باهدف پر کردن حافظه پنهان resolver با درخواستهای جعلی هدف قرار دهند.
- حمله دامنههای فانتوم: حمله دامنه فانتوم نتیجه مشابهی با حمله NXDOMAIN روی یک Resolver DNS دارد. مهاجم تعدادی از سرورهای دامنه «فانتوم» را راهاندازی میکند که یا به درخواستها بسیار کند پاسخ میدهند یا اصلاً پاسخ نمیدهند. سپس Resolver با سیل درخواست به این دامنهها مواجه میشود و در انتظار پاسخها درگیر میشود که منجر به عملکرد کند و قطع سرویس میشود.
- حمله زیر دامنه تصادفی: در این حالت، مهاجم کوئریهای DNS را برای چندین زیر دامنه تصادفی و غیر موجود از یک سایت قانونی ارسال میکند. هدف ایجاد انکار سرویس برای سرور اسمی مرجع دامنه است، بهطوریکه جستجوی وبسایت از طریق سرور اسمی غیرممکن شود. بهعنوان یک اثر جانبی، ممکن است ISP که به مهاجم خدمات میدهد نیز تحتتأثیر قرار گیرد، زیرا حافظه پنهان resolver بازگشتی آنها با درخواستهای بد پر میشود.
- حمله قفلکردن دامنه: مهاجمان با ایجاد دامنهها و Resolverهای خاص برای ایجاد اتصالات TCP با سایر Resolverهای قانونی این حمله را هدایت میکنند. هنگامی که Resolverهای هدف درخواست ارسال میکنند، این دامنهها جریانهای آهستهای از بستههای تصادفی ارسال میکنند و منابع Resolver را درگیر میکنند.
- حمله CPE مبتنی بر بات نت: این حملات با استفاده از دستگاههای CPE (تجهیزات محل مشتری؛ سختافزاریهایی که توسط ارائهدهندگان خدمات برای استفاده توسط مشتریان آنها مانند مودم، روتر، گیرنده کابلی و غیره ارائه میشود) انجام میشود. مهاجمان CPEها را به خطر میاندازند و دستگاهها بخشی از یک بات نت میشوند که برای انجام حملات زیر دامنه تصادفی علیه یک سایت یا دامنه استفاده میشود.
DNSSEC چیست؟
DNSSEC (مخفف Domain Name System Security Extensions) یک پروتکل امنیتی است که برای حل این مشکل ایجاد شده است. DNSSEC با امضای دیجیتالی از دادهها محافظت میکند تا به اعتبار آنها کمک کند. برای اطمینان از جستجوی امن، امضا باید در هر سطح از فرایند جستجوی DNS اتفاق بیفتد.
این فرایند شبیه امضای یک سند قانونی با خودکار است. امضاکننده با یک امضای منحصربهفرد که هیچکس دیگری نمیتواند آن را ایجاد کند، امضا میکند و یک پاسخدهنده یا resolver میتواند آن امضا را بررسی کند و تأیید کند که سند توسط آن شخص امضا شده است یا خیر. این امضاهای دیجیتالی تضمین میکنند که دادهها دستکاری نشدهاند.
DNSSEC یک خطمشی امضای دیجیتالی سلسلهمراتبی را در سراسر لایههای DNS اجرا میکند. بهعنوانمثال، در مورد جستجوی “google.com”، یک سرور DNS ریشه کلیدی برای سرور نام دامنه .COM امضا میکند و سپس سرور نام دامنه .COM کلیدی را برای سرور نام دامنه معتبر google.com امضا میکند.
درحالیکه همیشه امنیت بهتر ترجیح داده میشود، DNSSEC برای سازگاری معکوس طراحی شده است تا اطمینان حاصل شود که جستجوهای سنتی DNS همچنان بهدرستی حل میشوند، البته بدون امنیت اضافی. DNSSEC بهگونهای طراحی شده است که با سایر اقدامات امنیتی مانند SSL/TLS بهعنوان بخشی از یک استراتژی جامع امنیت اینترنت کار کند.
DNSSEC زنجیرهای از اعتماد والد – فرزند ایجاد میکند که تا منطقه ریشه ادامه مییابد. این زنجیره اعتماد نمیتواند در هیچ لایهای از DNS به خطر بیفتد، در غیر این صورت، درخواست در معرض حمله در مسیر قرار میگیرد.
برای بستن زنجیره اعتماد، خود منطقه ریشه باید تأیید شود (اثبات شود که از دستکاری یا کلاهبرداری عاری است) و این واقعاً با دخالت انسان انجام میشود. جالب اینجاست که در مراسمی به نام «مراسم امضای منطقه ریشه»، افراد منتخب از سراسر جهان بهصورت عمومی و حسابرسی شده برای امضای RRset Root DNSKEY گرد هم میآیند.
روشهای دیگر برای محافظت در برابر حملات مبتنی بر DNS
علاوه بر DNSSEC، اپراتور یک منطقه DNS میتواند اقدامات بیشتری برای ایمنسازی سرورهای خود انجام دهد. اضافهکردن زیرساخت یک استراتژی ساده برای غلبه بر حملات DDoS است. به عبارت ساده، اگر سرورهای نام دامنه شما میتوانند چندبرابر ترافیک بیشتری نسبت به حد انتظارتان را مدیریت کنند، برای یک حمله مبتنی بر حجم، غلبه بر سرور شما دشوارتر میشود. سازمانها میتوانند با افزایش ظرفیت کل ترافیک سرور DNS خود، ایجاد چندین سرور DNS اضافی و استفاده از توزیع بار برای مسیریابی درخواستهای DNS به سرورهای سالم در صورت عملکرد ضعیف یکی از آنها، به این امر دست یابند.
یکی دیگر از استراتژیها استفاده از فایروال DNS است.
فایروال DNS چیست؟
فایروال DNS ابزاری است که میتواند تعدادی از خدمات امنیتی و عملکردی را برای سرورهای DNS فراهم کند. یک فایروال DNS بین Resolver بازگشتی کاربر و سرور نامعتبر وبسایت یا خدماتی که سعی در دسترسی به آن دارد قرار میگیرد. فایروال میتواند خدمات محدودیت سرعت را برای متوقف کردن مهاجمانی که سعی در غلبه بر سرور دارند ارائه دهد. اگر سرور به دلیل حمله یا به هر دلیل دیگری دچار خرابی شد، فایروال DNS میتواند با ارائه پاسخهای DNS از حافظه پنهان، سایت یا سرویس اپراتور را فعال نگه دارد.
فایروال DNS علاوه بر ویژگیهای امنیتی، راهحلهای عملکردی مانند جستجوی سریعتر DNS و کاهش هزینههای پهنای باند برای اپراتور DNS نیز ارائه میدهد. درباره فایروال DNS Cloudflare بیشتر بدانید.
DNS بهعنوان یک ابزار امنیتی
Resolverهای DNS نیز میتوانند برای ارائه راهحلهای امنیتی برای کاربران نهایی خود (افرادی که در اینترنت مرور میکنند) پیکربندی شوند. برخی از Resolverهای DNS ویژگیهایی مانند فیلترکردن محتوا را ارائه میدهند که میتواند سایتهایی را که به توزیع بدافزار و اسپم معروف هستند مسدود کند و همچنین محافظت در برابر بات نت که ارتباط با بات نتهای شناخته شده را مسدود میکند. بسیاری از این Resolverهای DNS امن رایگان هستند و کاربران با تغییر یک تنظیمات ساده در روتر محلی خود میتوانند به یکی از این سرویسهای DNS بازگشتی تغییر دهند. DNS Cloudflare بر امنیت تأکید دارد.
آیا کوئریهای DNS خصوصی هستند؟
مسئله مهم دیگری که در امنیت DNS مطرح است، حریم خصوصی کاربران است. کوئریهای DNS رمزگذاری نشدهاند. حتی اگر کاربران از یک Resolver DNS مانند 1.1.1.1 که فعالیتهای آنها را ردیابی نمیکند استفاده کنند، کوئریهای DNS بهصورت متن ساده در اینترنت سفر میکنند. این بدان معناست که هر کسی که کوئری را رهگیری کند میتواند ببیند کاربر از کدام وبسایتها بازدید میکند.
این عدم حریم خصوصی بر امنیت و در برخی موارد حقوق بشر تأثیر میگذارد. اگر کوئریهای DNS خصوصی نباشند، برای دولتها سانسور اینترنت و برای مهاجمان ردیابی رفتار آنلاین کاربران آسانتر میشود.
DNS over TLS (DoT) و DNS over HTTPS (DoH) دو استاندارد برای رمزگذاری کوئریهای DNS هستند تا از خواندن آنها توسط طرفهای خارجی جلوگیری شود.
تقویت DNS باعث ایجاد حملات DDOS میشود!
حمله تقویت DNS نوع رایجی از حملات DDoS است که از سرورهای DNS عمومی و در دسترس برای غرقکردن سیستم هدف با ترافیک پاسخ DNS سوءاستفاده میکند.
طبق گفته آژانس امنیت سایبری و زیرساخت امنیتی (CISA)، که تلاشهای ایالات متحده را برای افزایش انعطافپذیری زیرساخت فیزیکی و سایبری این کشور هدایت میکند، تکنیک اصلی شامل ارسال یک درخواست جستجوی نام DNS توسط مهاجم به یک سرور DNS باز است که آدرس منبع آن بهگونهای جعل شده که آدرس هدف باشد.
هنگامی که سرور DNS پاسخ رکورد DNS را ارسال میکند، بهجای آن به هدف ارسال میشود. CISA میگوید مهاجمان معمولاً درخواستی برای هر چه بیشتر اطلاعات منطقه ارسال میکنند تا بتوانند اثر تقویت را به حداکثر برسانند. در اکثر حملات از این نوع که توسط US-CERT مشاهده شده است، پرسوجوهای جعلی ارسال شده توسط مهاجمان از نوع “ANY” هستند که تمام اطلاعات شناخته شده در مورد یک منطقه DNS را در یک درخواست واحد بازگرداند.
ازآنجاییکه اندازه پاسخ بسیار بزرگتر از درخواست است، مهاجم میتواند مقدار ترافیک هدایت شده به سیستمهایی هدف را افزایش دهد. CISA میگوید، با استفاده از یک بات نت برای تولید تعداد زیادی از پرسوجوهای DNS جعلی، یک مهاجم میتواند بدون تلاش زیاد، مقدار زیادی ترافیک ایجاد کند.
این آژانس میگوید و ازآنجاییکه پاسخها دادههای مشروع از سرورهای معتبر هستند، جلوگیری از این نوع حملات بسیار دشوار است. رایجترین نوع این حملهای که US-CERT دیده است، سرورهای DNS را درگیر میکند که برای هر مشتری در اینترنت، حل مجدد بدون محدودیت مجاز شده است. اما CISA خاطرنشان میکند که حملات همچنین میتوانند شامل سرورهای معتبر نام باشند که حل مجدد ارائه نمیدهند.