IDS: Intrusion Detection System

intrusion detection system concepts and techniques

IDS: Intrusion Detection System

intrusion detection system concepts and techniques

مفهوم Honeynet چیست ؟

مفهوم Honeynet چیست ؟

گروهی از متخصصین امنیت  مفهوم Honeypot را توسعه و گسترش داده و پروژه ای را ایجاد نمودند که به یادگیری تاکتیک‌ها ، ابزارها و انگیزه‌های هکرهای کلاه سیاه می‌پردازد و اطلاعاتی را که بدست آورده می شود را به اشتراک می گذارند.این پروژه به عنوان پروژه Honeynet نشاخته می‌شود ( Honeynet Project ) که می‌توان اطلاعات بیشتر در خصوص آن را در این صفحه http://honeynet.org یافت نمود.
در حالی که Honeypot می‌تواند یک ماشین یکتا باشد ، honeynet یک شبکه است ، جایی که داده ورودی و خروجی آنالیز و جمع آوری میشود. در این شبکه ، داخل این شبکه ، یک طیف گسترده از محصولات سیستمی استاندارد تعریف شده اند. این سیستم‌ها سرویس های واقعی را که به طور قابل ملاحظه ای به موقعیت های واقعی نزدیک هستند و در اغلب سازمانها امروز یافت می‌شوند را فراهم می نماید
و همین ویژگی باعث می‌شود که شناسایی Honeynet ها بسیار سخت از Honeypot ها باشد .طرحهای ها بیشتر نیز وجود در خصوص توسعه این ابزار وجود دارد مثل ترکیب honeynet ها با محصولات سیستمی زنده که این شناسایی آن‌ها را سخت‌تر می نماید.در واقع honeynet ها شبکه ای گسترده از honeypot ها می‌باشند
هدف نهایی این پروژه در دو زمینه می‌باشد
۱- افزایش آگاهی در خصوص تهدیدات و آسیب‌پذیری های اینترنت
۲- آموزش امنیت اطلاعات به متخصصین امنیتی در سطح بالا و کارآمد
سایتی که در بالا معرفی شد حاوی اطلاعات فراوان در خصوص مقالات معتبر در زمینه  پروژه ، داده‌های جمع آوری شده و تجزیه و تحلیل شده و سناریوهای مختلف نفوذ می باشد

Honeypot ها چه هستند و چگونه به امنیت سیستم‌های کامپیوتری کمک می‌کنند

Honeypot ها چه هستند و چگونه به امنیت سیستم‌های کامپیوتری کمک می‌کنند
Honeypots (ظرف عسل ) در‌واقع یک مجموعه تله هستند که وظیفه آن‌ها  اقدام برای شناسایی هرگونه تلاش غیر مجاز برای استفاده از سیستم‌های اطلاعاتی می‌باشد ، و البته با این دیدگاه که از حملاتی موجود برای بهبود بیشتر امنیت سیستم‌های کامپیوتری استفاده می‌کند و در‌ واقع از آن‌ها آموزش می بیند. به طور سنتی ، حفظ امنیت شبکه‌های کامپیوتری درگیری یک فعالیت دقیق و پیچیده است و ترافیک شبکه باید به صورت دقیق مورد بررسی قرار گیرد ، استفاده از تکنیک های دفاع مبتنی بر شبکه شبیه دیوار های آتش ، سیستم‌های تشخیص نفوذ و رمزنگاری از جمله ابزار های این مهم هستند.اما در موقعیت فعلی و خطرات امروز که متوجه سیستم‌های کامپیوتری است ، تکنیک های فعالانه تری برای شناسایی ، شسکت و خنثی نمودن  تلاش‌ها برای استفاده غیر قانونی سیستم‌های طلاعاتی مورد نیاز است . در میان سناریوهای موجود ، استفاده از Honeypots یک راه‌کار امید بخش و فعالانه برای نبرد در برابر تهدیدات امنیتی شبکه‌ها می باشد.

Honeypot چیست ؟
با توجه به مشکل کلاسیک و اساسی در خصوص امنیت کامپیوتر ها ، یک کامپیوتر نیاز دارد که امن باشد ، اما در حوزه Honeypot ها ، حفره های امنیتی به منظور اهدافی باز گذاشته می شوند. Honeypot را می‌توان به عنوان یک تله تعریف نمود که برای تشخیص هرگونه تلاش غیر مجاز به منظور استفاده از سیستم‌های اطلاعاتی به کار گرفته می شود..اساسا Honeypot میز های بین هکرها و متخصصین امنیت را روشن و واضح می نماید.هدف اصلی یک Honeypot تشخیص و یادگیری از حملات است و کسب اطلاعات بیشتر برای بهبود امنیت. Honeypot ها برا مدت طولانی است که برای به تله انداختن و پیگیری رد پای فعالیت هکرها و دفاع در مقابل تهدیدات پیش رو مورد استفاده  هستند. در کل دو نوع Honeypot وجود دارد :

