استراق سمع (sniffing)

به دریافت پکت‌های شبکه در حال ارسال، استراق سمع و به برنامه‌ای که این کار را انجام می‌دهد sniffer گفته می‌شود. پروتکل‌هایی مانند Telnet، Relogin، FTP، NNTP، SMTP، HTTP و IMAP همگی از طریق این حمله آسیب‌پذیرند، چراکه در این پروتکل‌ها، ارسال اطلاعات به صورت متن ساده انجام می‌شود. استراق سمع هم می‌تواند به صورت قانونی باشد (مثلا برای نظارت بر ترافیک شبکه یا مسائل امنیتی) و هم به صورت غیرقانونی (برای سرقت اطلاعاتی مانند رمز عبور یا فایل‌های شبکه). برنامه‌های زیادی برای این کار تولید شده است و شما هم می‌توانید به صورت Command Line و هم به صورت واسط گرافیکی از آنها استفاده کنید. بسیاری از مهندسان شبکه، متخصصان امنیت و حتی هکرها از این ابزار برای استراق سمع استفاده می‌کنند و همچنین از این تکنیک برای هک‌کردن اخلاقی (Ethical Hacking) نيز استفاده می‌شود. در ادامه به بررسی جزئیات روش‌های استراق سمع می‌پردازیم.رايانه‌‌های یک شبکه فعال همیشه در حال ارسال و دریافت اطلاعات هستند. اگر رايانه‌‌ها به صورت LAN از یک شبکه اشتراکی استفاده کنند از طریق HUB به یکدیگر متصلند و اگر شبکه سوئیچی استفاده شود، باید از یک (یا چند) سوئیچ استفاده کنند؛ در هر حالت sniffer‌ها با روش‌های متفاوت عمل می‌کنند.در شبکه‌هایی که از HUB استفاده می‌شود، فریم‌ها و پکت‌ها را به همه دستگاه‌های موجود در شبکه می‌فرستد و به اصطلاح broadcast می‌کند؛ هر دستگاه با دریافت فریم، آدرس گیرنده را چک می‌کند و اگر با آدرس خود یکی بود آن را قبول می‌کند و اگر نباشد از دریافت آن صرف نظر می‌کند. در چنین شبکه‌ای، هکر فقط باید خود را به گونه‌ای به HUB متصل کند تا جزئی از شبکه شود و از آن به بعد خود به خود فریم‌ها را دریافت می‌کند، بنابراین می‌تواند فریم‌های قربانی را نیز پردازش کند. برای انجام این کار او به ابزار استراق سمع نیاز دارد تا بدون این‌که شناسایی شود، ترافیک قربانی را بخواند.شبکه‌هایی که از سوئیچ استفاده می‌کند، عملکرد متفاوتی دارد و در آنها از انتشار داده‌ها برای ارسال آنها استفاده نمی‌شود. در عوض، سوئیچ فریم‌ها را با توجه به آدرس گیرنده، آن را به مقصد می‌فرستد و بقیه دستگاه‌ها از این ترافیک کاملا بی‌خبرند. بنابراین یک هکر علاوه بر این‌که باید به سوئیچ متصل باشد، راه‌حلی پیدا کند که سوئیچ داده‌های را که باید به دستگاه قربانی بفرستد را از طریق هکر ارسال کند. راه حل متداولی که برای این حمله وجود دارد ARP poisoning نام دارد که از این طریق سوئیچ را فریب می‌دهند. همچنین راه‌هایی مانند DHCP spoofing، سرقت درگاه وDNS spoofing نیز ممکن هستند.در شبکه‌های محلی بی‌سیم، تعدادی دستگاه از طریق امواج رادئویی به یک access point متصل می‌شوند که معمولا با استفاده از سیم به یک HUB یا سوئیچ متصل است. یک شبکه بی‌سیم ممکن است بدون هیچ امکانات امنیتی و بازدارنده‌ای به هر دستگاه اجازه دهد به شبکه وارد شود یا ممکن است با استفاده از ابزار‌های امنیتی و رمزگذاری، فقط به تعدادی دستگاه خاص که رمز دارد، اجازه ورود به شبکه را بدهد.در چنین شبکه‌ای، هکر باید مانند یک شبکه سیمی‌ همان مراحل را طی کند، با این تفاوت که باید اول سعی کند وارد شبکه شود. اگر شبکه امن نباشد هکر فقط باید یک کارت شبکه بی‌سیم داشته باشد و در حوزه دید access point باشد تا بتواند براحتی وارد شبکه شود. اما اگر شبکه امن باشد و رمزگذاری شده باشد، هکر اول باید کلید را پیدا کند و بعد می‌تواند وارد شبکه شود که البته به دست آوردن کلید شبکه با توجه به الگوریتم رمزگذاری و طول و پیچیدگی کلید ممکن است کار ساده یا دشواری باشد. وقتی که هکر وارد شبکه بی‌سیم شد، به صورت نامحسوس مشغول دریافت پکت‌های شبکه می‌شود. اگر access point به یک متصل باشد بدون کار‌های اضافی می‌تواند پکت‌ها را دریافت کند. اما اگر access point به یک سوئیچ وصل شده باشد، باید از ARP poisoning و حملات مشابه استفاده کند تا حمله خود را کامل کند. در چنین شبکه‌ای تنظیمات access point اهمیت بسیاری دارد تا جلوی چنین حملاتی را بگیرد.

