عناوین این مطلب

اسنیفر (Sniffer) چیست؟

اسنیفر (Sniffer) چیست؟

Sniffer چیست؟

اسنیفر برنامه یا ابزاری است برای استراق سمع کردن ترافیک شبکه آن هم بوسیله گرفتن اطلاعاتی که روی شبکه در حال تبادل هستند که در این روش از تکنولوژی جلوگیری اطلاعاتی استفاده میشود . مکانیزم انجام این کار این است که اترنت بر مبنای اشتراک گذاری ساخته شده است و بیشتر شبکه ها از تکنولوؤی broadCast استفاده میکنند که یک پیام به یک کامپیوتر میتواند توسط کامپیوتر های دیگر هم خوانده شود . به صورت معمولی کلیه کامپیوتر ها بجز کامپیوتری که مقصد پیام هست پیام را نادیده میگیرند . اما میشود کاری کرد که کامپیوتر پیامی را هم که به اون مربوط نیست را بخوانند . این کار هم همان اسنیف کردن اطلاعات است . بسیاری از افرادی که توسط سوئیچ به شبکه وصل هستند از شر اسنیف در امان هستند . اما همین کامپیوتر ها نسبت به اسنیف کردن هم نقطه ضعف خواهند داشت در صورتی که سوئیچ به یک هاب وصل شده باشد .
کامپیوتری که به یک LAN وصل باشد، دو تا آدرس دارد یکی آدرس مک که برای هر سخت افزار که آدرس مک دارد یکی است و دو تا کارت را پیدا نمی کنید که ادرس مک اون با یکی دیگه یکی باشد . از این آدرس مک برای ساختن قاب های اطلاعاتی برای ارسال اطلاعات به و یا از ماشین ها استفاده میشود . اما اون یکی آدرس IP نام دارد. لایه شبکه وظیفه نگاشت کردن آدرس آی پی را به آدرس مک به عهده دارد که برای پروتکل ارتباط دیتا مورد نیاز می باشد. برای ارسال اطلاعات به یک کامپیوتر سیستم اول توی جدول ARP به دنبال آدرس مک سیستم مقابل میگردد اگر هیچ مدخلی برای این آی پی که دارد پیدا نکند یه دونه پاکت درخواست برای همه برودکست میکند و از همه می خواهد تا اگر آدرس آی پی اونها همین هست که می خواهد آدرس مک خودشو اعلام کند . اینجوری اگر سیستم توی شبکه آدرس آی پی پاکت را با خودش یکی ببیند ادرس مکش را میذاره توی یه پاکت و برای سیستم درخواست کننده میفرستد . حالا سیستم آدرس فیزیکی اون یکی سیستم را دارد و این آدرس را به جدول ARP خودش اضافه میکند . از این به بعد کامپیوتر مبدا برای ارتباط با سیستم مقصد از این آدرس فیزیکی استفاده میکند .
به طور کلی دو نوع از تجهیزات اترنت وجود دارد و اسنیفر ها به طرق مختلف روی این دو نوع کار میکنند.

Shared Ethernet

در محیط های اینچنینی همه میزبان ها به یک باس وصل میشوند و برای رفتن پهنای باند با هم رقابت میکنند . توی همچین وضعیتی یه پاکت را همه کامپیوتر ها دریافت میکنند . بدین ترتیب وقتی که کامپ یک بخواهد با کامپ دو صحبت کند اون هم توی یه همچین محیطی اونوقت پاکتش را روی شبکه میذارد اون هم با ادرس مک سیستم مقصدش به همراه آدرس مک خودش . کلیه کامپیوتر ها روی یه اترنت اشتراکی (مثلا کامپ های ۳ و ۴ )ادرس مک پاکت مقصد را با ادرس خودشون مقایشه میکنند و اگر این دوتا با هم مچ نشدن این پاکت را دور میندازند.
اون کامپیوتری که داره عمل اسنیف کردن را انجام میدهد این قاعده و قانون را میشکند و همه پاکت ها را میگیرد .
و به کل ترافیک شبکه گوش میدهد .
در این وضعیت عمل اسنیف بسیار فعالانه انجام میشود و بسیار سخت می شود اون رو تشخیص داد .

Swithched Ethernet

