فا

‫ حملات Man-in-the-Middle Attack (جعل DNS) – قسمت دوم

IRCAR201204138
تاريخ: 30/01/91
مقدمه
در بخش اول از اين سري، ارتباطات عادي ARP را بررسي كرديم و اين‌كه چگونه حافظه نهان ARP يك دستگاه مي‌تواند به منظور تغيير مسير ترافيك شبكه ماشين‌ها از طريق يك دستگاه ديگر با امكان قصد مخرب آلوده شود. اين حمله با نام آلودگي حافظه نهان ARP شناخته مي‌شود و به راحتي با استفاده از نرم افزار مناسب قابل اجرا است. در اين مقاله به نوع ديگري از حملات MITM با نام جعل DNS مي‌پردازيم.
جعل DNS
جعل DNS روشي است كه براي عرضه اطلاعات نادرست از DNS به ميزبان استفاده مي‌شود، در نتيجه زماني‌كه ميزبان‌ها تلاش مي‌كنند به عنوان مثال به سايت www.bankofamerica.com با آدرس IP، XXX.XX.XX.XX وصل شوند، آن‌ها در واقع به سمت سايت جعلي www.bankofamerica.com با آدرس IP، YYY.YY.YY.YY هدايت مي‌شوند. مهاجم به منظور سرقت اطلاعات كارت اعتباري بانكي آنلاين و اطلاعات حساب از كاربران قابل اعتماد اين آدرس جعلي را ايجاد كرده است. در واقع اين كار به راحتي انجام مي‌شود و در اين مقاله خواهيم ديد كه اين حمله چگونه كار مي‌كند و چگونه مي‌توان در برابر آن دفاع كرد.
ارتباطات عادي DNS
سيستم نامگذاري دامنه (DNS) پروتكلي است كه برخي معتقدند يكي از مهم‌ترين پروتكل‌هاي استفاده شده در اينترنت است. به طور خلاصه، زماني‌كه شما در نوار آدرس مرورگرتان آدرسي مانند http://www.google.com را تايپ مي‌كنيد، يك درخواست DNSاي ساخته شده و براي سرور DNS فرستاده مي‌شود تا آدرس IP متناظر با اين آدرس را بدست آورد زيرا روترها و دستگاه‌هايي كه به اينترنت وصل مي‌شوند آدرس google.com را درك نمي‌كنند. آن‌ها تنها آدرس‌هايي مانند 74.125.95.103 را درك مي‌كنند.
يك سرور DNS بوسيله ذخيره‌سازي ورودي‌ها (ركوردهاي منابع ناميده مي‌شود) در يك پايگاه داده كار مي‌كند. اين پايگاه داده حاوي نگاشت آدرس IP به نام DNS، ارتباط ركوردهاي منابع با كلاينت‌ها و ارتباط ركوردهاي منابع با سرورهاي DNS ديگر است. معماري سرورهاي DNS در سراسر شركت و اينترنت چيزي است كه مي‌تواند كمي پيچيده باشد. در حقيقت، كتاب‌هايي وجود دارد كه كل آن به معماري DNS اختصاص داده شده است. در اين‌جا به جنبه‌هاي معماري يا حتي به انواع مختلف ترافيك DNS نمي‌پردازيم ولي همان‌گونه كه در شكل 1 مي‌بينيد نگاهي به تراكنش اصلي DNS مي‌اندازيم.
شكل(1): يك پرسش و پاسخ DNS
عملكرد DNS در يك فرمت از نوع پرسش/پاسخ است. كلاينتي كه آدرس IP متناظر با يك نام DNSاي را مي‌خواهد، يك پرسش را به يك سرور DNS مي‌فرستد و آن سرور اطلاعات خواسته شده را در پاسخ آن مي‌فرستد. از ديدگاه كلاينت، تنها دو بسته پرسش و پاسخ ديده مي‌شود.
اين سناريو هنگامي‌كه ساختار بازگشتي DNS را بررسي كنيد‌ كمي پيچيده مي‌شود. با توجه به ماهيت سلسله مراتبي ساختار DNS در اينترنت، سرورهاي DNS نياز به توانايي برقراري ارتباط با يكديگر را دارند تا بتوانند به پرسش‌هاي ارسال شده توسط كلاينت‌ها پاسخ دهند. پس از اين مراحل، منصفانه است كه از سرور DNS داخلي انتظار داشته باشيم تا نگاشت اسم به آدرس IP را در شبكه داخلي محلي بداند اما از سرور DNS داخلي نمي‌توانيم انتظار داشته باشيم تا آدرس‌هاي IP متناظر با آدرس‌هاي google يا Dell را بداند. در اين‌ مرحله است كه قابليت بازگشتي DNS‌ها وارد عمل مي‌شود. عمليات بازگشتي سرورهاي DNS زماني اتفاق مي‌افتد كه يك سرور DNS به نمايندگي از يك كلاينت كه يك درخواست را ساخته است، از سرور DNS ديگري سوال مي‌پرسد. در نهايت همان‌گونه كه در شكل 2 مي‌بينيد، سرور DNS مستقر در شبكه داخلي است كه پاسخ را براي كلاينت خودش ارسال مي‌كند.
شكل(2): يك پرسش و پاسخ DNSاي بازگشتي
DNS جعلي
قطعا براي اجراي حملات جعل DNS بيش از يك روش وجود دارد. در اينجا به توضيح مختصري در خصوص يكي از اين روش‌ها با نام روش جعل DNS ID مي‌پردازيم. هر درخواست DNS كه به منظور بررسي اين درخواست و يافتن پاسخ آن بر روي شبكه‌ فرستاده مي‌شود، شامل يك شماره شناسايي توليد شده منحصر به فرد است. اين بدان معني است كه اگر كامپيوتر مهاجم بتواند يك درخواست DNS فرستاده شده از دستگاه هدف را سرقت كند، مي تواند با ساختن يك بسته جعلي شامل همان شماره شناسايي كه دستگاه هدف آن را بپذيرد، اين حمله را انجام دهد.
اين حمله در دو مرحله انجام مي‌شود. ابتدا بايد حمله آلودگي حافظه نهان ARP بر روي دستگاه مقصد انجام گيرد تا ترافيك‌هاي ميزبان قرباني شنود شود. در نتيجه مي‌توان درخواست DNS آن را سرقت كرد و بسته جعلي را براي قرباني فرستاد. هدف اصلي اين سناريو آن است كه ميزبان قرباني به جاي مشاهده وب سايت اصلي در خواست داده، وب سايت مخرب را مشاهده كند. تصوير اين حمله در شكل (3) نشان داده شده است.
شكل(3): حمله جعل DNS با استفاده از روش جعل DNS ID
دفاع در برابر جعل DNS
دفاع در برابر حملات جعل DNS دشوار است زيرا اين گونه حملات اغلب انفعالي هستند. به طور معمول شما هرگز از كلاهبرداري DNSتان باخبر نمي‌شويد تا زماني‌كه اين اتفاق بيافتد. چيزي كه دريافت مي‌كنيد صفحه‌ي وبي متفاوت با آن چيزي است كه شما انتظارش را داريد. در بسياري از حملات هدفمند اين امكان وجود دارد كه هرگز مطلع نشويد اطلاعات كارت اعتباري خود را در يك وب سايت جعلي وارد مي‌كنيد تا زماني‌كه در اين زمينه اطلاع رساني شود.
مي توان گفت كه هنوز هم راه‌هايي براي دفاع در برابر اين نوع حملات وجود دارد:
· ايمن‌سازي ماشين‌هاي داخلي: حملاتي از اين قبيل معمولا از درون شبكه اجرا مي‌شوند. اگر دستگاه‌هاي شبكه امن باشند در نتيجه براي راه‌اندازي يك حمله كلاهبرداري بوسيله سوء استفاده از ميزبان‌ها شانس كمتري وجود دارد.
· براي سيستم هاي امن به DNS اعتماد نكنيد: براي سيستم هايي كه از امنيت و حساسيت بالايي برخوردار هستند، استفاده نكردن از DNS بهترين كار است. اگر بر روي اين سيستم ها نرم افزاري داريد كه براي تابعي به نام ميزبان احتياج دارد، مي توانيد در دستگاه هاي فايل ميزبان به صورت دستي آن را مشخص نماييد.
· استفاده از شناسه‌ها: زماني‌كه يك سيستم تشخيص نفوذ به درستي راه اندازي شود و گسترش يابد، به طور معمول مي‌تواند بيشتر حالات آلودگي حافظه نهان ARP و جعل DNS را تشخيص دهد.
· استفاده از DNSSEC: DNSSEC يك جايگزين جديد براي DNS است كه از ركوردهايي كه امضاي ديجيتالي شده‌اند، استفاده مي‌كند تا از اعتبار يك پرسش و پاسخ مطمئن شود. DNSSECهنوز به طور گسترده استفاده نمي‌شود اما به عنوان آينده DNS پذيرفته شده است.
خلاصه:
جعل DNS زماني كه با يك سطح مهارت درست و يك قصد مخرب همراه شود، حالت بسيار كشنده از يك حمله MITM مي‌شود.بااستفاده از اين روشمي‌توانيم تكنيك‌هاي سرقت هويت را براي سرقت اطلاعات كارت‌هاي اعتباري و نصب بدافزار براي سوء استفاده از حملات drive-by يا حتي ايجاد يك موقعيت انكار سرويس DoS به كار ببريم. در مقاله بعدي از اين مجموعه مقالات نگاهي به حمله عبور از رشته hash مي‌اندازيم.
مطالب مرتبط:

نظرات

بدون نظر
شما برای نظر دادن باید وارد شوید

نوشته

 
تاریخ ایجاد: 18 مرداد 1393

دسته‌ها

امتیاز

امتیاز شما
تعداد امتیازها: 0