IDS: Intrusion Detection System

intrusion detection system concepts and techniques

IDS: Intrusion Detection System

intrusion detection system concepts and techniques

مقدمه‌ای بر الگوریتم های ژنتیک

مقدمه‌ای بر الگوریتم های ژنتیک :
الگوریتم ژنتیک (Genetic Algorithm -GA) یک تکنیک بهینه سازی بر اساس جستجو می‌باشد که بر اصول ژنتیک و انتخاب طبیعی(Natural Selection) پایه گذاری شده است.این تکنیک به کرات برای یافتن راه حل بهینه یا نزدیک به بهینه مورد استفاده قرار می‌گیرد تا بدین وسیله مسائل مشکلی که ممکن است توسط روشهای دیگر در زمان طولانی حل شوند را در یک زمان مناسب و بهینه حل نماید.اغلب اوقات از این تکنیک در پژوهش ها و یادگیری ماشین برای حل مسائل بهینه سازی (optimization problems مسائلی که در آن بهترین راه حل از میان همه راه حل‌های ممکن یافت می شود)استفاده می‌شود
مقدمه ای بر بهینه سازی :

بهینه سازی پروسه‌ ساخت یک چیز بهتر است.در هر پروسه ، یک مجموعه از ورودی ها داریم و یک مجموعه از خروجی ها که در شکل زیر نشان داده شده‌اند



بهینه سازی به پیدا کردن مقادیری از ورودی ها اطلاق می‌شود به نحوی که بهترین مقادیر خروجی را بدست بیاوریم. تعریف بهترین از مسائله به مسائله دیگر متفاوت است اما در اصطلاح ریاضیات به حداکثر رساند یا به حداقل رساندن یک یا چند تابع هدف از طریق تغییر دادن پارامتر های ورودی اطلاق می‌شود.یک مجموعه از همه راه حل‌های ممکن یا مقادیر ورودی می‌تواند فضای جستجو را تکشیل دهد.در این فضای جستجو یک نقطه یا یک مجموعه از نقاط که راه حل بهینه را فراهم می‌کنند پنهان شده‌اند. وظیفه نهایی بهینه سازی پیدا کردن نقطه یا مجموعه‌ای از نقاط در فضای جستجو است.
الگوریتم های ژنتیک چه هستند ؟
طبیعت همیشه یک منبع بزرگ از الهام برای همه نسل بشر بوده است.الگوریتم های ژنتیک الگوریتم هایی بر اساس جستجو هستند که بر پایه مفهوم انتخاب طبیعی و ژنتیک پایه گذاری شده است.الگوریتم های ژنتیک زیر مجموعه‌ای از یک شاخه بسیار بزرگ‌تر از محاسبات که معروف به محاسبات تکاملی (Evolutionary Computation) است می‌باشند.الگوریتم های ژنتیک بوسیله John Holان وی در دانشگاه میشیگان توسعه داده شد و از این الگوریتم ها برای حل مسائل مختلف بهینه سازی با درجه بالایی از موفقیت استفاده شده است.
در الگوریتم های ژنتیک یک مخزن یا مجموعه از راه حل‌های ممکن برای مسائله داده شده داریم.این راه حل‌ها تحت عملیات های نوترکیبی (recombination) و جهش(mutation) شبیه آنچه در ژنتیک طبیعی رخ می‌دهد ، فرزندان جدیدی تولید می‌کنند.این پروسه در نسل های مختلف تکرار می‌شود.به هر فرد ( یا راه حل کاندید) یک مقدار متناسب اختصاص داده می شود( بر اساس مقدار تابع هدف آن) و افراد شاخص شانس بالاتری برای زاد و ولد و تولید افراد شاخص تر دارند. این در‌واقع تعریف تئوری داروین است که معتقد به بقای نسل اصلحتر می‌باشد.در این روش بهترین افراد یا راه حل‌ها در نسل های ایجاد شده استخراج می‌شوند.این کار تا رسیدن به یک معیار توقف ادامه می‌یابد.الگوریتم های ژنتیک به اندازه کافی در طبیعت تصادفی هستند، اما آن‌ها عمل‌کرد خیلی بهتری از جستجوی محلی تصادفی دارند( که در آن ما فقط راه حل‌های تصادفی مختلف را مورد برآورد قرار می‌دهیم).

