X
تبلیغات
رایتل

IDS: Intrusion Detection System

استفاده از الگوریتم های ژنتیک برای تشخص نفوذ در شبکه

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

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

مقدمه :
در سال‌های اخیر سیستم‌های تشخیص نفوذ (IDS) به یکی از داغترین زمینه‌های تحقیقاتی در بحث امنیت کامپیوتر تبدیل شده اند. این شیوه یک تکنوإوژ‌ی مهم تشخیص است و یک راه مقابله برای حفظ جامعیت داده‌ها و در در دسترسی بودن سیستم در خلال یک عملیات نفوذ می باشد.
هنگامی که یک نفوذ کرد تلاش می‌کند به یک سیستم اطلاعاتی را هم بشکند و یا یک عمل غیر قانونی را که مجاز نیست انجام بدهد ،  این فعالیت به عنوان یک نفوذ در نظر گرفته می شود.نفوذگرا را می‌توان در دو گروه قرار داد داخلی و خارجی که اشاره به آن‌هایی دارد که دسترسی مجاز(تصویب شده) به سیستم دارند و آن‌هایی که با استفاده از یکسری تکنیک های نفوذ به سیستم حمله می کنند.
تشخیص نفوذ می‌تواند با استفاده از اشکالات نرم‌افزار ، تنظیمات نادرست ، در هم شکستن رمز عبور ، مانیتور نمودن ترافیک شبکه ای غیر ایمن شده و یا بهره برداری از عیب های طراحی پروتوکل ی معین انجام شود
یک سیستم تشخیص نفوذ سیستمی است برای تشخیص نفوذ و گزارش آن‌ها با دقت کامل به فرد مناسب.
سیستم‌های تشخیص نفوذ معمولاً به سیستم‌های اطلاق می‌شوند که به عنوان ابزاری مهم در همه امور مربوط به خط مشی امنیتی یک سازمان عمل می‌کنند و عمل‌کرد سازمان را بوسیله تعریف قوانین مربوطه برای فراهم آوردن امنیت ، مدیریت نفوذ و بازیابی آسیب های ایجاد شده بوسیله نواقص امنیتی را منعکس می نماید.
دو شاخه اصلی از تکنیک های مربوط به تشخص نفوذ وجود دارند که مورد تأیید عمومی می باشد.
تشخص سو استفاده (misuse) و تشخیص ناهنجاری (anomaly) .تشخیص سوء‌استفاده به تکنیک های اطلاق می‌شود که متد های شناخته شده برای نفوذ به یک سیستم را مشخص می کند. این نفوذ ها به عنوان الگو(pattern) یا امضا(signature) مشخص می‌شوند که سیستم تشخیص نفوذ به دنبال آن است.امضا/الگو ممکن است که یک رشته ایستا باشند (static string) یا دنباله ای از عملیات هاست و پاسخ سیستم بر اساس نفوذ تشخیص داده شده می باشد.تشخیص ناهنجاری به تکنیک هایی اطلاق می‌شود که رفتار های قابل قبول و نرمال یک سیستم را تعریف و مشخص می‌کنند ( برای مثال میزان مصرف پردازنده ، زمان اجرا ، فراخوانی های سیستم) و رفتار هایی که از رفتار های نرمال و مورد انتظار سیستم خارج می‌شوند به عنوان نفوذ مورد بررسی قرار می گیرند.
 سیستم‌های تشخیص نفوذ را می‌توان با توجه به مکانی که برای جستجوی رفتار های نفوذی قرار می‌گیرند را به دو گروه تقسیم نمود. سیستم‌های تشخیص نفوذ بر پایه شبکه (NIDS) و سیستم‌های تشخیص نفوذ بر پایه هاست (HIDS) .سیستم های تشخیص نفوذ بر پایه شبکه به سیستم‌های اطلاق می‌شوند که نفوذ را بوسیله نظارت بر ترافیک ورودی و خروجی دستگاههای شبکه انجام می دهند(برای مثال کارت رابط شبکه NIC) .سیستم های تشخیص نفوذ بر پایه هاست فایل‌ها و پردازش های  فعال یک محیط نرم افزاری که مربوط به یک میزبان خاص می‌باشد را مورد نظارت قرار می دهند.برخی از سیستم‌های تشخیص نفوذ بر پایه هاست علاوه بر عمل‌کرد نرم افزاری به ترافیک شبکه برای تشخیص حملات به میزبان خود نیز توجه دارند . البته تکنیک های در حال ظهور و تکامل دیگری نیز وجود دارند.برای مثال سیستم‌های تشخیص نفوذی که به Blocking IDS معروف هستند که سیستم‌های تشخیص نفوذ بر پایه هاست را با توانایی ویرایش قوانین دیوار آتش ترکیب می کنند. نمونه دیگر که HoneyPot نامیده می‌شود که به عنوان یک طعمه هدف برای شخص مزاحم در نظر گرفته می‌شود و مشخصاً برای تلگه گذاری برای مزاحم طراحی شده‌اند و با استفاده از آن‌ها می‌توان محل مزاحم را تشخیص و به حملات او پاسخ داد.