توی این شبکه کامپیوتر ها به عوض وصل شدن به هاب به یه سوئیچ وصل میشوند که بهش اتنت سئویچ میگویند. سوئیچ جدولی را مدیریت میکند که توش رد ادرس مک کارت هایی را که بهش وصل میشوند را دارند . توی این جدول آدرس پورت فیزیکی را که روی سوئیچ هست و به اون کارت با آدرس مک وصله را هم نگه میدارد و پاکت های مقصد را روی ان پورت فیزیکی میذارند و به مقصدش تحویل میدهند . در واقع موقعی که یه پاکت می خواهد ارسال بشود یه مسیر فیزیکی مستقیم و بدون واسطه بین اون و مقصدش برقرار میشوند . در واقع سوئیچ ماشین هوشمندی هست که میدونه با این پاکت هایی که بهش وارد میشوند چه کار کند . واسه همین هم سرعت سوئیچ از هاب بیشتره و گرونتر هم هست . و همه پاکت ها را برود کست نمیکنه . این باعت میشه تا پهنای باند هدر نرود و مصرف پهنای باند بهینه شود و امنیت بالاتر برود . حالا اگر کامپیتوری را توی این شبکه بذارن توی حالت اسنیفر واسه انکه پاکت ها را جمع کنند این کار عملی نمیشود . به همین دلیل هم هست که مدیران شبکه ها برای امنیت بیشتر این شبکه بندی را ترجیح میدهند

ARP Spoofing-1

جدول ARP برای گرفتن ادرس فیزیکی مک مورد استفاده قرار میگیرد . این جدول بی بنیه هست و خودتون هم میتوانید خیلی راحت چند تا مدخل توش درست کنید . شما میتوانید یه جواب ARP بفرستید حتی اگه کسی از شما نخواسته باشد که آدرستون را بهش اعلام کنید . در این حالت جواب شما توسط سیستم مقصد قبول میشود . حالا اگه بخواهید ترافیک شبکه را اسنیف کنید اون هم از کامپ یک میتوانید عمل آرپ اسپوف را روی گیت وی شبکه انجام بدهید . حالا جدول آرپ سیستم ۱ مسموم شده است . بدین ترتیب کل ترافیک شبکه از سیستم شما رد میشود . حقه دیگه ای که میتوان استفاده کرد تا جدول ارپ میزبان ها را مسموم کند اینکه که بیایین و ادرس مک گیت وی را بذارید FF:FF:FF:FF:FF:FF که به عنوان آدرس برود کست هم شناخته میشود . فوق العاده ترین ابزاری که واسه این مورد میشود پیدا کرد ARPspoof که با DsnifSuite هستند.

MAC Flooding-2

سوئیچ ها جدول مترجمی را نگه میدارند که نگاشت ادرس های مک را به پورت های فیزیکی را روی سوئیچ به عهده دارد .به این ترتیب سوئیچ به صورت هوشمند میتواند پاکت ها را به مقصد بفرستد . اما سوئیچ برای این کار دارای حافظه محدودی هست . فلود کردن مک از این نقطه ضعف استفاده میکند و اونقدر سوئیچ را بمب باران میکند (با ادرس های الکی) تا موقعی که سوئیچ نتونه اطلاعات را نگه دارد . و این موقع است که میرود توی حالت failOpen Mode و توی این حالت مثل یه هاب عمل میکند و واسه اینکه بتواند اطلاعات ا ارسال کند اونها را برود کست میکند .حالا دیگه میشود راحت عمل اسنیف را انجام داد . این کار را میتوانید با استفاده از نرم افزار MacOf که ابزاری ایت که با نرم افزار dsniff suite هماه است انجام بدهید.
یه اسنیفر معمولا همیشه توی حالت فعال کار میکنند . این اسنیفر فقط اطلاعات را جمع میکنند . به طور عمده تشخیص اسنیفر ها روی شبکه اترنت کار خیلی سختیه مخصوصا اگه روی شبکه اشتراکی باشد . اما وقتی که اسنیفر دارد روی یه شبکه سوئیچ کار میکند کار کمی آسانتر میشود . وقتی که یه اسنیفر فعال میشود مقداری ترافیک را تولید میکند . اینجا چند روش برای تشخیص اسنیف کردن اطلاعات وجود دارد.
یکی از قدیمی ترین روش های سرقت اطلاعات در یک شبکه ، استفاده از فرآیندی موسوم به packet sniffing است . در این روش مهاجمان از تکنیک هائی به منظور تکثیر بسته های اطلاعاتی که در طول شبکه حرکت می کنند ، استفاده نموده و در ادامه با آنالیز آنان از وجود اطلاعات حساس در یک شبکه آگاهی می یابند .
امروزه پروتکل هائی نظیر IPSec به منظور پیشگیری از packet sniffing طراحی شده است که با استفاده از آن بسته های اطلاعاتی رمزنگاری می گردند .
در حال حاضر تعداد بسیار زیادی از شبکه ها از تکنولوژی IPSec استفاده نمی نمایند و یا صرفا” بخش اندکی از داده های مربوطه را رمزنگاری می نمایند و همین امر باعث شده است که packet sniffing همچنان یکی از روش های متداول به منظور سرقت اطلاعات باشد.یک packet sniffer که در برخی موارد از آن به عنوان network monitor و یا network analyzer نیز یاد می شود ، می تواند توسط مدیران شبکه به منظور مشاهده و اشکال زدائی ترافیک موجود بر روی شبکه استفاده گردد تا به کمک آن بسته های اطلاعاتی خطاگونه و گلوگاه های حساس شبکه شناسائی و زمینه لازم به منظور انتقال موثر داده ها فراهم گردد .
به عبارت ساده تر ، یک packet sniffer تمامی بسته های اطلاعاتی که از طریق یک اینترفیش مشخص شده در شبکه ارسال می گردند را حمع آْوری تا امکان بررسی و آنالیز آنان فراهم گردد . عموما” از برنامه های packet sniffer به منظور جمع آوری بسته های اطلاعاتی به مقصد یک دستگاه خاص استفاده می گردد. برنامه های فوق قادر به جمع آوری تمامی بسته های اطلاعاتی قابل حرکت در شبکه صرفنظر از مقصد مربوطه نیز می باشند .

