بخشی از مقاله
چکیده :
سیستم تشخیص تهاجم1 یک ابزار موثر برای جلوگیری از دستیابی های غیر مجاز به منابع شبکه می باشد. استراتژی های بسیار زیادی برای تشخیص تهاجم وجود دارد. بعضی از آنها از طریق نظارت بر فعالیت های کاربر و بعضی دیگر با بررسی لاگ های سیستم یا ترافیک شبکه برای بعضی از الگوهای ویژه عمل می کنند. سیستم تشخیص ناهنجاری2 به دنبال الگوهای غیر عادی و ناهنجار در میان داده ها می باشد. به این صورت که ابتدا به توصیف رفتارهای عادی سیسستم در حالت ایستا یا پویا می پردازد و سپس هر گونه رویدادی که خارج از رفتار تعریف شده باشد را تحت عنوان ناهنجاری مشخص می کند.
یک سیستم تشخیص تهاجم خوب باید دارای میزان تشخیص بالا و میزان خطای پایین باشد. این تحقیق یک روش جدید برای طراحی سیستم تشخیص ناهنجاری با استفاده از شبکه های عصبی پیشنهاد می دهد، به این صورت که آموزش شبکه های عصبی بکار رفته در آن به صورت دو مرحله ای و متوالی انجام می شود.
ما این مدل جدید را بر روی شبکه عصبی SOFM 3 آزمایش کردیم و کارایی آن را با مدل هایی که فرایند آموزش در آنها به صورت یک مرحله ای می باشد مقایسه کردیم. آزمایش ها و ارزیابی ها با استفاده از پایگاه داده KDD CUP 99 انجام شده و از تمامی رکوردهای شبکه برای آموزش و تست شبکه استفاده شده است. نتایج نشان می دهد که مدل پیشنهادی بهبود قابل توجهی از نظر میزان تشخیص و میزان خطای مثبت در مقایسه با سیستم ساده داشته به گونه ای که این سیستم همان سطح کارایی یا در مواردی بهتر در مقایسه با سیستم های مشابه دیگر دارد.
مقدمه
رشد سریع کامپیوترها روش های ذخیره سازی اطلاعات و داده ها را دگرگون ساخته است. با استفاده از این شیوه های جدید برای دستیابی به داده ها، امنیت اطلاعات بوسیله کاربران غیر مجاز در معرض خطر و آسیب جدی قرار می گیرد. از سوی دیگر کامپیوترها به یک مولفه اساسی در زندگی روزمره ما تبدیل شده اند؛ وب جهان گستر4 دنیا را به یک دهکده جهانی تبدیل کرده و روزانه میلیون ها تراکنش در اینترنت انجام می شود و حجم عظیمی از اطلاعات و داده ها بوسیله کاربران وب در سراسر جهان به اشتراک گذاشته شده است. اما مساله محافظت از این اطلاعات و داده ها بیش از پیش حایز اهمیت است چرا که اندازه شبکه های کامپیوتری به طور شگفت انگیزی روزانه در حال افزایش است.
هر جا سخن از اطلاعات شد،با حتماً به نوعی امنیت آن نیز مطرح است. به عبارت دیگر اهمیت امنیت اطلاعات همواره امری بدیهی بوده و به ویژه در مواردی که این اطلاعات جنبه های خاص سیاسی، اجتماعی و یا نظامی می یابند، این اهمیت صد چندان می شود. اما نکته دقیق تری که باید به آن توجه کرد این است که با بوجود آمدن شبکه های ارتباطی، مبحث امنیت وسیع تر و عمیق تر گردیده و دست یابی به آن به مراتب دشوارتر شده است.
کافی است توجه کنیم که انگیزه اصلی ایجاد شبکه ها، دسترسی ساده و سریعتر افراد به اطلاعات و انگیزه اصلی امنیت نیز محدود کردن افراد جهت دسترسی به اطلاعات است. این تعارض ذاتی میان این دو مقوله، علت دشوار بودن ایمن سازی شبکه های کامپیوتری را به خوبی نشان می دهد. بر این اساس در شبکه های کامپیوتری همواره می توان در مورد سطحی از امنیت ادعا کرد، اما هر لحظه ممکن است تهدید های جدیدی علیه شبکه ایجاد شود که قبلا در فرایند ایمن سازی مورد توجه قرار نگرفته است.
در دنیای امروز، کامپیوتر و شبکه های کامپیوتری متصل به اینترنت نقش عمده ای در ارتباطات و انتقال اطلاعات ایفا می کنند. در این بین افراد سودجو با دسترسی به اطلاعات مهم مراکز خاص یا اطلاعات افراد دیگر و با قصد اعمال نفوذ یا اعمال فشار و یا حتی به هم ریختن نظم سیستم ها، عمل تجاوز به سیستم های کامپیوتری را در پیش گرفته اند. Intruder ،Cracker و Hacker کلماتی هستند که امروزه کم و بیش در محافل کامپیوتری مطرح می باشند و اقدام به نفوذ به سیستمهای دیگر کرده و امنیت آن ها را به خطر می اندازد. بنابراین لزوم حفظ امنیت اطلاعاتی و حفظ کارآیی در شبکه های کامپیوتری که با دنیای خارج ارتباط دارند، کاملأ محسوس است.
از آنجا که از نظر تکنیکی ایجاد سیستم های کامپیوتری - سخت افزار و نرم افزار - بدون نقاط ضعف و شکست امنیتی عملأ غیرممکن است، تشخیص نفوذ در تحقیقات سیستمهای کامپیوتری با اهمیت خاصی دنبال می شود.
برای ایجاد امنیت کامل در یک سیستم کامپیوتری، علاوه بر دیواره های آتش و دیگر تجهیزات جلوگیری از نفوذ، سیستمهای دیگری به نام سیستم های تشخیص نفوذ - IDS - مورد نیاز می باشند تا بتوانند در صورتی که نفوذگر از دیواره ی آتش، آنتی ویروس و دیگرتجهیزات امنیتی عبور کرد و وارد سیستم شد، آن را تشخیص داده و چاره ای برای مقابله با آن بیاندیشند.
شناسایی ناهنجاری در شبکه های کامپیوتری به دلیل ضعف در پروتکلهای شبکه و اشتباهات غیر قابل اجتناب در برنامه های کاربردی و سیستمهای عامل، امروزه به عنوان یکی از مباحث اصلی در همایشهای امنیتی جوامع پیشرفته مطرح می باشد.در این راستا روشهای گوناگونی جهت مقابله با حملات در قالب سیستمهای تشخیص ناهنجاری پیاده سازی شده اند و در شبکه های کامپیوتری استفاده می شوند.به دلیل ماهیت غیر الگوریتمی روشهای نفوذ در شبکه های کامپیوتری، روشهای مطرح شده برای مقابله با ناهنجاری ها نیز باید دارای ماهیت غیر الگوریتمی باشد.بنابراین در این تحقیق ، سیستم تشخیص ناهنجاری را با استفاده از شبکه های عصبی طراحی می کنیم.
در حالت کلی دو نوع یادگیری وجود دارد:
یادگیری با ناظر : در حالت یادگیری با ناظر فرض بر این است که در هر مرحله تکرار الگوریتم یادگیری،جواب مطلوب سیستم یادگیرنده از قبل آماده است، و به عبارتی الگوریتم یادگیری به جواب واقعی و مطلوب دسترسی دارد.یعنی به خطای یادگیری که همان خطای بین مقدار مطلوب و مقدار واقعی می باشد، دسترسی خواهد داشت.
یادگیری بدون ناظر: در یادگیری بدون ناظر، جواب مطلوب برای سیستم یادگیرنده موجود نیست.به عبارتی به خطای یادگیری جهت بهبود رفتار سیستم یادگیرنده دسترسی نداریم.در این روش، ابتدا مدلی از شبکه های عصبی را طراحی می کنیم و سپس با استفاده از اتصالات حمله و غیر حمله، این مدل از شبکه های عصبی را آموزش می دهیم.
-1 پرسش اصلی تحقیق
پرسش اصلی تحقیق این است که آیا می توان با استفاده از قابلیت های شبکه های عصبی تهاجم را با خطای کمتر تشخیص داد؟
شناسایی نفوذ در شبکه های کامپیوتری وجلوگیری از آن امروزه به عنوان یکی از مباحث اصلی در همایش های امنیتی جوامع پیشرفته مطرح می باشد. در این راستا روشهای گوناگونی جهت مقابله با حملات در قالب سیستمهای تشخیص نفوذ پیاده سازی شده اند و در شبکه های کامپیوتری استفاده می شوند. طراحی یکروش جهت مقابله با نفوذ، عموماً درصورت کشف و شناخت سناریوی آن امکان پذیر است.
لیکن دسته ای از حملات وجود دارند که علیرغم دانستن سناریوی آن به دلایل مختلفی نظیر ضعف در پروتکل ارتباطی و نظایر آن، تاکنون روشهای قطعی جهت مقابله با حملات طراحی نشده است. انواع حملات جلوگیری از سرویس که با هدف غیر قابل دسترس نمودن سرویس دهنده ها صورت می گیرند نمونه ای از این دسته می باشد. اگر چه سناریوی تمامی حملات جلوگیری از سرویس شناخته شده است
-2 سیستم های تشخیص تهاجم
علیرغم به کارگیری مکانیزم های امنیتی، هنوز شاهد حملات جدیدی علیه شبکه های کامپیوتری هستیم. سیستم تشخیص تهاجم یک نمونه مکانیزم امنیتی است که برای تشخیص تهاجم و حملاتی که علیه سیستم های کامپیوتری روی می دهد بکار می رود. بر اساس معیارهای مختلفی چون معماری، منابع اطلاعاتی، نوع تجزیه و تحلیل و زمان بندی سیستم های تشخیص تهاجم را طبقه بندی می کنند.
تشخیص تهاجم
کلمه intrusionدر فرهنگ لغت وِبستر اینگونه معنا شده است: عمل بدون اجازه وارد شدن یا رایطی که در اثر ورود بدون اجازه ایجاد شده است. یک افزایش نامناسب و ناخواسته.
از نظر حقوقی: ورود یا تخصیص مشخصه ای به دیگری به صورت غیر قانونی. در حالیکه intrude به معنی به فعالیت پرداختن یا وارد شدن به طور غیر مقتضی به خصوص بدون اجازه و دعوت می باشد.
بر اساس تعاریف و معانی بالا تهاجم در محدوده اطلاعات می تواند به این صورت تعریف شود: زمانی که یک کاربر سعی در دستیابی به اطلاعاتی دارد که برای او غیر مجاز می باشد این شخص را مزاحم و این فرایند را تهاجم می نامند.
در حالیکه intrude به معنی به فعالیت پرداختن یا وارد شدن به طور غیر مقتضی به خصوص بدون اجازه و دعوت می باشد.
بر اساس تعاریف و معانی بالا تهاجم در محدوده اطلاعات می تواند به این صورت تعریف شود: زمانی که یک کاربر سعی در دستیابی به اطلاعاتی دارد که برای او غیر مجاز می باشد این شخص را مزاحم و این فرایند را تهاجم می نامند.
روش های بسیار زیادی به منظور تامین امنیت اطلاعات ایجاد شده است. این روش ها شامل دیوار های آتش، رمزنگاری داده ها و شبکه های خصوصی مجازی می باشد. تشخیص تهاجم روشی است که بعداً به این خانواده از از سیاست های محافظتی اضافه شده است.