تشخيص Packet Sniffing در يک شبکه
همه روزه شاهد ابداع فن آوری های جديدی در عرصه دنيای گسترده امنيت اطلاعات می باشيم. ابداع هر فن آوری جديد از يک طرف کارشناسان امنيت اطلاعات را اميدوار به برپاسازی و نگهداری يک شبکه ايمن می نمايد و از طرف ديگر مهاجمان را اميدوار به تدارک حملاتی که شانس موفقيت بيشتری را داشته باشند. چراکه آنان نيز از آخرين فن آوری های موجود در اين عرصه به خوبی استفاده خواهند کرد . شايد به همين دليل باشد که بسياری از کارشناسان فن آوری اطلاعات و ارتباطات بر اين عقيده هستند ، ماداميکه دانش مهاجمان بيش از کارشناسان امنيت اطلاعات است امکان مقابله منطقی ، ساختيافته و به موقع با بسياری از حملات وجود نخواهد داشت .( چگونه می توان با چيزی مقابله نمود که نسبت به آن شناخت مناسبی وجود ندارد؟ ) . اين يک واقعيت تلخ در دنيای امنيت اطلاعات است که بسياری از پتانسيل هائی که به منظور تسهيل در امر استفاده کامپيوتر و يا افزايش کارآئی سيستم ايجاد و يا به عنوان محصولات و ابزارهائی در جهت حفاظت و ايمن سازی شبکه های کامپيوتری عرضه می گردند ، توسط مهاجمان و به منظور برنامه ريزی حملات در شبکه های کامپيوتری نيز مورد استفاده قرار خواهند گرفت . اين موضوع در رابطه با packet sniffing نيز صدق می کند .
يک packet sniffer که در برخی موارد از آن به عنوان network monitor و يا network analyzer نيز ياد می شود ، می تواند توسط مديران شبکه به منظور مشاهده و اشکال زدائی ترافيک موجود بر روی شبکه استفاده گردد تا به کمک آن بسته های اطلاعاتی خطاگونه و گلوگاه های حساس شبکه شناسائی و زمينه لازم به منظور انتقال موثر داده ها فراهم گردد . به عبارت ساده تر ، يک packet sniffer تمامی بسته های اطلاعاتی که از طريق يک اينترفيش مشخص شده در شبکه ارسال می گردند را حمع آْوری تا امکان بررسی و آناليز آنان فراهم گردد . عموما" از برنامه های packet sniffer به منظور جمع آوری بسته های اطلاعاتی به مقصد يک دستگاه خاص استفاده می گردد. برنامه های فوق قادر به جمع آوری تمامی بسته های اطلاعاتی قابل حرکت در شبکه صرفنظر از مقصد مربوطه نيز می باشند .
يک مهاجم با استقرار يک packet sniffer در شبکه ، قادر به جمع آوری و آناليز تمامی ترافيک شبکه خواهد بود . اطلاعات مربوط به نام و رمز عبور عموما" به صورت متن معمولی و رمز نشده ارسال می گردد و اين بدان معنی است که با آناليز بسته های اطلاعاتی ، امکان مشاهده اينگونه اطلاعات حساس وجود خواهد داشت . يک packet sniffer صرفا" قادر به جمع آوری اطلاعات مربوط به بسته های اطلاعاتی درون يک subnet مشخص شده است . بنابراين يک مهاجم نمی تواند يک packet sniffer را در شبکه خود نصب نمايد و از آن طريق به شبکه شما دستيابی و اقدام به جمع آوری نام و رمز عبور به منظور سوء استفاده از ساير ماشين های موجود در شبکه نمايد . مهاجمان به منظور نيل به اهداف مخرب خود می بايست يک packet sniffer را بر روی يک کامپيوتر موجود در شبکه اجراء نمايند .
آيا روش هائی به منظور تشخيص وجود يک packet sniffer در شبکه وجود دارد ؟
تشخيص وجود يک packet sniffer بر روی شبکه کار آسانی نخواهد بود . برنامه های فوق به صورت passive در شبکه عمل نموده و به سادگی اقدام به جمع آوری بسته های اطلاعاتی می نمايند .خوشبختانه ، امروزه با استفاده از روش هائی می توان وجود احتمالی يک packet sniffer را در شبکه تشخيص داد .
• استفاده از امکانات ارائه شده توسط برخی نرم افزارها : در صورتی که مهاجمان دارای منابع محدودی باشند ممکن است از برنامه کاربردی Network Monitor برای packet sniffing استفاده نمايند . يک نسخه محدود از Network Monitor به همراه ويندوز NT و 2000 و يک نسخه کامل از آن به همراه 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 در يک شبکه استفاده می نمايند .
packet sniffing چيست ؟
يک packet sniffer که در برخی موارد از آن به عنوان network monitor و يا network analyzer نيز ياد می شود ، می تواند توسط مديران شبکه به منظور مشاهده و اشکال زدائی ترافيک موجود بر روی شبکه استفاده گردد تا به کمک آن بسته های اطلاعاتی خطاگونه و گلوگاه های حساس شبکه شناسائی و زمينه لازم به منظور انتقال موثر داده ها فراهم گردد . به عبارت ساده تر ، يک packet sniffer تمامی بسته های اطلاعاتی که از طريق يک اينترفيش مشخص شده در شبکه ارسال می گردند را حمع آْوری تا امکان بررسی و آناليز آنان فراهم گردد . عموما" از برنامه های packet sniffer به منظور جمع آوری بسته های اطلاعاتی به مقصد يک دستگاه خاص استفاده می گردد. برنامه های فوق قادر به جمع آوری تمامی بسته های اطلاعاتی قابل حرکت در شبکه صرفنظر از مقصد مربوطه نيز می باشند .
يک مهاجم با استقرار يک packet sniffer در شبکه ، قادر به جمع آوری و آناليز تمامی ترافيک شبکه خواهد بود . اطلاعات مربوط به نام و رمز عبور عموما" به صورت متن معمولی و رمز نشده ارسال می گردد و اين بدان معنی است که با آناليز بسته های اطلاعاتی ، امکان مشاهده اينگونه اطلاعات حساس وجود خواهد داشت . يک packet sniffer صرفا" قادر به جمع آوری اطلاعات مربوط به بسته های اطلاعاتی درون يک subnet مشخص شده است . بنابراين يک مهاجم نمی تواند يک packet sniffer را در شبکه خود نصب نمايد و از آن طريق به شبکه شما دستيابی و اقدام به جمع آوری نام و رمز عبور به منظور سوء استفاده از ساير ماشين های موجود در شبکه نمايد . مهاجمان به منظور نيل به اهداف مخرب خود می بايست يک packet sniffer را بر روی يک کامپيوتر موجود در شبکه اجراء نمايند .
نحوه کار packet sniffing
آيا روش هائی به منظور تشخيص وجود يک packet sniffer در شبکه وجود دارد ؟
تشخيص وجود يک packet sniffer بر روی شبکه کار آسانی نخواهد بود . برنامه های فوق به صورت passive در شبکه عمل نموده و به سادگی اقدام به جمع آوری بسته های اطلاعاتی می نمايند .خوشبختانه ، امروزه با استفاده از روش هائی می توان وجود احتمالی يک packet sniffer را در شبکه تشخيص داد .
روش های تشخيص packet sniffing در شبکه
• استفاده از امکانات ارائه شده توسط برخی نرم افزارها : در صورتی که مهاجمان دارای منابع محدودی باشند ممکن است از برنامه کاربردی Network Monitor برای packet sniffing استفاده نمايند . يک نسخه محدود از Network Monitor به همراه ويندوز NT و 2000 و يک نسخه کامل از آن به همراه 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 در يک شبکه استفاده می نمايند .