اخبار امنیت

خانه اخبار امنیت بازگشت خطر حملات cache poisoning

۲۷ آبان ۱۳۹۹

بازگشت خطر حملات cache poisoning

حمله cache poisoning یکی از تهدیدات امنیتی رایج درسال ۲۰۰۸ بود. از آن سال به بعد و به کارگیری روش‌های رویارویی با آن، این حمله نیز محدود شد. اما این روزها دانشمندان دانشگاه کالیفرنیا خبر از دست یافتن به روش‌ جدیدی برای سوءاستفاده از DNS cacheهای آسیب‌پذیر داده‌اند. بر طبق تحقیقات این پژوهشگران، ۳۴% از resolverهای باز بر روی اینترنت و ۸۵% از سرویس‌های DNS عمومی آسیب‌پذیر هستند. شما می‌توانید با رفتن به صفحه Sad DNS بررسی کنید که آیا در برابر این حمله آسیب‌پذیر هستید و یا خیر.

روش SAD DNS که در واقع مخفف Side-channel AttackeD DNS می‌باشد، به مهاجم این امکان را می‌دهد تا از طریق کانال‌های جانبی ، ترافیکی که مقصد آن یک دامنه خاص است را به سمت سرور تحت کنترلش هدایت کند. که نتیجه آن شنود و دستکاری این اطلاعات توسط مهاجم است. در ادامه علاوه بر جزئیات فنی SAD DNS، راهکارهای مقابله با آن را نیز توضیح خواهیم داد.

حمله cache poisoning

همانطور که می‌دانید هر سرور DNS هنگام دریافت کوئری‌ها، یک سری مراحل را برای یافتن آدرس‌های مورد نظر طی می‌کند. در این روند، وظیفه Forwarder، هدایت کوئری‌هایی است که در سرور DNS داخلی برای آن‌ها پاسخی یافت نمی‌شود. سرورهای DNS هم معمولا پاسخ کوئری‌ها را برای یک بازه زمانی مشخص در حافظه cache ذخیره می‌کنند تا بتوانند سریعتر پاسخگو باشند. اما همین موضوع، می‌تواند مورد سوءاستفاده مهاجمین واقع شود. در حمله DNS cache poisoning، درخواست‌های DNS به سمت یک DNS cache آلوده هدایت می‌شود. در نتیجه آدرس اشتباهی به دست مرورگر و یا سایر برنامه‌های کاربردی قربانی خواهد رسید و قربانی به سمت سایت‌های مخرب هدایت می‌شود. بازدید از این سایت‌ها هم نتایج مهلکی مانند به سرقت رفتن اطلاعات مهم و یا آلوده شدن سیستم به باج افزار خواهد داشت.

در سال‌های اخیر، استفاده از روش‌هایی مانند DNSSEC و یا RCF 7873 DNS Cookie در مقابله با cache DNS poisoning موثر بوده‌اند. اما روش SAD DNS دوباره خطر حملات DNS cache poisoning را پر رنگ کرده است.

SAD DNS چگونه راه اندازی می‌شود؟

در روش SAD DNS، مهاجم با کمک یک سیستم آسیب‌پذیر در شبکه، سرور DNS را وادار به ارسال درخواست می‌کند. مثلا در مکان‌هایی مثل کافی‌شاپ‌ها یا مراکز خرید که اینترنت عمومی از طریق یک روتر/مودم بی‌سیم مدیریت می‌شود ممکن است این اتفاق بیفتد. در واقع مهاجم با کمک یک کانال جانبی در پشته پروتکل شبکه، ابتدا شبکه را برای یافتن پورت مبدا اسکن می‌کند. سپس یک کوئری DNS را ارسال کرده و از طریق حمله Brute-force بر روی شناسه‌های تراکنش، حجم زیادی از پاسخ‌های جعلی را به سیستم قربانی تزریق می‌کند.

مشاهده ویدئو نحوه راه اندازی حمله SAD DNS در کانال آپارات آرمان داده پویان