مزایای الگوریتم های ژنتیک :
الگوریتم های ژنتیک دارای مزیت‌های متعددی هستند که آن‌ها را فوق‌العاده محبوب و مورد استفاده نموده است
  •     نیاز به هیچ اطلاعات فرعی ( مشتق شده) نیست .که ممکن است برای اغلب مسائل دنیای واقعی در دسترس نباشد.
  •     قابلیت‌های بسیار خوب برای موازی سازی دارد
  •     هر دو تابع های گسسته و پیوسته را بهینه سازی می نماید و همچنین مسائل چند هدفه را ( multi-objective)0
  •     لیستی از راه حل‌های خوب را بجای یک راه حل یکتا تهیه می‌کنند
  •     همیشه یک راه حل برای مسائل دارند در طول زمان بهتر می‌شود
  •     هنگامی که فضای جستجو بسیار بزرگ است و تعداد زیادی از پارامتر ها در مسائله درگیر هستند مفید هستند
محدودیت‌های الگوریتم های ژنتیک :
شبیه هر تکنیک دیگری الگوریتم های ژنتیک از یکسری محدودیت‌ها رنج می‌برند که شامل موارد زیر است :
  •     الگوریتم های ژنتیک برای همه مسائل مناسب نیستند مخصوصاً آن دسته از مسائلی که ساده هستند و اطلاعات مشتق شده (derivative information) برای آن‌ها موجود باشد
  •     مقدار متناسب ( مناسب) مکرراً محاسبه می‌شود که ممکن است برای بعضی از مسائل محاسباتی پر هزینه و گران باشد
  •     تصادفی بودن باعث می‌شود که هیچ تضمینی برای بهینه بودن یا کیفیت راه حل وجود نداشته باشد
  •     اگر درست اجرا نشود الگوریتم ژنتیک ممکن است که یک راه حل بهینه را بوجود نیاورد.
انگیزه برای استفاده از الگوریتم های ژنتیک :
الگوریتم های ژنتیک این توان را دارند که راه حل‌هایی به اندازه کافی سریع و به اندازه کافی خوب فراهم کنند.این ویژگی‌ها باعث می‌شود که الگوریتم های ژنتیک برای استفاده در حل مسائل مربوط به بهینه سازی جذاب باشند.دلایلی مورد نیاز بودن الگوریتم های ژنتیک به شرح ذیل می‌باشد :
حل مسائل مشکل
در علوم کامپیوتری ، مجموعه‌ای از مسائل موجود است که در دسته NP-Hard قرار می گیرند.و این بدان معناست که حتی قوی‌ترین سیستم‌های محاسبه ای برای حل این مسائل نیازی صرف زمان خیلی طلانی دارند ( حتی سالها).در چنین سناریوهایی یک ابزار ثابت شده و خوب برای فراهم نمودن یک راه حل نزدیک به بهینه در یک مدت زمان کوتاه است.
شکست روش‌های مبتنی بر گرادیان.
روش‌های محاسبه قدیمی با شروع در یک نقطه تصادفی و حرکت در یک جهت از گرادیان تا رسید به بالاترین مکان کار می کنند.این تکنیک برای توابع هدفی که تنها یک نقطه اوج دارند مثل تابع هزینه در رگرسیون خطی.اما در اغلط موقعیت های دنیای واقعی با مسائل خیلی پیچیده‌ای سر و کار داریم که به landscapes (منظره ها) معروف هستند ، که از تعدادی زیادی قله و دره ساخته شده اند.که باعث می‌شوند متد های قدیمی که شرح داده شده در مواجه با آن موفق نباشند. این متدها از گرایش ذاتی به گیر افتادن در نقطه قله مطلوب محلی رنج می برند.این مطلب در شکل زیر نمایش داده شده است :