packet sniffing

یک مهاجم با استقرار یک packet sniffer در شبکه ، قادر به جمع آوری و آنالیز تمامی ترافیک شبکه خواهد بود . اطلاعات مربوط به نام و رمز عبور عموما” به صورت متن معمولی و رمز نشده ارسال می گردد و این بدان معنی است که با آنالیز بسته های اطلاعاتی ، امکان مشاهده اینگونه اطلاعات حساس وجود خواهد داشت . یک packet sniffer صرفا” قادر به جمع آوری اطلاعات مربوط به بسته های اطلاعاتی درون یک subnet مشخص شده است . بنابراین یک مهاجم نمی تواند یک packet sniffer را در شبکه خود نصب نماید و از آن طریق به شبکه شما دستیابی و اقدام به جمع آوری نام و رمز عبور به منظور سوء استفاده از سایر ماشین های موجود در شبکه نماید . مهاجمان به منظور نیل به اهداف مخرب خود می بایست یک packet sniffer را بر روی یک کامپیوتر موجود در شبکه اجراء نمایند .

نحوه کار packet sniffing

نحوه کار packet sniffing به روشی برمی گردد که شبکه های اترنت بر اساس آن کار می کنند. در یک شبکه اترنت ، هر زمان که کامپیوتری یک بسته اطلاعاتی را ارسال می نماید ، بسته اطلاعاتی به عنوان یک broadcast ارسال می گردد . این بدان معنی است که هر کامپیوتر موجود در شبکه بسته های اطلاعاتی ارسالی را مشاهده نموده و بجزء کامپیوتر مقصد سایر دستگاه های موجود از بسته اطلاعاتی صرفنظر خواهند کرد . packet sniffing با کپی یک نسخه از بسته های اطلاعاتی ارسالی در شبکه، فعالیت خود را سازماندهی می نماید.

آیا روش هائی به منظور تشخیص وجود یک packet sniffer در شبکه وجود دارد؟

تشخیص وجود یک packet sniffer بر روی شبکه کار آسانی نخواهد بود . برنامه های فوق به صورت passive در شبکه عمل نموده و به سادگی اقدام به جمع آوری بسته های اطلاعاتی می نمایند .خوشبختانه ، امروزه با استفاده از روش هائی می توان وجود احتمالی یک packet sniffer را در شبکه تشخیص داد.

روش های تشخیص packet sniffing در شبکه

همانگونه که اشاره گردید تشخیص این موضوع که یک فرد در یک بازه زمانی محدود و همزمان با حرکت بسته های اطلاعاتی در شبکه از یک packet sniffer استفاده می نماید کار مشکلی خواهد بود . با بررسی و آنالیز برخی داده ها می توان تا اندازه ای این موضوع را تشخیص داد:
استفاده از امکانات ارائه شده توسط برخی نرم افزارها : در صورتی که مهاجمان دارای منابع محدودی باشند ممکن است از برنامه کاربردی Network Monitor برای packet sniffing استفاده نمایند. یک نسخه محدود از Network Monitor به همراه ویندوز NT و ۲۰۰۰ و یک نسخه کامل از آن به همراه SMS Server ارائه شده است . برنامه فوق ، گزینه ای مناسب برای مهاجمانی است که می خواهند در کوتاه ترین زمان به اهداف خود دست یابند چراکه استفاده از آن در مقایسه با سایر نرم افزارهای مشابه راحت تر است . خوشبختانه می توان بسادگی از اجرای این برنامه توسط سایر کاربران در یک شبکه ، آگاهی یافت . بدین منظور کافی است از طریق منوی Tools گزینه Identify Network Monitor Users را انتخاب نمود .

