مهاجمان سایبری معمولا سازوکاری را در نظر گرفته اند که بدافزار آن ها پس از آلوده کردن قربانی، بتواند با آن ها در ارتباط باشد که این سازوکار را ارتباط با سرور دستور و کنترل می نامند. همچنین مهاجمان همواره در تلاش هستند برای جلوگیری از تشخیص، این ارتباطات را مخفی نگه دارند. اینک شاهد هستیم که مهاجمان برای مخفی کردن این ارتباطات به شیوه ی دیگری متوسل شده اند و این روش، استفاده از پروتکل DNS است.
استفاده از دستور و کنترل DNS و همچنین استخراج دادهها توسط DNS راهکار مناسب و موفقی خواهد بود چرا که این پروتکل بخش صریح و جداییناپذیری از زیرساخت اینترنت است. بسیاری از ابزارهای تحلیل ترافیک به بررسی نحوهی عملکرد پروتکل DNS نمیپردازند و این مسأله میتواند برای جلوگیری از تشخیص ارتباطات مناسب باشد. مسألهای که مطرح کردیم در حد تئوری نبوده و برخی از بدافزارها مانند تروجانهای WTimeRAT و Ismdoor در حال حاضر در حملات خود از این شیوه بهره میبرند.
چندین راه وجود دارد که مهاجمان با استفاده از آنها میتوانند از پروتکل DNS بهعنوان یک کانال مخفی استفاده کنند. بهطور مثال، مهاجم میتواند کدی را بنویسد که ترافیک DNS که از ماشین قربانی ارسال میشود را شنود کند و دیگر نیازی به ارسال اطلاعات به دامنهی دیگر وجود نداشته باشد. تنها چیزی که مهاجمان نیاز دارند، داشتن یک شیوهی کدگذاری و همچنین استخراجِ بخش موجود در ترافیک DNS است.
در یک مثال دیگر، مهاجم میتواند دامنه ای را ثبت کرده و یک سرور DNS را طوری پیکربندی کند که رکوردهای مربوط به دامنهای که ثبت شده را نگهداری کند. هرموقع که قربانی یک پرسوجوی زیردامنه را ارسال میکند که متعلق به دامنهی مهاجم است، این پرسوجوها به سمت سرور DNS مهاجم ارسال میشوند. دادههای ارسال شده، سلسلهمراتب DNS را طی میکنند و ارتباط مستقیمی بین بدافزار و سرور دستور و کنترل وجود ندارد و بهعبارت دیگر، سرور DNS نقش یک پروکسی را بازی خواهد کرد.
هرچند اگر تعداد پرسوجوهای DNS زیاد شود، اپراتور شبکه که ترافیک را مانیتور میکند میتواند متوجه این ناهنجاری شود و بفهمد در یک بازهی زمانی مشخص، پرسوجوهای DNS زیاد شده است ولی مهاجمان نیز میتوانند هوشمندانه عمل کرده و نرخ ارسال این بستهها را کنترل کنند. اگر هدف انتقال اطلاعات زیاد از قربانی به سرور دستور و کنترل باشد، این روند که در آن نرخ ارسالی توسط بدافزار کنترل میشود، بسیار زمانبر خواهد بود ولی برای اهداف کنترلی و مدیریتی، کانال مخفی DNS برای ارتباط با سرور دستور و کنترل بسیار مناسب به نظر میرسد.