بدست آوردن راه حل خوب با سرعت مناسب
برخی از مسائل مشکل مثل مسائله فروشنده دوره‌گرد (Travelling Salesperson Problem -TSP) دارای کاربرد در دنیای واقعی هستند.مثل پیدا کردن مسیر و طراحی VLSI .حالا فرض کنید که شما از سیستم ناوبری GPS استفاده می‌کنید و برای محاسبه مسیر بهینه از مبداء به مقصد چند دقیقه ( یا حتی چند ساعت) صرف می‌کنید . تأخیر در اینگونه برنامه‌های کاربردی در دنیای واقعی پذیرفتی نیست پس ش یک راه حل به اندازه کافی خوب راه حلی است که به اندازه کافی هم سریع باشد

طبقه بندی سیستم های تشخیص نفوذ

طبقه بندی سیستم‌های تشخیص نفوذ:
سیستم‌های تشخیص نفوذ ممکن است که بر اساس ویژگی‌های مختلفی که دارند در طبقه های متفاونت قرار گیرند.ویژگی های که در ذیل می‌آیند به نظر می‌رسد دارای اهمیت بیشتری هستند
متد تشخیص : این ویژگی فلسفه‌ای را که یک A-Box را می‌سازد تعریف می کند.
دو شیوه مطرح است.هنگامی که سیستم تشخیص نفوذ تشیخص داد که چیزی در محیط نرمال است و حالا چیزی و یا حمله ای باعث شده است که این حالت نرمال به هم  بخورد در این صورت بر پایه نابهنجاری(anomaly-based) می باشد. اما در حالتی که سیستم تشخیص نفوذ صریحاً چیزهایی را که غیر نرمال هستند را با استفاده دانش و آگاهی درباره حمله ها تعریف می‌کند و از آن‌ها برای تشخیص آن‌ها استفاده می‌کند ٫ در این هنگام این سیستم تشخیص نفوذ بر پایه سوء‌استفاده ( misuse-based ) نامیده می شود.

رفتار در هنگام تشخیص .

این پارامتر ویژگی جعبه R-Box را مشخص می کند.

اگر سیستم فقط یک هشدار را هنگامی که یک حمله تشیخص داده شد صادر کند به آن غیر فعال یا انفعالی ( passive) گفته می‌شود و اگر عملیاتهای فعالانه تری اتخاذ کند ( برای مثال قطع نمودن کاربران ٫ خاموش نمودن اتصالات شبکه ) گفته می شوشد که سیستم فعال (Active ) است.

محل منبع بازر سی .

این ویژگی مشخص می‌کند که E-Box از کجا داده بازرسی را دریافت کند.که سه نوع قابل تشخیص است.

سیستم های تشخیص نفوذ بر پایه هاست host-based که بر داده‌های بازرسی تولید شده در یک هاست یکتا متمرکز است.سیستم های تخیص نفوذ بر پایه برنامه Application-based که بر روی رکوردهای بازرسی تولید شده بوسیله یک برنامه خاص متمرکز است و در نهایت سیستم‌های تشخیص نفوذ بر پایه شبکه Network-based  که ترافیک شبکه را مورد نظارت قرار می دهند.
تناوب استفاده :
این ویژگی بین سیستم‌هایی که داده‌ها را در یک زمان واقعی آنالیز می‌کنند و آن‌ها یی که به صورت دوره ای اجرا می‌شود ( آفلاین) تمایز قایل می شود.در واقع این ویژگی معین می‌کند که چند وقت یک بار یک جعبه A-Box داده جمع آوری شده بوسیله بخش‌های دیگر سیستم را مورد آنالیز قرار دهد٫

معماری سیستم های تشخیص نفوذ

 معماری سیستم‌های تشخیص نفوذ Architecture