بررسی سرویس دهنده DNS :

در صورتی که مهاجمان از یکی از صدها نرم افزار ارائه شده برای packet sniffing استفاده نمایند ، امکان تشخیص سریع آن همانند برنامه Network Monitor وجود نخواهد داشت . توجه داشته باشید که یک روش صدرصد تضمینی به منظور تشخیص وجود یک برنامه packet sniffing در شبکه وجود ندارد ولی با مشاهده نشانه هائی خاص می توان احتمال وجود packet sniffing در شبکه را تشخیص داد . شاید بهترین نشانه وجود یک packet sniffing در شبکه به بانک اطلاعاتی سرویس دهنده DNS برگردد . سرویس دهنده DNS وظیفه جستجو در بانک اطلاعاتی به منظور یافتن نام host و برگرداندن آدرس IP مربوطه را بر عهده دارد .
در صورتی که مهاجمی یک packet sniffing را اجراء نماید که اسامی host را نمایش می دهد ( اکثر آنان چنین کاری را انجام می دهند ) ، ماشینی که فرآیند packet sniffing را انجام می دهد یک حجم بالا از درخواست های DNS را اجراء می نماید . در مرحله اول سعی نمائید ماشینی را که تعداد زیادی درخواست های DNS lookups را انجام می دهد ، بررسی نمائید . با این که وجود حجم بالائی از درخواست های DNS lookup به تنهائی نشاندهنده packet sniffing نمی باشد ولی می تواند به عنوان نشانه ای مناسب در این زمینه مطرح گردد . در صورتی که به یک ماشین خاص در شبکه مشکوک شده اید ، سعی نمائید یک ماشین طعمه را پیکربندی و آماده نمائید . ماشین فوق یک کامپیوتر شخصی است که کاربران از وجود آن آگاهی ندارد .
پس از اتصال این نوع کامپیوترها به شبکه ، یک حجم بالا ی ترافیک بر روی شبکه را ایجاد نموده و به موازات انجام این کار درخواست های DNS را بررسی نمائید تا مشخص گردد که آیا ماشین مشکوک یک درخواست DNS را بر روی ماشین طعمه انجام می دهد . در صورتی که اینچنین است می توان با اطمینان گفت که ماشین مشکوک همان ماشین packet sniffing است .

اندازه گیری زمان پاسخ ماشین های مشکوک:

یکی دیگر از روش های متداول برای شناسائی افرادی که از packet sniffing استفاده می نمایند ، اندازه گیری زمان پاسخ ماشین مشکوک است . روش فوق مستلزم دقت زیاد و تا اندازه ای غیرمطمئن است . بدین منظور از دستور Ping ماشین مشکوک به منظور اندازه گیری مدت زمان پاسخ استفاده می شود . بخاطر داشته باشید فردی که عملیات packet sniffing را انجام می دهد تمامی بسته های اطلاعاتی را کپی نخواهد کرد ، چراکه حجم اطلاعات افزایش خواهد یافت . آنان با تعریف یک فیلتر مناسب، صرفا” بسته های اطلاعاتی مورد علاقه خود را تکثیر می نمایند (نظیر آنانی که برای تائید کاربران استفاده می گردد ) . بنابراین از تعدادی از همکاران خود بخواهید که چندین مرتبه عملیات log in و log out را انجام داده و در این همین وضعیت مدت زمان پاسخ کامپیوتر مشکوک را محاسبه نمائید . در صورتی که مدت زمان پاسخ زیاد تغییر نکند ، آن ماشین احتمالا” عملیات packet sniffing را انجام نمی دهد ولی در صورتی که زمان پاسخ کند گردد ، این احتمال وجود خواهد داشت که ماشین مشکوک شناسائی شده باشد.

استفاده از ابزارهای مختص AntiSniff :

شرکت های متعددی اقدام به طراحی و پیاده سازی نرم افزارهائی به منظور ردیابی و شناسائی packet sniffing نموده اند . برنامه های فوق از روش های اشاره شده و سایر روش های موجود به منظور شناسائی packet sniffing در یک شبکه استفاده می نمایند.

میتونید این مطلب رو با دوستانتون به اشتراک بگذارید
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

سایر مطالب مرتبط