گروهی از محققان به نمایندگی از چندین دانشگاه و مؤسسه آلمانی یک آسیبپذیری در DNSSEC، مجموعه افزونههایی در پروتکل DNS که برای بهبود امنیت آن و در درجه اول برای مقابله با جعل DNS طراحی شدهاند را کشف کردهاند. این آسیب پذیری توسط حمله KeyTrap، اکسپلویت شده است و حمله میتواند سرور DNS را با ارسال پکت داده مخرب، غیرفعال سازد.
سازوکار حمله KeyTrap
آسیب پذیری DNSSEC اخیراً به اطلاع عموم رسیده است، اما در دسامبر 2023 کشف شده و با شناسه CVE-2023-50387 دنبال میگردد و درجه شدت این آسیب پذیری “بالا” (امتیاز ۷.۵) میباشد.
در اینجا نحوه عملکرد حمله KeyTrap مورد بررسی قرار گرفته است. عامل مخرب، nameserver را راهاندازی میکند که از کش سرورهای DNS به درخواستها پاسخ میدهد (یعنی آنهایی که مستقیماً با استفاده از یک بسته مخرب به درخواستهای کلاینت پاسخ میدهند). در مرحله بعد، مهاجم از سرور حافظه پنهان یک رکورد DNS از nameserver مخرب خود را درخواست میکند.
رکورد ارسال شده در پاسخ، یک فایل مخرب با امضای رمزنگاری شده است. نحوه ایجاد امضا باعث میشود که سرور DNS مورد حمله تلاش کند تا آن را تأیید و برای مدت طولانی با ظرفیت کامل CPU کار کند.
به گفته محققان، بسته به نرم افزاری که روی آن اجرا میشود، تنها یک چنین بسته مخربی میتواند سرور DNS را از 170 ثانیه تا 16 ساعت مسدود کند. حمله KeyTrap نه تنها میتواند دسترسی به محتوای وب را برای همه کلاینتهایی که از سرور DNS هدفمند استفاده میکنند، منع سازد، بلکه خواهد توانست خدمات زیرساختی مختلف مانند حفاظت از هرزنامه، مدیریت گواهی دیجیتال (PKI) و مسیریابی بین دامنهای امن (RPKI) را مختل نماید.
محققان از KeyTrap به عنوان “بدترین حمله به DNS که تا کنون کشف شده است” یاد میکنند که به اندازه کافی قابل توجه میباشد. نقص در منطق اعتبارسنجی امضا که KeyTrap را ممکن میسازد، در یکی از اولین نسخههای مشخصات DNSSEC، که در سال 1999 منتشر شده بود، کشف شده است. به عبارت دیگر، این آسیبپذیری در آستانه 25 سالگی است!
محققان به همه توسعه دهندگان نرم افزار سرور DNS و ارائه دهندگان عمده DNS عمومی هشدار دادهاند. بهروزرسانیها و توصیههای امنیتی برای رفع آسیب پذیری CVE-2023-50387 اکنون برای PowerDNS، NLnet Labs Unbound، و Internet Systems Consortium BIND9 در دسترس میباشد. اگر مدیر یک سرور DNS هستید، وقت آن رسیده که بهروزرسانیها را نصب کنید.
با این حال، به خاطر داشته باشید که مسائل منطقی DNSSEC که حمله KeyTrap را ممکن ساخته است، ماهیت اساسی دارند و به راحتی قابل رفع نیستند. وصلههای منتشر شده توسط توسعهدهندگان نرمافزار DNS تنها میتوانند تا حدودی به حل مشکل کمک کنند، زیرا آسیبپذیری، ناشی از بخشی از استاندارد است، نه یک پیادهسازی خاص.
بهرهبرداری عملی از نقص همچنان به عنوان یک احتمال باقی میماند و نتیجه بالقوه آن خرابی resolver غیرقابل پیشبینی است. در صورتی که این اتفاق رخ دهد، مدیران شبکه بهتر است فهرستی از سرورهای DNS پشتیبان تهیه کنند تا بتوانند در صورت نیاز برای حفظ عملکرد عادی شبکه سوئیچ کنند و به کاربران اجازه دهند به منابع وب مورد نیاز خود بدون مانع دست یابند.