تعداد زیادی سیستم‌های تشخیص نفوذ که بر پایه فریم ورک های مفهومی مختلف بنا نهاده شده‌اند وجود دارد.اما هنوز هم ممکن است که یک معماری مشترک را که زمینه همه سیستم‌های تشخیص نفوذ وجود دارد را تشخیص بدهیم.در این قسمت اجزاء اصلی سیستم‌های تشخیص نفوذ و عمل‌کرد هر کدام را توضیح می دهم.برای این منظور ما از اصلطلاحات معرفی شود توسط گروه کاری در خصوص فریمت مشترک تشخیص نفوذ (Common Intrusion Detection Framework (CIDF) [Porras et al., 1998].) http://gost.isi.edu/cidf/استفاده می کنم.CIDF یک سیستم تشخیص نفوذ را به عنوان یک مجموعه با چهار جزء با نقش‌های خاص مدل می نماید.
جعبه های رویداد (Event Boxes -E-boxes) :
نقش جعبه های رویداد تولید رویدادها توسط پردازش داده‌های بازرسی خامی (Raw Audit Data)است که در محیط محاسباتی تولید شده اند.یک مثال عمومی از E-boxes برنامه‌ای است که داده‌های بازرسی تولید شده بوسیله یک سیستم عامل ارزیابی شده در سطح C2 از [U.S.Department of Defense, 1985]TCSE را فیلتر می نماید .مثال دیگر یک اسنیفر شبکه است که رویدادی هایی را بر اساس ترافیک شبکه ایجاد می کند.
جعبه های تجزیه تحلیل و آنالیز (Analysis boxes -A-boxes) :
وظیفه جعبه آنالیز ، تجزیه تحلیل رویداد های آماده شده بوسیله دیگر بخش هاست .نتیجه و خروجی آنالیز به عنوان رویداد های اضافه تر به سیستم بازگردانده می‌شوند ، که معمولاً به صورت آلارم نمایش داده می شوند.به طور معمول A-boxes رویداد های ساده تأمین شده توسط E-boxes را آنالیز می نماید .برخی از E-boxes ها رویداد های تولید شده توسط دیگر A-boxes ها را آنالیز می‌کنند و در یک سطح بالاتری از انتزاع(abstraction) عمل می‌کنند
جعبه های پایگاه داده :Database boxes (D-boxes)
جعبه های پایگاه داده رویدادها را ذخیره نموده و ماندگاری آن‌ها را تضمین می‌کنند و همچنین اجازه آنالیز های بعدی را با استفاده از این داده‌های ذخیره شده فراهم می نمایند
جعبه های پاسخ :Response boxes (R-boxes).
جعبه های پاسخ پیغام هایی را که دستوراتی را درباره عمل مناسب که به عنوان واکنش در مقابل نفوذ تشخیص داده شده باید انجام شود را مورد استفاده قرار می دهند.یک فعالیت معمول می‌تواند شامل از بین بردن پردازش ، و تغییر در تنظیمات دیوار آتش باشد
شکل که در ادامه خواهد آمد نشان دهنده یک سیستم تشخیص نفوذ است که در آن دو جعبه رویداد محیط را نظارت نموده و رویدادی های بازرسی (audit events) را به دو عدد جعبه آنالیز تحویل می دهد.این جعبه های آنالیز ،داده بازرسی شده را را آنالیز نموده ، و نتیجه این آنالیز را به یک جعبه آنالیز سومی که هشدارها را مرتبط می‌سازد ، آن‌ها را در D-box دخیره نموده و R-box را کنترل می نماید ارائه می کنند.خط های نقطه چین نشان دهنده انتقال رویدادهاست و خط‌های پیوسه نشان دهنده انتقال داده های بازرسی خام است.
مدل CIDF نحوه پیاده‌سازی این قسمت‌ها را مشخص نمی‌کند و تنها نقش آن‌ها در این معماری معین می نماید. هر کدام از این قسمت‌ها می‌تواند به عنوان یک پروسه تنها در یک کامپیوتر یا به عنوان مجموعه‌ای از پردازش های همزمان که در چندین کامپیوتر پخش شده‌اند در نظر گرفته شوند

یک محیط نظارت شده-معماری یک سیستم تشخیص نفوذ بر اساس استاندارد تعریف شده توسط CIDF