DNS (Domain Name Server) به زبان ساده دفترچه تلفن اینترنت است، دیاناس به کامپیوترها میگوید که اطلاعات را به کجا ارسال و از کجا دریافت کنند. متأسفانه، هر آدرسی که به آن داده شود را نیز بدون هیچ سوالی میپذیرد.
سرورهای ایمیل از DNS برای مسیریابی پیامهای خود استفاده میکنند، به این معنی که آنها در برابر مشکلات امنیتی در زیرساخت DNS آسیبپذیر هستند. در سپتامبر ۲۰۱۴، محققان دانشگاه کارنگی ملون (CMU) دریافتند که ایمیلهایی که قرار بود از طریق سرورهای یاهو، هات میل و جیمیل ارسال شوند، بهجای آن از طریق سرورهای ایمیل جعلی مسیریابی میشوند. مهاجمان از یک آسیبپذیری قدیمی در DNS سوءاستفاده میکردند. این آسیبپذیری به این صورت بود که دیاناس بهصورت پیشفرض قبل از پذیرش یک درخواست، اعتبار آن را بررسی نمیکرد.
برای حل این آسیبپذیری پروتکلی به نام DNSSEC ارائه شد. پروتکل DNSSEC که با ارائه احراز هویت، لایهای از اعتماد را روی DNS ایجاد میکند. هنگامی که یک پاسخدهنده DNS به دنبال blog.cloudflare.com میگردد، سرورهای نام دامنه .com به پاسخدهنده کمک میکنند تا رکوردهای بازگردانده شده برای Cloudflare را تأیید کنند، و Cloudflare به تأیید رکوردهای بازگردانده شده برای blog کمک میکند. سرورهای ریشه نام دامنه به تأیید .com کمک میکنند و اطلاعات منتشر شده توسط ریشه توسط یکرویه+ امنیتی دقیق، از جمله «امضای ریشه (Root Signing Ceremony)» تأیید میشود.
معرفی DNSSEC
The DNS Security Extensions که مخفف آن DNSSEC است، با افزودن امضاهای رمزنگاری به رکوردهای موجود DNS، یک سیستم نام دامنه امن ایجاد میکند. این امضاهای دیجیتال در کنار انواع رکوردهای رایج مانند A، AAAA، MX، CNAME و غیره در سرورهای نام دامنه ذخیره میشوند. با بررسی امضای مرتبط با یک رکورد DNS، میتوانید تأیید کنید که رکورد درخواستی از سرور معتبر آن آمده است و در مسیر تغییر نکرده و یک رکورد جعلی تزریق شده در حمله “مرد میانی” (Man-in-the-Middle) نیست.
برای تسهیل اعتبارسنجی امضا، DNSSEC چند نوع رکورد DNS جدید اضافه میکند:
- RRSIG: حاوی امضای رمزنگاری
- DNSKEY: حاوی کلید امضای عمومی
- DS: حاوی هش یک رکورد DNSKEY
- NSEC و NSEC3: برای رد صریح وجودنداشتن یک رکورد DNS
- CDNSKEY و CDS: برای یک زیر-زون که درخواست بهروزرسانی رکورد(های) DS در زون والد را دارد.
محدودیتهای DNSSEC
این امر به طور گسترده پذیرفته شده است که ایمنسازی DNS بخش مهمی از ایمنسازی کل اینترنت است، اما استقرار DNSSEC با چندین مشکل روبرو بوده است:
- سازگاری با گذشته: طراحی یک استاندارد سازگار با گذشته که بتواند با اندازه اینترنت مقیاسبندی شود، بسیار دشوار است.
- جلوگیری از شمارش معکوس منطقه: بخش مهمی از DNSSEC توانایی تایید با اعتبار این است که یک نام خاص وجود ندارد.
- مشکلات استقرار: استقرار DNSSEC در طیف گستردهای از سرورهای DNS و پاسخدهندهها زمانبر است.
- اختلافات مالکیت: در مورد اینکه چه کسی باید مالک کلیدهای ریشه دامنه سطح بالا باشد، اختلافنظر وجود داشته است.
- پیچیدگی ادراکی: غلبه بر پیچیدگی درک شده DNSSEC و استقرار DNSSEC دشوار بوده است.