DNS چیست؟
به زبان ساده، DNS همانند دفترچه تلفن برای اینترنت است. هنگام مرور اینترنت، اکثر کاربران ترجیح می دهند دامنه یا URL وب سایتی را که می خواهند از آن بازدید کنند (مانند https:afratec.ir) را تایپ کنند. با این حال، سرورها و زیرساخت اینترنت از آدرس های IP برای شناسایی مقصد ترافیک و مسیریابی به آنجا استفاده می کنند.
DNS تبدیل نامهای دامنه به آدرس IP عددی را انجام می دهد. کامپیوترها فقط میتوانند با استفاده از آدرس های IP عددی با یکدیگر ارتباط برقرار کنند. برای اینکه مرورگر کاربر را به نام دامنهای که وارد کرده متصل نماید، DNS ابتدا باید آن را به یک IP قابل خواندن توسط کامپیوتر ترجمه کند. همچنان میتوانید برای دسترسی به یک وبسایت، آدرس IP را در مرورگر تایپ کنید، اما بهتر است نام دامنه را به خوبی به خاطر بسپارید. یک بازدید کننده از سایت https://afratec.ir از یک سرور DNS .com آدرس IP سرور DNS afratec.ir را می خواهد. درخواست دوم به این سرور DNS سپس آدرس IP سرور میزبان صفحه وب مورد نظر را ارائه می دهد. اکنون کاربر می تواند از سایت مورد نظر خود بازدید کند.
در حال حاضر بیش از 359 میلیون دامنه ثبت شده وجود دارد. داشتن یک فهرست کامل از این دامنهها امکان پذیر نیست. دایرکتوریها در سراسر جهان بر روی سرورهای نام دامنه توزیع شدهاند. این سرورها به طور مرتب با یکدیگر ارتباط برقرار میکنند تا دایرکتوریهای خود را به روز نگه دارند و موارد اضافی را حذف کنند.
DNS Tunneling چگونه کار می کند؟
DNS یکی از پروتکل های اساسی اینترنت است. بدون خدمات جستجویی که ارائه می کند، گشت و گذار در اینترنت تقریبا غیرممکن خواهد بود. به این معنی که کاربر برای بازدید از هر وب سایت، باید آدرس IP دقیق سروری که آن را میزبانی می کند، بداند . در نتیجه، ترافیک DNS یکی از قابل اعتمادترین ترافیکها در اینترنت است. سازمانها به آن اجازه میدهند که از فایروال خود (اعم از ورودی و خروجی) عبور کند، زیرا لازم است کارمندان داخلی آنها از سایتهای خارجی بازدید کنند و کاربران خارجی وبسایتهای خود را پیدا کنند.
DNS tunneling با استفاده از درخواست های DNS برای پیاده سازی یک مسیر فرمان و کنترل برای بدافزار استفاده می کند. ترافیک DNS ورودی می تواند دستورات را به بدافزار منتقل کند، در حالی که ترافیک خروجی می تواند داده های حساس را استخراج کند یا به درخواست های اپراتور بدافزار پاسخ دهد. به دلیل اینکه DNS یک پروتکل بسیار انعطاف پذیر است ، می تواند به راحتی مورد حمله تانلینگ قرار گیرد. همچنین محدودیت های بسیار کمی در مورد داده هایی که یک درخواست DNS را شامل می شود وجود دارد زیرا برای جستجوی نام دامنه وب سایت ها طراحی شده است و تقریباً هر چیزی می تواند یک نام دامنه باشد. از فیلدهای نام دامنه می توان برای حمل اطلاعات حساس استفاده کرد. این درخواستها به گونهای طراحی شدهاند که به سرورهای DNS کنترلشده توسط مهاجم بروند و اطمینان حاصل کنند که میتوانند درخواستها را دریافت کنند و در پاسخهای DNS مربوطه پاسخ دهند.
انجام حملات تونل زنی DNS ساده است و مجموعه ابزارهای تونل زنی DNS متعددی وجود دارد. این امکان را برای مهاجمان غیرمجاز نیز فراهم می کند تا از این تکنیک برای پنهان کردن داده ها از راه حل های امنیت شبکه سازمان استفاده کنند.
شناسایی حملات تونل زنی DNS
DNS tunneling شامل سوء استفاده از اساس پروتکل DNS است. بدافزار به جای استفاده از درخواستها و پاسخهای DNS برای جستجوی آدرس IP قانونی، از آن برای پیادهسازی یک کانال فرمان و کنترل با کنترلر خود استفاده میکند.
انعطاف پذیری DNS آن را به انتخاب خوبی برای استخراج داده تبدیل می کند. با این حال، محدودیت های خود را دارد. برخی از شاخص های DNS tunneling در یک شبکه می تواند شامل موارد زیر باشد:
- درخواستهای غیرمعمول دامنه: بدافزار تونل زنی DNS دادهها را در یک نام دامنه درخواستی (مانند DATA_HERE.baddomain.com) رمزگذاری میکند. بررسی نامهای دامنه درخواستی در درخواستهای DNS ممکن است سازمان را قادر سازد تا ترافیک قانونی را از تلاش برای تونلسازی DNS متمایز کند.
- درخواست ها برای دامنههای غیرمعمول: تونلسازی DNS تنها در صورتی کار میکند که مهاجم ، مالک دامنه هدف باشد. به طوری که درخواستهای DNS به سرور DNS آنها برود. اگر سازمانی با افزایش ناگهانی درخواست ها برای یک دامنه غیرمعمول مواجه شود، ممکن است نشان دهنده حمله DNS Tunneling باشد، به خصوص اگر آن دامنه به تازگی ایجاد شده باشد.
- حجم بالای ترافیک DNS: نام دامنه در یک درخواست DNS حداکثر اندازه (253 کاراکتر) دارد. بدین معنی که یک مهاجم احتمالاً به تعداد زیادی درخواست DNS مخرب برای استخراج داده یا اجرای یک پروتکل فرمان و کنترل بسیار تعاملی نیاز دارد. جهش حاصل در ترافیک DNS می تواند نشانگر حمله تونل سازی DNS باشد.
هرکدام از عوامل بالا به تنهایی می توانند قابل کنترل باشند. اما ، اگر سازمانی چندین یا همه این ناهنجاری ها را تجربه کند، ممکن است نشانه ای از وجود و فعال بودن بدافزار تونل DNS در شبکه باشد.
نحوه محافظت در برابر DNS Tunneling
محافظت در برابر حمله تونل زنی DNS به یک سیستم پیشرفته پیشگیری از تهدید شبکه نیاز دارد. سیستمی که قادر به شناسایی و مسدود کردن تلاشها برای استخراج داده ها باشد. چنین سیستمی باید ترافیک شبکه را بازرسی نماید.همچنین به اطلاعات تهدیدی که برای پشتیبانی از شناسایی ترافیک هدایت شده به سمت دامنه های مخرب و محتوای مخرب تعبیه شده در ترافیک DNS ،دسترسی داشته باشد.
فایروالهای نسل بعدی (NGFW) قابلیتهای پیشرو در صنعت شناسایی تهدید و امنیت شبکه را ارائه میکنند.