*Honeypot تحقیقی (Research Honeypot  ):

یک Honeypot تحقیقی برای مطالعه و تحقیق در باره تاکتیک‌ها و تکنیهای مورد استفاده نفوذگران مورد استفاده قرار می گیرد.در واقع از آن‌ها به عنوان یک پست دیده بانی برای مشاهده اینکه چگونه یک حمله کننده سد های امنیتی یک سیستم را در همی می شکند.
*محصول و ابزار Honeypot ( Production Honeypot  ) :
این نوع از Honeypot ها اساساً برای تشخیص و محافظت از سازمانها مورد استفاده قرار می گیرند.هدف اصلی از یک محصول Honeypot  کمک به کاهش ریسک در یک سازمان می باشد.


چرا Honeypot

ارزش و کارآمدی یک Honeypot با استفاده از اطلاعاتی که می‌توان از آن بدست آورد ارزیابی می گردد.مانیتور نمودن اطلاعاتی که به یک honeyhpot وارد و از آن خارج می‌شود به کاربر اجازه می‌دهد تا اطلاعاتی را که در صورت استفاده ننمودن از Honeypot در دسترس نیستند را جمع آوری نماید. دو دلیل اصلی  برای استفاده از یک Honeypot وجود دارد
1- افزایش فهم و ادراک
فهم چگونگی عمل‌کرد هکرها و تلاشهای آن‌ها برای بدست آوردن دسترسی به سیستم‌های شما.ایده سراسری و کلی حفظ و نگاهداری مسیر ها و فعالیت‌های مجرمان است ، تا یک فهم  و ادراک بهتر برای شناسایی متدلوژی های آن‌ها بدست آید  و از این فهم و ادراک برای محافظت بهتر سیستم‌های و محصولات واقعی استفاده شود.
۲- جمع آوری اطلاعات
جمع آوری اطلاعات و مدارک قانونی برای کمک به دستگیری و یا تعقیب قانونی هکرها. این مجموعه از اطلاعات اغلب اوقات برای تعقیب قانونی مجرم با جزییات لازم مورد نیاز هستند.


چگونه Honeypot ها به امنیت سیستم‌های کامپیوتری کمک می‌کنند :

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


Honeypot های با تعامل بالا و تعامل کم

Honeypot های با تعامل بالا می‌توانند به طور کامل در هم شکسته شوند ، و به دشمن دسترسی کامل به سیستم را اعطا نمایند و از این روش برای بدست آوردن حملات بیشتر استفاده کنند.با کمک این Honeypot ها کاربران می‌توانند درباره حملاتی که سیستم‌های آن‌ها را به خطر می‌اندازد چیزهای بیشتر را یاد بگیرند ، حتی هکر های درون سازمانی.
در مقابل Honeypot های با تعامل پایین قرار دارند که تنها سرویس هایی را که نمی‌توانند برای دسترسی به Honeypot مورد استفاده قرار گیرند را در اختیار قرار می دهند.آنها محدودیت‌های بیشتری دارند اما برای جمع آوری اطلاعات در یک سطح بالاتر مفید هستند.


مزایای استفاده از Honeypot ها
جمع آوری داده‌های واقعی :
در حالی که Honeypot ها یک بخش کوچی از داده را جمع آوری می نمایند اما تقریباً همه این داده حملات واقعی یا فعالیت‌های غیر مجاز می‌باشد
کاهش False Positive
اعلب تکنولوژهای تشخیص ( IDS,IPS  ) تعدای زیادی هشدار های اشتباه و غیر واقعی دارند در حالی که این در مورد Honeypot صادقی نیست
مقرون به صرفه بودن
Honeypot با فعالیت‌های مخرب در تعامل است و نیاز به منابع با کارایی بالا ندارد
رمز نگاری :
با استفاده از Honeypot مهم نیست که هکر از رمز نگاری استفاده کند در هر صورت فعالیت‌های او ضبط خواهد شد
سادگی :
فهم ، توسعه و نگاهداری Honeypot ها بسیار ساده است

منبع

http://www.thewindowsclub.com/what-are-honeypots

اعتبار سنجی ضربدری k-fold (K-Fold Cross Validation )