سیستم‌های تشخیص نفوذ هوشمند (IIDS) نیز از پروژه های در حال انجام در مرکز تحقیقات کامپیوتری (Center for Computer SecurityResearch (CCSR)) در دانشگاه ایالتی می سی سی پی است.که در آن شیوه‌های مختلف برای مسائله سیستم تشخیص نفوذ با یکدیگر ترکیب می‌شوند و شامل تکنیک های مختلف هوش مصنوعی برای کمک به تشخیص رفتار نفوذگرانه .در این روش از تکنیک های تشخیص ناهنجاری و تشخیص سوء‌استفاده و هم از سیستم‌های تشخیص نفوذ بر پایه شبکه و بر پایه هاست استفاده می شود.بعضی از نرم‌افزار های تشخیص نفوذ متن باز که شامل همه این امکانات نیز هستند برای استفاده به عنوان سنسور های امنیتی مجتمع شده اند.مثل Bro و Snort .تکنیک هایی که در ادامه خواهیم دید قسمتی از تحقیقات در خصوص سیستم‌های تشخیص نفوذ هوشمند می باشد.
الگوریتم های ژنتیک به روش‌های مختلفی در سیستم‌های تشخیص نفوذ مورد استفاده قرار می گیرند.بر پایه تحقیقی که در دانشگاته تگزاس انجام گرفته است(Sinclair, Pierce, and Matzner 1999) از تکنیک های مختلف یادگیری ماشین مثال  finite state machine ،درخت تصمیم گیری و الگوریتم ژنتیک برای تولید قوانین هوشمند برای سیستم‌های تشخیص نفوذ استفاده می کند.یک اتصال شبکه و رفتار های وابسته به آن می‌توانند به نحوی ترجمه شوند تا قوانینی را به نمایش بگذارند که  بتوان با استفاده از آن‌ها در خصوص اینکه آیا این اتصال در لحظه ( بهنگام) real-time به عنوان یک نفوذ در نظر گرفته شود قضاونت نمود.قوانین می‌توانند به عنوان کروموزم های داخل جمعیت مدل شوند.این جمعیت تاز زمانی که معیاری های ارزیابی بر آورده شوند تکامل(evolves) می یابند.مجموعه قوانین تولید شده به عنوان دانش درونی یک سیستم تشخیص نفوذ برای قضاونت در مورد اینکه آیا اتصال شبکه و رفتار های مربوط به آن بصورت بالقوه نفوذگرانه هستند یا خیر.
آزمایشگاه COAST در دانشگاه Purdue(Crosbie and Spafford, 1995) سیستم تشخیص نفوذی را ایجاد نمودند که از عامل های مستقل (autonomous agents) -سنسورهای امنیتی- و اعمال هوش مصنوعی برای تکامل الگوریتم های ژنتیک استفاده نموده است.عامل ها به عنوان کروموزوم ها مدل شده‌اند و یک ارزیابی داخلی نیز درون هر عامل مورداستفاده قرار گرفته است.(Crosbie and Spafford, 1995).
در روش‌های که در بالا شرح داده شد ، سیستم تشخص نفوذ را می‌توان به عنوان سیستم بر پایه قانون (RBS) تصور نمود و الگوریتم ژنتیک به عنوان یک ابزار برای کمک به تولید دانش برای این سیستم بر پایه قانون در نظر گرفته می شود.این شیوه دارای معایبی است .به منظور تشخیص رفتار های نفوذگرانه برای یک شبکه محلی ، اتصال شبکه باید برای تعریف و مشخص نمودن رفتار های نرمال و عادی و غیر طبیعی مورد استفاده قرار گیرد.گاهی اوقات یک مله می‌تواند  اسکن ساده  پورت های در دسترس یک سرور باشد یا یک طرح برای حدس زدن رمز عبور.اما به صورت معمول این حملات بسیار پیچیده‌تر هستند و بعضا نیز بوسیله ابزار های اتوماتیک که در اینترنت هم به صورت مجانی در دسترس هستند تولید می شوند.
یک مثال می‌تواند اسبهای تروا و یا backdoor ها باشند که می‌توانند برای مدت طولانی اجرا شوند ، یا از مکانهای مختلفی آغاز شوند.برای تشخیص چنین نفوذ هایی هم  اطلاعات زمانی و مکانی ترافیک شبکه باید در مجموعه قانون موجود باشد.کاربردهای فلعی الگوریتم ژنتیک این موضوع را پشتیبانی نمی کنند(temporal and spatial information. ). در ادامه نشان می‌دهیم چگونه اطلاعات اتصال شبکه می‌تواند به عنوان کروموزوم ها مدل شوند و چگونه می‌توان  پارامتر های درون الگوریتم ژنتیک در این رابطه تعریف نمود.مثال هایی برای نشان دادن این موضوع آورده خواهد شد.
برای مشاهده کامل این مقاله می توانید از لینک زیر استفاده کنید:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.3125&rep=rep1&type=pdf