معرفی 5 مورد از شایع ترین حملات DNS به همراه روش جلوگیری از آنها
DNS یکی از شکل های اساسی ارتباط بین کاربر و سرور است. در این روش، دامنه هایی که کاربر به سیستم می دهد، با یک آدرس IP مطابقت داده می شود تا برای سرور قابل فهم شود. حملات DNS از همین مکانیسم برای انجام فعالیت های مخرب استفاده می کنند.
در این مقاله قصد داریم تا اصلی ترین حملات DNS را معرفی کنیم و روش های جلوگیری از آنها را با شما به اشتراک بگذاریم. با ما همراه باشید.
حمله DNS چیست؟
حمله DNS روش مخربی است که در آن مجرم سایبری سعی می کند DNS شبکه را به خطر بیندازد یا از ویژگی های ذاتی آن برای انجام یک حمله گسترده تر استفاده کند. یک حمله DNS که به خوبی سازماندهی شده، می تواند یک سازمان را به زانو درآورد.
مجرم در این نوع از حملات، از آسیب پذیری های موجود در سیستم نام دامنه (DNS) یک سرور سوءاستفاده می کند. همان طور که قبلاً گفتیم، هدف DNS این است که با استفاده از یک حل کننده سیستم، نام دامنه را به آدرس IP خوانا برای ماشین، تبدیل کند.
حل کننده DNS ابتدا حافظه پنهان محلی خود را برای نام دامنه و آدرس IP جستجو می کند. اگر نتواند سوابق را پیدا کند، به پرس وجو از سرورهای DNS دیگر ادامه خواهد داد. در صورت عدم موفقیت، به دنبال سرور DNS می گردد که حاوی نگاشت متعارف برای دامنه است.
بعد از پایان فرایند جست وجو، برنامه درخواست کننده نام دامنه و آدرس IP را در حافظه پنهان و محلی خود ذخیره می کند. از آنجایی که سازمان ها قادر به نظارت مستقیم بر جریان ترافیک بین کاربران (کلاینت های راه دور) و سرورهای DNS نیستند، حملات DNS به روشی نسبتاً آسان برای مجرمان سایبری برای به خطر انداختن شبکه ها و ایجاد اختلال تبدیل شده است.
به عنوان مثال، تکنیک های تونل سازی DNS به مجرمان سایبری کمک می کند که اتصال شبکه را به خطر بیندازند و به یک سرور هدف از راه دور دسترسی پیدا کنند. در انواع دیگری از حملات DNS، کلاهبرداران می توانند سرورها را از بین ببرند، داده ها را سرقت کنند، کاربران را به سایت های کلاهبردار هدایت کنند و در نهایت حملات انکار سرویس توزیع شده (DDoS) را انجام دهند.
مهم ترین حملات DNS
حملات DNS زیر ساخت های DNS را هدف قرار می دهند. این حملات را می توان برای سرورهای بازگشتی یا معتبر تنظیم کرد.
حملات انکار سرویس (DoS) و حملات انکار سرویس توزیع شده (DDoS) بسیار مشابه هستند. در هر دو مورد، کلاهبرداران به سرورهای اینترنتی درخواست های زیادی ارسال می کنند، سرورها به سادگی نمی توانند به همه آنها پاسخ دهند و در نتیجه سیستم از کار می افتد.
حملات DOS
در یک حمله DoS ساده از یک کامپیوتر و یک اتصال اینترنتی برای حمله از راه دور به سرور، استفاده می شود. هرچند این نوع از حملات در غلبه بر سیستم های پرظرفیت امروزی چندان مؤثر نیستند.
حملات DDoS
در حمله DDoS، یک سایت با استفاده از چندین کامپیوتر و اتصالات اینترنتی، مورد هدف قرار می گیرد. در بیش تر موارد در حملات DDoS، کلاهبرداران رایانه های در معرض خطر را به بات نت اضافه می کنند تا پرس و جوهای مخرب را در پس زمینه اجرا کند. مهاجمان می توانند از تمام قدرت دستگاه های سراسر جهان به صورت یکجا، برای پرس و جو از شبکه هدف استفاده کنند.
حملات DDoS اغلب لایه های خاصی از مدل OSI را مورد هدف قرار می دهند. این مدل، ارتباطات بین شبکه های کامپیوتری را به هفت لایه انتزاعی تقسیم می کند که هر یک عملکرد مجزایی را در ارتباطات شبکه ای انجام می دهند.
سه نوع فرعی از حملات DDoS وجود دارد:
- حملات پروتکل: در این حمله، منابع واقعی سرور یا سایر تجهیزات شبکه مانند فایروال ها و متعادل کننده های بار فلج می شوند.
- حملات لایه های کاربردی یا برنامه: در این حمله، برای از کار انداختن وب سرور، مهاجم درخواست هایی را ارسال می کند که بی ضرر به نظر می رسند؛ اما در واقع از آسیب پذیری های سرور هدف سوءاستفاده می کند.
- حملات سیل آسا: در حمله سیل آسا، منابع سرور با سیل عظیمی از ترافیک واقعی، مورد هدف قرار می گیرد.
1- حملات تقویت DNS یا DNS amplification
حمله تقویت DNS در واقع نوعی حمله DDoS است که روی یک سرور هدفمند انجام می شود. در این نوع از حمله، مهاجمان با ترافیک پاسخ DNS از سرورهای DNS باز و در دسترس عموم، برای حمله به یک هدف استفاده می کنند.
معمولاً عامل تهدیدکننده حمله را با ارسال یک درخواست جستجوی DNS به سرور DNS باز و عمومی آغاز می کند. سپس آدرس منبع را جعل می کند تا به آدرس هدف تبدیل شود. هنگامی که سرور DNS پاسخ رکورد DNS را برمی گرداند، این پاسخ به جای بازگشت به آدرس منبع، به هدف جدیدی ارسال می شود که مهاجم آن را کنترل می کند.
2- حملات ربودن DNS یا DNS hijacking
سه نوع حمله ربودن DNS وجود دارد:
- در نوع اول، مهاجمان می توانند یک حساب ثبت کننده دامنه را مورد هدف قرار داده و نام سرور DNS شما را به یکی از آنها تغییر دهند.
- در نوع دوم، مهاجمان می توانند رکورد A در آدرس IP دامنه شما را تغییر دهند تا به جای آدرس شما به آدرس آنها اشاره کند.
- در نوع سوم، مهاجمان می توانند به روتر سازمان حمله کنند و سرور DNS را تغییر دهند. در نتیجه به طور خودکار، عملکرد هر دستگاهی که کاربران با آن وارد شبکه شما می شوند، مختل می شود.
در سال 2019، کارشناسان امنیتی Sea Turtle را کشف کردند، یک کمپین ربودن DNS با حمایت دولتی که سوابق DNS حداقل 40 سازمان در 13 کشور را دست کاری و جعل می کرد.
3- حملات تونل زنی DNS یا DNS Tunneling
منظور از تونل سازی DNS چیست؟ تونل زنی دی ان اس شامل رمزگذاری داده های برنامه ها یا پروتکل های دیگر در پرس و جوها و پاسخ های DNS است. معمولاً دارای محموله های داده ای است که می تواند سرور DNS را تصاحب کند و به مهاجمان اجازه می دهد سرور و برنامه ها را از راه دور مدیریت کنند.
یک تونل DNS اطلاعات را از طریق پروتکل DNS منتقل می کند که معمولاً آدرس های شبکه را حل می کند. درخواست های معمولی DNS فقط حاوی اطلاعات لازم برای برقراری ارتباط بین مشتری و سرور هستند. تونل سازی DNS یک رشته داده اضافی را در این مسیر وارد می کند.
این رشته اضافی، ارتباطی برقرار می کند که اکثر فیلترها، فایروال ها و نرم افزارهای ضبط بسته را دور می زند. همین موضوع تشخیص و ردیابی منشأ این نوع حمله را بسیار سخت می کند. تونل DNS می تواند فرمان و کنترل ایجاد کند یا داده ها را استخراج کند. در این روش، اطلاعات اغلب به قطعات کوچک تر تقسیم می شوند، به سراسر DNS منتقل می شوند و در انتهای دیگر سرهم می شوند.
4- حملات مسمومیت و مسمومیت حافظه پنهان با DNS یا DNS poisoning and cache poisoning
حملات مسمومیت DNS که با نام حملات جعل DNS و حملات مسمومیت حافظه پنهان DNS نیز شناخته می شود، از شکاف های امنیتی در پروتکل DNS برای هدایت ترافیک اینترنت به وب سایت های مخرب استفاده می کند. گاهی اوقات به این حملات، حملات انسان در میانه نیز گفته می شود.
در فرایند جست و جوی آدرس یک وب سایت، برای یافتن آدرس IP مرتبط با نام وب سایت، درخواست از یک سرور DNS محلی شروع می شود. سپس سرور DNS محلی از سرورهای اصلی صاحب آن دامنه پرس و جو می کند و از سرور، نام معتبر آن دامنه آدرس را می خواهد.
مسمومیت DNS زمانی اتفاق می افتد که یک عامل مخرب در این فرایند دخالت کند و پاسخ اشتباهی را ارائه کند. هنگامی که مرورگر فریب می خورد و فکر می کند که پاسخ درست به درخواست خود را دریافت کرده است، عامل مخرب می تواند ترافیک را به هر وب سایت جعلی که می خواهد، هدایت کند.
در حملات مسمومیت کش DNS، هنگامی که یک عامل مخرب یک پرس و جوی DNS را رهگیری می کند و به آن پاسخ نادرست می دهد، حل کننده DNS آن پاسخ را برای استفاده بعدی در حافظه پنهان ذخیره می کند. (بیش تر حل کننده های DNS حل کننده های کش هستند.) با ادامه استفاده از پاسخ اشتباه، این حمله شدیدتر و بدتر می شود.
مدت زمانی که ورودی های DNS در حافظه پنهان شما باقی می مانند به زمان زندگی (TTL) بستگی دارد. TTL یکی از تنظیمات سرور DNS است که به حافظه پنهان می گوید چه مدت باید رکوردهای DNS را برای یک سرور قانونی قبل از رفرش کردن جستجو، ذخیره کند.
در نوامبر 2020، محققان روش جدیدی را برای انجام مسمومیت حافظه پنهان به نام SAD DNS (مخفف Side-channel AttackeD DNS) کشف کردند. این روش به مهاجم اجازه می دهد تا از یک کانال جانبی برای تزریق یک رکورد DNS مخرب به حافظه پنهان DNS استفاده کند.
روش های جلوگیری از حملات DNS
در ادامه راه هایی که می تواند به شما کمک کند تا از سازمان خود در برابر حملات DNS محافظت کنید، با هم بررسی می کنیم:
1- برای جلوگیری از حملات DNS، کل معماری DNS خود را بشناسید.
اولین قدم در ایمن سازی یک شبکه، آگاهی از کل دارایی DNS شرکت شما است. اغلب، تیم های شبکه به دلیل انبوهی از سیلوهای DNS، مناطق یتیم یا IT سایه دار، دید کاملی نسبت به معماری DNS خود، ندارند.
2- DNS Resolver را خصوصی و محافظت شده نگه دارید.
دسترسی حل کننده DNS را فقط برای کاربران شبکه محدود کنید و هرگز آن را برای کاربران خارجی باز نگذارید. با این کار بازیگران خارجی نمی توانند حافظه پنهان شبکه را مسموم کنند.
3- دسترسی ادمین به DNS خود را سخت تر کنید.
احراز هویت چند عاملی را در حساب ثبت کننده دامنه خود فعال کنید و از یک سرویس قفل ثبت کننده برای درخواست مجوز قبل از تغییر رکوردهای DNS استفاده کنید.
4- DNS خود را در برابر مسمومیت کش پیکربندی کنید.
بخش امنیت را در نرم افزار DNS خود پیکربندی کنید تا بتوانید از سازمان در برابر مسمومیت حافظه پنهان محافظت کنید. با اضافه کردن گزینه تغییرپذیری به درخواست های خروجی، تهدید قبول نکردن یک پاسخ جعلی و پذیرفته شدن آن را دشوار کنید. برای مثال، شناسه پرس و جو را تصادفی کنید یا به جای پورت UDP 53 از یک درگاه منبع تصادفی استفاده کنید.
5- سرورهای DNS خود را به صورت ایمن مدیریت کنید.
سرورهای معتبر می توانند در داخل، با یک ارائه دهنده خدمات یا با کمک یک ثبت کننده دامنه میزبانی شوند. اگر مهارت و تخصص لازم برای میزبانی داخلی را دارید، می توانید کنترل کامل را داشته باشید. اگر مهارت و مقیاس لازم را ندارید، بهتر است مدیریت این بخش را برون سپاری کنید.
6- برنامه های کاربردی وب و APIهای خود را برای آسیب پذیری ها و حملات DNS آزمایش کنید.
برنامه هایی که به منظور بررسی آسیب پذیری ارائه شده اند، به طور خودکار برنامه ها و APIهای شما را در مقابل انواع آسیب پذیری ها از جمله مسائل امنیتی DNS اسکن می کنند.
جمع بندی
DNS روشی برای تفسیر و ترجمه آدرس های IP به اعداد قابل درک برای سرور است. کلاهبرداران اینترنتی از نقاط حساس و آسیب پذیر این فرایند استفاده می کنند تا با ارسال ترافیک بالا، به سایت حمله کرده و عملکرد آن را مختل کنند. یا اینکه اطلاعات کاربران را با هدایت آنها به سایت های جعلی به سرقت ببرند.
در این مقاله مهم ترین انواع حملات DNS مانند حملات DNS hijacking و DNS Tunneling را معرفی کردیم. در ادامه با ارائه راهکارهایی برای کاهش نقاط آسیب پذیری سیستم تلاش کردیم تا به شما کمک کنیم که تهدید حملات DNS در شبکه خود را به حداقل برسانید.