استراق سمع در اینترنت

بسته‌ها و پکت‌هایی که از طریق شبکه اینترنت به مقصد می‌رسد از روتر‌های زیادی عبور می‌کند. در چنین شبکه‌ای، هکر در یک شبکه محلی مانند مثال‌های قبل نیست و به قربانی دسترسی مستقیم ندارد. برای استراق سمع در چنین شرایطی هکر دو راه دارد. اولین راه این است که هکر از نقاط ضعف پروتکل مسیریابی BGP سوءاستفاده کند. وقتی یک کاربر می‌خواهد سایتی را ببیند، سرور DNS به رايانه کاربر آدرس IP مقصد را می‌دهد. این IP در جدول BGP ارائه‌كننده خدمات اینترنت شما بررسی می‌شود تا بهترین مسیر برای انتقال داده‌ها مشخص شود. با این حال BGP بر اساس اعتماد کار می‌کند و به همه ارائه‌كنندگان خدمات اینترنت یا شبکه اجازه می‌دهد برای هر مبدأ یک محدوده IP یا مسیر را پیشنهاد کنند. یک هکر می‌تواند با پیشنهاد یک مسیر برای یکی از گره‌های مسیر قربانی که داده‌ها را از طریق هکر عبور می‌دهد، مسیر انتقال داده‌ها را در دست بگیرد و استراق سمع را شروع کند. دوم این‌که مدیر شبکه یک سرویس‌دهنده اینترنت، به تمام روتر‌هایش دسترسی کامل دارد و محتوای داده‌هایی را که از آنها می‌گذرد می‌تواند بخواند؛ بنابراین مدیر این شبکه می‌تواند بدون اجازه فرستنده و گیرنده، محتوای پکت‌های رمزگذاری نشده را ببیند.

جلوگیری از استراق سمع

در هر شبکه، با توجه به تنوع آن، جلوگیری از استراق سمع، روش متفاوتی دارد. برای مثال شبکه‌هایی که از HUB استفاده می‌کنند، ذاتاً به این نوع حمله آسیب پذیرند. برای این‌که در چنین شبکه‌اي استراق سمع کرد باید کارت شبکه را در حالت promiscuous قرار داد. در این حالت دستگاه همه پکت‌ها را از خود عبور می‌دهد و می‌تواند آنها را بخواند و حتی پکت‌هایی را نيز که گیرنده آن نیست، دریافت کند. برای جلوگیری از این کار ابزار‌هایی مانند Anti Sniff است که در یک شبکه چنین دستگاه‌هایی را شناسایی می‌کند.برای شبکه‌هایی که از سوئیچ استفاده می‌کنند، باید اول نوع حمله مشخص شود تا راه مناسب آن ارائه شود. برای مثال اگر از روش ARP poisoning استفاده شود، در این روش هکر از ضعف پروتکل ARP استفاده می‌کند که با استفاده از ابزار‌های دفاعی در لایه شبکه و برنامه‌هایی مانند Xarp در رايانه‌‌ها می‌توان جلوی دستکاری جدول ARP از راه دور را گرفت.در شبکه‌های بی‌سیم، به علت این‌که شبکه در حوزه خود برای همه قابل دسترسی است، کمی‌آن را در معرض خطر قرار می‌دهد. برای جلوگیری از ورود افراد بیگانه به شبکه باید از روش‌های رمز گذاری قابل اعتماد مانند WPA استفاده کرد و از آنجا که رمز این پروتکل‌ها از لحاظ تئوری قابل شکستن است، باید از کلید‌های بزرگ (حداقل 128 بیت) و از کلمات عبور قوی استفاده کرد. بعلاوه باید شبکه را مانند یک شبکه سوئیچی که در قسمت قبل توضیح داده شد نیز نسبت به این حملات مقاوم کرد.



تاريخ : چهار شنبه 27 ارديبهشت 1391برچسب:, | | نویسنده : مقدم |
صفحه قبل 1 صفحه بعد