بخشی از مقاله
چکیده
امروزه با رشد روزافزون استفاده از سرویسهای اینترنتی و گسترش حملههای سایبری، مبحث امنیت شبکه به یکی از نگرانیهای اصلی در حوزه فناوری اطلاعات تبدیل شده است. استفاده از تکنیکهای یادگیری ماشین روشی مناسب برای شناسایی نفوذ به شبکههای کامپیوتری به شمار میرود. بیشتر کارهای پیشین در تشخیص نفوذ براساس یادگیری بانظارت و به صورت برونخط عمل میکنند این درحالی است که مجموعههای داده در سیستمهای تحت شبکه به سرعت درحال تغییر و افزایش هستند و امکان دسترسی به همهی آنها به طور همزمان برای پردازش وجود ندارد.
از طرف دیگر به علت کمبود دادههای برچسبدار پیشبینی برچسب دادههای جدید به صورت ضعیف انجام میشود. لذا در این مقاله با به کارگیری دادههای بدون برچسب مدل جدیدی را ارائه خواهیم کرد که به صورت نیمه نظارتی دسته-بندیکننده را به روزرسانی کند. برای این منظور الگوریتم تنظیم منیفلد برخط را با پیداکردن همسایههای مشابه بهبود بخشیدیم. مقایسه روش پیشنهادی با روشهای پیشین بر روی حجم زیادی از داده NSL-KDD نشان میدهد که علاوه بر حفظ دقت بالاتر از 95 درصد نسبت به روشهای برونخط، زمان مصرفی پردازنده 25 درصد و حافظه اصلی به 94,5 مگابایت کاهش مییابد.
.1 مقدمه
امروزه اینترنت و شبکههای کامپیوتری به یکی از مهمترین منابع کسب اطلاعات در حوزههای تحقیقاتی و تجاری تبدیل شده است. بنابراین باید از اطلاعاتی که از این بستر جابجا می-شود در برابر حملههای سایبری محافظت کرد. مدیران شبکه با استفاده از سیستمهای تشخیص نفوذ امکان شناسایی و جلوگیری از حملههای مخرب به شبکهها را دارند.
سیستمهای تشخیص نفوذ معمولا از دو شیوه تشخیص ناهنجاری1 یا تشخیص سوءاستفاده2 برای شناسایی استفاده میکنند.[1] به طوری که رویکرد تشخیص ناهنجاری منجر به شناسایی حملههای ناشناخته میشود این در صورتی است که تشخیص سوءاستفاده از الگوهای شناخته شده برای تشخیص حملهها استفاده میکند. البته مهمترین عیب آن ناتوانی در تشخیص حملههای ناشناخته به شبکه یا سیستم است. از آنجایی که در این مقاله سعی داریم تا مساله تشخیص نفوذ را به صورت یک مساله دستهبندی دوتایی نرمال یا حمله مورد بررسی قرار دهیم، از تکنیکهای یادگیری ماشین مبتنی بر رویکرد تشخیص ناهنجاری استفاده میکنیم.
با وجود توسعه تعداد زیادی از سیستمهای تشخیص نفوذ عمده روشهای پیشین براساس الگوریتمهای یادگیری بانظارت کار میکنند
مشکل این روشها این است که در صورتی که داده ورودی در شبکه در حجم زیاد و با سرعت دریافت شود، نمیتوان همه نمونهها را برچسبگذاری کرد . چون برچسب-دهی داده معمولا عملی دشوار، پرهزینه و زمانبر است. لذا روشهای دستهبندی مبتنی بر رویکرد با نظارت به علت کمبود داده برچسبدار به صورت ضعیف عمل میکنند. به همین منظور با به کارگیری یادگیری نیمهنظارتی از دادههای بدون برچسب برای بهبود مدل استفاده میکنیم.[4] یادگیری نیمه-نظارتی از حجم کمی از داده برچسبدار با تعداد زیادی داده بدون برچسب برای آموزش دستهبندی کننده استفاده میکند.
چالشی که در زمینه روشهای سنتی دستهبندی نیمهنظارتی تشخیص نفوذ وجود دارد این است که بیشتر این روشها به صورت دستهای بر روی تمام دادهها انجام میشوند[3] حال آنکه وقتی حجم زیادی از داده به سرعت در شبکههای کامپیوتری دریافت میشود امکان استفاده از این روشهای برون خط برای پردازش و ذخیرهسازی داده به صورت یکجا وجود ندارد.
روش تنظیم منیفلد برخط[5] به طور همزمان با ترکیب الگوریتم یادگیری نیمهنظارتی برخط مبتنی بر برنامهنویسی محدب و به کارگیری روش نزول در امتداد گرادیان در فضای کرنل میتواند منجر به دستهبندی دادههای دریافتی در شبکه به صورت بلادرنگ شود. این روش همچنین میتواند بدون هزینهی زیاد خودش را با محیط شبکههای کامپیوتری که دائما در حال تغییر است، منطبق کند. البته این روش در مواجه با حجم انبوهی از داده با مشکل کمبود مکان ذخیرهسازی و کندی پردازش روبرو میشود که برای حل این مساله الگوریتم جدیدی مبتنی بر همسایگی نقاط ارائه شده است.
این مقاله به این صورت تنظیم شده است که در ادامه در بخش 2 کارهای مرتبط و پیشین در زمینه تشخیص نفوذ را مرور خواهیم کرد. در بخش 3 به معرفی الگوریتم تنظیم منیفلد برخط و روشهای مختلف پیادهسازی آن میپردازیم. آزمایش-ها و ارزیابیهای صورت گرفته برروی مجموعه داده NSL-KDD در بخش 4 بیان میشوند و در بخش 5 نتیجهگیری حاصل از آزمایشها مورد ارزیابی قرار میگیرد.
.2 کارهای پیشین
بیشتر محققین برروی تشخیص نفوذ برونخط و بانظارت متمرکز شدهاند. رویکرد شبکههای عصبی مصنوعی یکی از تکنیکهای مطرح در تشخیص نفوذ است. یک شبکه عصبی هیبرید با استفاده از ترکیب دو شبکه SOM1 و BPNN2 توسط Jirapummin و همکارانش[6] ارائه شد. Moradi و Zulkernine نیز یک شبکه عصبی چند لایه برای تفکیک فعالیت نرمال از حملههای Satan و Neptune ارائه دادند.
عمدتا زمان آموزش شبکههای عصبی طولانی است لذا در مواردی که با حجم انبوهی از دادهها روبرو هستیم این روش عملا قابل استفاده نیست. مجموعههای فازی اغلب برای هردو کاربرد تشخیص آنومالی و تشخیص سوء استفاده مورد استفاده قرار می گیرند . Abraham و Jain از سه نوع قانون فازی برای مقایسه با برنامه ریزی خطی، درخت تصمیم و ماشین بردار پشتیبان استفاده کردند.
به روز رسانی قوانین در زمان اجرا برای زمانی که داده به تدریج دریافت میشود، کار دشواری است. Lee و همکارانش[9] یک رویکرد درخت تصمیم با استفاده از الگوریتم یادگیری ID3 برای تشخیص 4 نوع حمله DoS، Probe، U2R و R2L با استفاده از مجموعه داده DARPA ارائه کردند. ایجاد درخت تصمیم از لحاظ محاسباتی کار سنگینی است.
تکنیکهای یادگیری نیمهنظارتی حوزه جدیدی از تحقیق در تشخیص نفوذ به شمار میروند . در یکی از کارهای اخیر، تشخیص نفوذ به صورت فرایند تصمیمگیری مارکوف نیمه-مشاهدهپذیر - POMDP3 - مدل شده است[10] و از رویکرد نیمهنظارتی ماکزیممسازی امید ریاضی برای دستهبندی رفتار کاربران سوء استفادهگر و عادی در یک ترمینال لینوکس استفاده کرده است. در [11] یک روش co-training برای تشخیص نفوذ بر روی مجموعه داده KDD-99 به کار گرفته شده است. در [4] محققان از روشهای مبتنی بر گراف غیر پارامتری بر روی مجموعه داده Kyoto2006 استفاده کرده-اند.
یکی از ابعاد قابل توجه این رویکرد این است که محققین نیازی به هیچ فرضی درباره توزیع احتمالاتی ترافیک نداشتهاند. در کارهای پیشین همچنین چند رویکرد برخط در تشخیص نفوذ دیده میشود. در [12] یک سیستم تشخیص نفوذ برخط به صورت بانظارت با استفاده از SOM برای شناسایی داده های نرمال و حملههای DoS توسط Labib و Vemuri توسعه داده شده است. Su و همکارانش [13] یک سیستم تشخیص نفوذ مبتنی بر شبکه به صورت بلادرنگ توسط قوانین فازی ایجاد کردند به طوری که از 4 کامپیوتر با 30 نوع حمله برای جداسازی ترافیک نرمال از حمله استفاده کرد اما نتوانستند نوع حمله را تشخیص دهند.
.3 الگوریتم تنظیم منیفلد برخط
در کاربردهایی که امکان دسترسی همزمان به تمام دادهها وجود ندارد، پردازش برخط برخلاف حالت دستهای4 میتواند با کاهش حافظه و زمان پردازش باعث افزایش کارایی موجود شود. در برخی روشهای یادگیری نیمهنظارتی مانند تنظیم منیفلد، ریسک دستهای به صورت مجموع توابع محدب از تعریف میشود. برای این روشها میتوان با ترکیب برنامه-نویسی محدب برخط و مینیممکردن ریسک منظمشده یک الگوریتم نیمه نظارتی برخط بدست آورد.
اگر یک دنباله داده ورودی 1, … , به طوری که هر یعنی دارای بعد باشد را در نظر بگیریم. بیشتر نقاط بدونبرچسب هستند و فقط در صد کمی از نقاط مانند دارای برچسب هستند.