پیش از این در سه مقاله «Honeypot چیست؟»، «انواع Honeypot» و «كاربردهای Honeypot ها»، به معرفی اجمالی Honeypot ها و كاربردهای این سیستمها پرداختیم. در این مقاله مكانیزمهای مختلف جمع آوری اطلاعات در Honeypot ها را مورد بررسی قرار خواهیم داد.
جمع آوری اطلاعات در سیستمی كه صرفا به این منظور طراحی شده است كه مورد سوء استفاده مهاجمان و هكرها قرار گیرد، باید به صورتی باشد كه علاوه بر اینكه تحلیل جدی فعالیتها را ممكن میسازد، در عین حال مزاحم كار هكرها نیز نگردد. در شبكه هایی كه از Honeypot به منظور تشخیص و تحلیل حملات و تهدیدات استفاده میكنند، دادهها میتوانند در سه نقطه مختلف جمع آوری شوند كه هریك مزایا و معایب خود را داراست. بر این اساس، سه مكانیزم مختلف برای جمع آوری اطلاعات در Honeypot ها تعریف میشود:
1- مبتنی بر میزبان
داده هایی كه بر روی میزبانی كه مورد سوء استفاده قرار گرفته است جمع آوری میشوند، بیشترین پتانسیل را برای ثبت ارتباطات ورودی و خروجی، دستورات وارد شده بر روی میزبان از طریق خط دستور، و پردازه های در حال اجرا دارا هستند. متاسفانه این روش بیشترین خطر را نیز به همراه دارد. چرا كه فرد نفوذگر معمولا به دنبال لاگها و یا ابزارهای امنیتی میگردد و سعی میكند آنها را غیرفعال نماید تا بتواند حضور خود را پنهان كند. به این ترتیب، جمع آوری داده ها میتواند توسط فرد هكر متوقف شده و یا دستخوش تغییر گردد، به طوری كه نتایج به دست آمده را كاملا مغشوش نماید. به عنوان مثالهایی از ابزارهای مورد استفاده برای ثبت فعالیت بر روی یك Honeypot میتوان به موارد زیر اشاره كرد:
- لاگهای سیستمی سیستم عامل (كه نوعا اولین هدف یك نفوذگر است)
- سیستمهای تشخیص نفوذ با قابلیت جمع آوری بسته مانند Snort
- ابزارهای جمع آوری و تحلیل بسته ها مانند Ethernal
2- مبتنی بر شبكه
یك راه حل امنتر و در عین حال پیچیده تر برای جمع آوری داده ها این است كه Honeypot، داده ها را به صورت پنهانی جمع آوری كرده و برای تحلیل بیشتر برای یك سرور دیگر ارسال نماید. این راه حل به ما اجازه میدهد كه داده های جمع آوری شده توسط Honeypot را بر روی سیستم دیگری آرشیو كنیم. فرض بر این است كه این سرور در برابر حملات مهاجمان ایمن شده است، چرا كه ممكن است فرد نفوذگر متوجه جریان اطلاعات به بیرون از Honeypot شده و سعی كند مكانیزم جمع آوری و ارسال اطلاعات را متوقف نماید. با استفاده از ابزارهایی مانند Sebek، میتوانیم سرویس جمع آوری داده را بر روی Honeypot پنهان كنیم و داده ها را از طریق یك ارتباط UDP به یك سرور دیگر ارسال كرده و بر روی آن ذخیره نماییم. Sebek فعالیت فرد نفوذگر را ضبط كرده و به صورت پنهانی آن را به یك سرور در داخل شبكه یا یك سرور در هر جایی بر روی اینترنت ارسال میكند. این موضوع در شكل زیر نمایش داده شده است.
جمع آوری اطلاعات مبتنی بر شبكه با استفاده از Sebek
3- مبتنی بر مسیریاب/ دروازه (gateway)
آخرین روش معمول مورد استفاده برای جمع آوری داده ها در سطح gateway، مسیریاب یا فایروال شبكه است. از آنجاییكه یك gateway تمامی داده ها را بین میزبانهای یك شبكه و اینترنت منتقل میكند، این فرصت را برای ما ایجاد میكند كه از این طریق، تمامی ارتباطات و داده هایی را كه از اینترنت به Honeypot های ما منتقل میشوند، ثبت نماییم. این مساله دارای خطر بیشتری نسبت به راه حل Sebek است كه در قسمت قبل توضیح داده شد. چرا كه یك gateway معمولا در شبكه پنهان نیست و در نتیجه خود نیز به هدف حملات مهاجمان تبدیل میشود. به علاوه، این روش بیشتر وابسته به سخت افزار است، چرا كه شما به سروری احتیاج دارید كه در نقش یك gateway عمل كند. در عین حال، بسیاری از gateway هایی كه در مقیاس كوچك یا خانگی طراحی میشوند، قابلیتهای عمده ای برای ثبت اطلاعات ندارند و نمیتوانند در این نقش مورد استفاده قرار گیرند.
بدون تكنیكهای قوی جمع آوری داده، اعتبار اطلاعات جمع آوری شده از سیستمهای میزبان به شدت كاهش می یابد و از آنجاییكه یكی از اهداف اصلی این اطلاعات شناخت مهاجمان است، اعتبار این اطلاعات نیز از اهمیت بسیار زیادی برخوردار است.