اعتبار سنجی ضربدری (Cross Validation) یکی از مهمترین تکنیک هایی است که به طور گسترده توسط دانشمندان علم داده مورد استفاده قرار می گیرد.مسائله ای که در هنگام کار  با مدل های یادگیری ماشین (machine learning model ) وجود دارد این است که شما می نمی توانید کارایی مدل خود را تا زمانی که کارایی آن را بر روی یک مجموعه داده مستقل تست نکرده اید بدست آورید ( مجموعه داده ای که برای آموزش training مدل یادگیری ماشین مورد استفاده قرار نگرفته باشد).
اعتبار سنجی ضربدری برای کمک به تخمین کارایی مدل یادگیری ماشین می باشد و یکی از معروف ترین انواع اعتبار سنجی ضربدری اعتبار سنجی k-fold می باشد.
اعتبار سنجی ضربدری چیست ؟
اعتبار سنجی ضربدری یک تکنیک بسیار مفید برای ارزیابی کارایی مدل های یادگیری ماشین است.این روش کمک می کند متوجه شویم  به چه صورت  مدل یادگیری ماشین که ایجاد کرده ایم  به یک مجموعه داده مستقل تعمیم داده می شود.ممکن است شما از این تکنیک برای پیش بینی و تخمین زدن دقت و کارایی مدل خود در دنیای واقعی  استفاده کنید.زمانی که یک  مسائله یادگیری ماشین به ما داده می شود ، معمولا با دو مجموعه داده سر کار داریم که داده های شناخته شده (training data set  ) و داده های ناشناخته (test data set ) می باشند.با استفاده از ارزیابی ضربدری Cross Validation می توانیم مدل یادگیری ماشین خود  را در فاز آموزش (training ) برای چک نمودن کارایی و بدست آوردن یک ایده و نظر از چگونگی تعمیم مدل یادگیری ماشین خود به داده های مستقل تست نماییم ( testing ).در واقع ارزیابی و صحت مدل یادگیری ماشین خود را در همان مرحله آموزشی انجام می دهیم.
در اعتبار سنجی ضربدری ابتدا مجبور هستیم تا مجموعه داده آزمایشی اصلی را به دو بخش تقسیم کنیم :
  •     مجموعه آموزشی اعتبار سنجی ضربدری Cross validation training set
  •     مجموعه آزمایشی اعتبار سنجی ضربدری یا مجموعه اعتبار سنجی Cross validation testing set
در این روش مدل یادگیری ماشین ما در مجموعه آموزشی اعتبار سنجی ضربدری آموزشی می بیند و پیشبینی ها و کارایی مدل در  برابر مجموعه اعتبار سنجی validation set مورد ارزیابی قرار می گیرد. شما نسبت به اینکه دقت و کارایی پیش بینی های مدل یادگیری ماشینتان چقدر دقیق است آگاه می شوید. در واقع پیش بینی های مدل شما در مجموعه ارزیابی و برچسب های واقعی داده در مجموعه اعتبارسنجی validation set. مورد ارزیابی قرار می گیرد. برای کاهش واریانس ، چندین مرحله اعتبار سنجی ضربدری با استفاده  از مجموعه های آموزشی (training ) اعتبار سنجی ضربدری و مجموعه های آزمایشی ( testing ) اعتبار سنجی ضربدری انجام می گیرد.در نهایت نتیجه همه مراحل میانگینی برای تخمین صحت و کارایی مدل یادگیری ماشین ما خواهد بود

اعتبار سنجی ضربدری k-fold
اعتبار سنجی ضربدری k-fold یکی از عمومی ترین انواع اعتبار سنجی ضربدری می باشد که به طور گسترده ای در یادگیری ماشین مورد استفاده می باشد. اعتبار سنجی ضربدری k-fold با استفاده از گام های زیر انجام می شود.

۱- مجموعه داده اصلی را به k زیر مجموعه مساوی تقسیم می کنیم.هر زیر مجموعه یک fold نامیده می شود.اجازه بدهید که فولدها را به صورت f1,f2,….,fk نام گذاری نماییم.

    ۱-    For i=1 to i=k

    فولد fi  را به عنوان مجموعه اعتبارسنجی نگاه می داریم و همه k-1 فولد باقی مانده را  در مجموعه آموزشی اعتبار سنجی ضربدری Cross validating training set نگاه داری می کنیم.
    ۲- مدل یادگیری ماشین خود با استفاده از مجموعه آموزشی اعتبارسنجی ضربدری آموزش می دهیم و سپس دقت و کارایی مدل خود را با استفاده از  اعتبار سنجی نتایج پیشبینی در مقابل مجموعه اعتبار سنجی Validation sert محاسبه می نماییم
۲-حالا دفت و کارایی مدل یادگیری ماشین خود را با استفاده از بدست آوردن میانگین همه دقت هاو صحت های بدست آمده از همه موارد k از اعتبار سنجی ضربدری تخمین می زنیم
در متد اعتبار سنجی ضربدری k-fold ، همه ورودی ها در محموعه داده آموزشی برای هم آموزش و همچنین اعتبار سنجی validating به کار می رود ، هر ورودی تنها یک بار برای اعتبار سنجی مورد استفاده قرار می گیرد.
نکته اینکه معمولا برای k عدد ۱۰ در نظر گرفته می شود ، اما این یک قانون نیست و k می تواند هر عددی در نظر گرفته شود

منبع :