برای بررسی دقیق‌تر، محققان از کانال استفاده شده در درخواست‌های نام دامنه استفاده کردند تا تعداد دقیق پورت مبدا را با ارسال بسته‌های جعلی UDP به سرور قربانی، کاهش دهند و از این طریق متوجه شوند که بر اساس درخواست‌های ICMP، آیا پاسخ‌های جعلی به پورت مبدا درست رسیده‌اند یا خیر؟

در این روش، مهاجم قادر است ۱۰۰۰ پورت در ثانیه را اسکن کند که اسکن تمام پورت‌ها (۶۵۵۳۶) حدودا ۶۰ ثانیه طول می‌کشد. با دانستن شماره پورت مبدا، فقط کافی است مهاجم با وارد کردن یک آدرس IP مخرب، ترافیک وب‌سایت را هدایت کرده و حمله Cache Poisoning DNS را با موفقیت اجرا کند.

آسیب‌پذیری‌های منجر به SAD DNS

آسیب‌پذیری منجر به این حملات با شناسه CVE-2020-25705 به ثبت رسیده است. این آسیب‌پذیری، سیستم‌عامل‌های ویندوز سرور ۲۰۱۹، لینوکس با کرنل نسخه ۳٫۱۸ تا ۵٫۱۰، ویندوز سرور ۲۰۱۹ (نسخه ۱۸۰۹)، مک او اس ۱۰٫۱۵ و بالاتر و همچنین FreeBSD نسخه ۱۲٫۱٫۰ و بالاتر را تحت تاثیر قرار می‌دهد. آسیب‌پذیری CVE-2020-25705 یکی از موضوعات داغ کنفرانس جهانی کامپیوترACM در حوزه کامپیوتر و امنیت ارتباطات امسال نیز بوده است.

هر چند این ضعف از اهمیت بالایی برخوردار است، اما بهتر است بدانید که اثربخشی این قبیل حملات، بدلیل وجود پروتکل‌هایی مثل DNSSEC تاحدودی کمرنگ‌تر شده است. پروتکل DNSSEC در واقع یک لایه امنیتی به رکوردهای DNS اضافه می‌کند و باعث می‌شود سرور DNS بتواند به ازای هر درخواست، از یک شماره پورت و شناسه تراکنش متفاوت استفاده کند.

هر چند این حمله به دلایل مختلفی از جمله انگیزه و سازگاری، هنوز به صورت گسترده مورد استفاده قرار نگرفته، اما پژوهشگران اعلام کرده‌اند که سرورهای DNS محبوب مثل Cloudflare (1.1.1.1) و گوگل (۸٫۸٫۸٫۸) در برابر این حمله آسیب‌پذیر هستند.

چه باید کرد؟

تحقیقات نشان می‌دهد که ۳۴ درصد DNSهای عمومی در اینترنت، نسبت حمله SAD DNS آسیب‌پذیرند که ۸۵ درصد از آن‌ها، سرویس‌های محبوبی مثل گوگل و Cloudflare هستند. در حال حاضر برای کاهش خطرات احتمالی در برابر حملات SAD DNS، می‌بایست مدیران شبکه‌، پاسخ‌های ICMP یا همان outgoing ICMP responses را غیرفعال کنند. همچنین نصب اصلاحیه‌های امنیتی مرتبط با این آسیب‌پذیری، از جمله اقداماتی است که باید در دستور کار شبکه‌های مختلف قرار گیرد. البته در این صورت برخی امکانات عیب‌یابی را از دست خواهید داد. اختصاص زمان کمتر از یک ثانیه برای time out درخواست‌های DNS نیز موثر هست.

محققان ابزاری را نیز برای بررسی آسیب‌پذیر بودن سرورها نسبت به این حمله، توسعه داده‌اند. این گروه، با همکاری تیم امنیتی هسته لینوکس، در تلاشند تا وصله‌ای را برای کاهش نرخ کلی بسته‌های ICMP فراهم کنند.

تعداد بازدید: 83