بخشی از مقاله
چکیده
یکی از ابزارهای مهم در تامین امنیت شبکههای کامپیوتری ، سیستمهای تشخیص نفوذ میباشد . در سالهای اخیر تشخیص نفوذ توجه بسیاری از محققان را برای غلبه بر ضعفهای موجود در روشهای مبتنی بر امضا در تشخیص حملههای نوین به خود معطوف کرده است. روشهای سنتی دستهبندی، هزینه دستهبندی اشتباه در همه کلاسها را یکسان فرض کرده و با استفاده از اطلاعات دادههای آموزشی سعی در کاهش نرخ خطای دستهبندی را دارد.
در حالی که در بسیاری ازکاربردهای واقعی مانند تشخیص نفوذ این فرض اشتباه است و هزینه دستهبندی غلط برای الگوهای مختلف تفاوت زیادی دارد.الگوریتم نزدیکترین همسایه یک الگوریتم ساده و کارا در دستهبندی نمونهها می باشد که در بسیاری از کاربردها موفق بوده است. در این مقاله یک الگوریتم یادگیری نوین برای بهبود کارایی الگوریتم نزدیکترین همسایه در مسائل تشخیص نفوذ مبتنی بر هزینه، پیشنهاد شده است. الگوریتم پیشنهادی، سعی در کاهش هزینه بر بروی داده های آموزشی دارد. نتایج به دست آمده نشان دهنده عملکرد مطلوب این روشها میباشد.
.1 مقدمه
سیستمهای تشخیص نفوذ در حال حاضر جزء اصلی ترین قسمتهای یک سیستم پایش یا مانیتورینگ شبکه میباشند. سیستمهای تشخیص نفوذ فناوریهای تقریبا جدیدی هستند و این نوید را به ما میدهند که به ما در جهت شناسایی نفوذهایی که به شبکه انجام میشود کمک خواهند کرد . تشخیص نفوذ در واقع فرآیندی است که در آن رویدادها و رخدادهای یک سیستم یا شبکه پایش شده و بر اساس این پایشها وقوع نفوذ به آن شبکه یا سیستم تشخیص داده میشود. یک نفوذ در واقع فعالیت یا عملی است که توسط آن محرمانگی، صحت و تمامیت و یا دسترسی پذیری به منابع دچار اختلال و یا تعرض میشود.
یکی از ابزارهای مهم در تامین امنیت شبکههای کامپیوتری ، سیستمهای تشخیص نفوذ1 میباشد. تشخیص نفوذ در امنیت اطلاعات عبارت است از تشخیص فعالیتهایی که باعث به خطر افتادن محرمانگی، یکپارچگی یا موجود بودن یک منبع میشوند. به طور کلی تشخیص نفوذ جلوگیری از آن را دربر نمیگیرد.
هدف سیستمهای تشخیص نفوذ شناسایی ترافیک مخرب است. برای انجام اینکار سیستمهای تشخیص نفوذ تمام ترافیک ورودی و خروجی را تحت نظر قرار میدهد. هدف از دستهبندی در یادگیری ماشین بررسی کردن هر نمونهی یک مجموعهی داده و قرار دادن آن در یک دستهی خاص است. یک IDS مبتنی بر دستهبندی سعی میکند که ترافیک را به دو دستهی عادی و مخرب تقسیم نماید.
در اینجا چالش حداقل کردن تعداد تشخیصهای اشتباه - دستهبندی ترافیک عادی به عنوان مخرب - و عدم تشخیص اشتباه - دستهبندی ترافیک مخرب به عنوان عادی - است. روشهای تشخیص نفوذ میتوانند بر اساس مدل کارایی و نمایش، معیار ترجیح و الگوریتمها از یکدیگر متمایز باشند.[1] در پیادهسازی سیستمهای تشخیص نفوذ چند روش گوناگون وجود دارد. از میان آنها دو روش محبوبتر از بقیه هستند.
روش اول تشخیص ناهنجاری2می باشد . این روش مبتنی بر تشخیص ناهنجاری در ترافیک است. انحراف ترافیک از یک وضعیت عادی اندازهگیری میشود. بر اساس معیارهای اندازهگیری مختلف برای انحراف ترافیک، روشهای مختلفی پیادهسازی شدهاند. مزیت این روش کارایی آن در مقایسهی موارد نامتعارف با سیستم، تطبیق پذیری بالا و توانایی تشخیص حملاتی است که تاکنون موارد مشابه آن رخ ندادهاند، میباشد. اما متاسفانه تفسیر و توضیح تمام رفتارهای کاربر را نمیتوان در پایگاههای داده ذخیره نمود و رفتارهای کاربر نیز به طور مستمر در حال تغییر میباشد، بنابراین این روش از کارایی چندانی برخوردار نیست.
دومین روش تشخیص سوء استفاده/ امضا3 است. این روش به دنبال الگوها و امضاهایی شناخته شده از حملههای قبلی است. در این روش از پایگاه دادهای که به طور مداوم بهروز رسانی میشود استفاده میگردد. نحوهی تشخیص نفود در این روش مشابه نحوهی عملکرد آنتی ویروسهاست و بطور معمول از یک الگوریتم دستهبندی جهت تشخیص مهاجم استفاده میشود. این روش، سرعت تشخیص نفوذ را افزایش داده و میزان هشدار را کاهش میدهد. اگر چه در تشخیص حملاتی که در پایگاههای داده موجود نیستند با مشکل مواجه است. روشهای سوء استفاده/ امضا تشخیص نفوذ را با تطبیق یک نمونه با الگوهای نرمال و ناهنجار انجام میدهند و جز مسائل دستهبندی محسوب میشوند.
با توجه به اینکه هزینه های دسته بندی اشتباه از یک دسته به دسته دیگر متفاوت می باشد مسئله تشخیص نفوذ جزء مسائل حساس به هزینه به حساب میآیند. در اینجا دستهبندی غلط یک مهاجم به عنوان کاربر عادی باعث دسترسی وی به اطلاعات غیر مجاز شده و میتواند خسارت زیادی بهبار آورد، در صورتیکه اگر یک کاربر عادی به غلط به عنوان مهاجم تشخیص داده شود و مانع از ورود او به سیستم شود، تنها باعث عدم رضایت کاربر از سیستم میشود.
هدف ما در این مقاله طراحی یک سیستم دستهبندی مبتنی بر الگوریتم نزدیکترین همسایه جهت تشخیص نفوذ به عنوان یک مساله حساس به هزینه میباشدکه میانگین هزینه برای دستهبندی یک مجموعه آزمایشی کمینه شود ، حتی اگر این کار به قیمت افزایش تعداد دستهبندیهای اشتباه درمورد دستههای کمهزینهتر تمام شود.
هدف یک سیستم تشخیص نفوذ جلوگیری از حمله نیست و تنها کشف و احتمالأ شناسایی حملات و تشخیص اشکالات امنیتی در سیستم یا شبکههای کامپیوتری و اعلام آن به مدیر سیستم است. عمومأ سیستمهای تشخیص نفوذ در کنار دیوارههای آتش و به صورت مکمل امنیتی برای آنها مورد استفاده قرار میگیرند .
نسخههای متعددی از الگوریتم نزدیکترین همسایه ارائه شده که به یادگیری معیار فاصله می پردازند. در [6] روشی ارائه شده که از فاصله تطبیق یافته محلی استفاده میکند. در این روش، ابتدا با استفاده از فاصله اقلیدسی یک همسایگی از نمونه آزمایشی را به دست میآورد. سپس در آن همسایگی، یک معیار فاصله محلی براساس میانگین دستهها تعریف می-کند.
در تحقیق دیگری در سال 1996 یک روش تطبیقی جداکننده پیشنهاد شده است که برای تخمین یک معیار موثر همسایگی، براساس تحلیل خطی جداکننده محلی کار میکند .[7] در این روش فاصله محلی - با در نظر گرفتن تعدادی فرض محدود کننده - وابسته به یک معیار فاصله 2 وزندار - از احتمال posterior دسته - بین نمونههای آموزشی و نمونه آزمایشی محاسبه میشود. با این معیار فاصله مرز تصمیمگیری محلی از نقاط اطلاعاتی قوی شناسائی میشوند.
با استفاده از ایده موجود در تحقیق [7]، در سال 2002 یک روش معیار فاصله تطبیقی ارائه شد که از آنالیز فاصله مربع chi برای محاسبه یک معیار انعطاف پذیر استفاده میکند .[8] در این روش براساس یک عامل به نام وابستگی محلی خصیصه 1 ، وزنهای مربوط به خصیصهها در همسایگی نمونه آزمایشی محاسبه میگردند. هر چند ایده بکار گرفته شده جالب است اما مشکل این روش تعداد بسیار زیاد پارامترهایی است که باید تنظیم شوند.
در یک تحقیق دیگر در سال 2006 یک معیار فاصله وزندار به منظور بهینه سازی دقت دستهبندی و یک روش خودکار به منظور یاد گیری پارامترهای وزن ارائه شده است
در یک تحقیق دیگر در سال 2010 یک روش تطبیقی نزدیکترین همسایه برای محیطهای نویزی ارائه شده است .[10] در این روش به هر نمونه آموزشی یک وزن انتساب داده میشود. وزنها به گونهای تنظیم میشوند که معیار انتروپی مینیمم گردد.
در [11] یک الگوریتم جدید برای شناسایی رگ انگشت با دقت بالا پیشنهاد شده است. ابتدا رگ ها را از تصاویر با آستانه گذاری مبتنی بر آنتروپی استخراج می کند و برای بهبود دقت دسته بندی نیز با استفاده از الگوریتم ژنتیک ویژگی های زائد را حذف و در نهایت از کلاسه بند نزدیکترین همسایه - - NN-1برای دسته بندی داده ها استفاده میکند.
در [12] یک روش جدید بر مبنای روش فازی در پیشبینی سریهای زمانی غیرخطی آشوبی ارائه می شود. روش فازی با الگوریتم آموزش گرادیان و روش نزدیکترین همسایه اجزای اصلی این روش را تشکیل می دهند. فرآیند آموزش در این روش همانند روش متداول گرادیان نزولی است با این تفاوت که الگویهای ورودی و پارامترها بعد از بهنگام سازی در یک حافظه جانبی بصورت جدول جستجو ذخیره می شوند. در مرحله ی تست با توجه به الگوی ورودی، نزدیکترین همسایه به آن و وزنهای متناظر با الگوی متشابه با الگوی آزمون از حافظه جانبی استخراج می گردد. سرانجام توسط وزن های استخراجی و الگوی ورودی پیشبینی انجام می شود.
کارایی الگوریتم نزدیکترین همسایه کاملاً وابسته به خصیصههای موجود و اهمیت هر یک از آنها است. از آنجا که در شکل ابتدایی، تاثیر همه ویژگیها در معیار فاصله یکسان است، بکارگیری خصیصههای نامرتبط و کم اهمیت منجر به کاهش قابل توجه کارایی میشود. بدیهی است که نرمالسازی سراسری، کمک چندانی به حل این مشکل نمیکند. الگوریتمهای بسیاری در جهت حل این مشکل ارائه شدهاند. برخی از این روشها سعی در تعیین اهمیت و ارزش هر ویژگی در معیار فاصله دارند. برخی دیگر به انتخاب زیرمجموعهای از خصیصههای مناسب میپردازند
الگوریتم نزدیکترین همسایه از روشهای مطرح و پر کاربرد دستهبندی میباشد و میتواند انتخاب مناسبی برای یک سیستم تشخیص نفوذ بر پایه امضاء باشد. البته این الگوریتم دارای معایبی می باشد و نظر به اینکه سیستم تشخیص نفوذ یک کاربرد برخط میباشد این معایب باید برطرف گردد.
اولین ایرادی که می توان در این الگوریتم اشاره کرد این است که این الگوریتم تمام الگوهای آموزشی را ذخیره می کند و در فاز تشخیص، فاصله الگوی ورودی با تمام الگوهای آموزشی میباید محاسبه شود. نظر به اینکه سیستم تشخیص نفوذ یک کاربرد برخط میباشدو دستهبندی هر الگو باید در زمان بسیار محدودی انجام شود