بخشی از مقاله
خلاصه
هدف از تشخیص نفوذ این است که استفاده غیرمجاز، سوءاستفاده و آسیب رساندن به سیستمها و شبکههای کامپیوتری توسط هر دودسته کاربران داخلی و حملهکنندگان خارجی شناسایی شود. در این پژوهش یک راهکار جدید مبتنی بر تکنیکهای یادگیری ماشین ارائه کردهایم که هدف آن شناسایی حملات مخرب و ایجاد امنیت در یک سطح قابلدسترس برای کاربران است. روش معرفیشده از الگوریتم ژنتیک با یک تابع هدف آماری مبنی بر پراکندگی دادهها برای انتخاب ویژگیها و از ماشین بردار پشتیبان برای دستهبندی استفاده میکند. نتایج حاصل از شبیهسازی ، بیانگر کیفیت مناسب روش پیشنهادی میباشد.
.1 مقدمه
با پیشرفت فناوری اطلاعات نیاز به انجام کارهای محاسباتی در همهجا و همه زمان به وجود آمده است. همچنین نیاز به این هست که افراد بتوانند کارهای محاسباتی سنگین خود را بدون داشتن سختافزارها و نرمافزارهای گران، از طریق خدماتی انجام دهند. شبکههای امروزی توانایی بهرهوری و صرفهجویی در منابع IT و افزایش توان محاسباتی را فراهم میکند، بهطوریکه توان پردازشی به ابزاری باقابلیت دسترسی همیشگی تبدیل میشود.
[1] اگرچه شبکه مزایای زیادی دارد؛ ولی امنیت در شبکه بسیار حائز اهمیت است. امروزه فراهم کردن امنیت شبکههای کامپیوتری از ارزش خاصی برخوردار است. با پیدایش کامپیوترهای پیشرفتهتر و تکنولوژیها و سرویسهای اینترنتی، اهمیت امنیت شبکههای کامپیوتری بیشتر شده است. ابزارهای گوناگونی برای فراهم کردن امنیت شبکههای کامپیوتری وجود دارد. یکی از ابزارهای امنیت شبکه که در کنار سایر ابزارها، وظیفهی تشخیص نفوذ را بر عهده دارد، سیستمهای تشخیص نفوذ هستند. وظیفهی این سیستمها خودکارسازی روند تشخیص نفوذ است.[2]
نفوذ به مجموعهی اقدامات غیرقانونی که صحت و محرمانگی و یا دسترسی به یک منبع را به خطر میاندازد، اطلاق میگردد. نفوذها میتوانند به دودستهی داخلی و خارجی تقسیم شوند. نفوذهای خارجی به آن دسته نفوذهایی گفته میشود که توسط افراد مجاز و یا غیرمجاز از خارج شبکه به درون شبکهی داخلی صورت میگیرد و نفوذهای داخلی توسط افراد مجاز در سیستم و شبکهی داخلی، از درون خود شبکه انجام میپذیرد. نفوذ گرهاعموماً از عیوب نرمافزاری، شکستن کلمات رمز، استراق سمع ترافیک شبکه و نقاط ضعف طراحی شبکه، سرویسها و کامپیوترهای شبکه برای نفوذ به سیستمها و شبکههای کامپیوتری بهره میبرند.
[1] بهمنظور مقابله با نفوذ گران به سیستمها و شبکههای کامپیوتری، روشهای متعددی تحت عنوان روشهای تشخیص نفوذ ایجاد گردیده است که عمل نظارت بر وقایع اتفاق افتاده در یک سیستم یا شبکهی کامپیوتری را بر عهده دارد استفاده از سیستمهای تشخیص نفوذ *، برای تأمین امنیت شبکههای کامپیوتری بسیار رایج است. اگرچه در سالهای اخیر سیستمهای تشخیص نفوذ،توسعه زیادی یافته و بهطور گسترده در تأمین امنیت شبکههای کامپیوتری بکار رفتهاند، هنوز فاصله زیادی تا حد ایده آل دارد و هنوز موضوعات بسیار مهمی در رابطه با آن مطرح است.[3] سیستمهای تشخیص نفوذ مبتنی بر شبکه در مقابل ترافیکهای بالای شبکههای امروزی، ممکن است به گلوگاه تبدیل شود.
این محدودیت باعث میشود علاوه بر از دست رفتن امنیت شبکه، کارایی شبکه تحت پوشش نیز پایین آورده شود، بهطوریکه در ترافیکهای بالا، سیستمهای تشخیص نفوذ خود نیز دارای محدودیت حجم محاسباتی زیادی باشد. با توجه به این مشکلات، در سالهای اخیر، یادگیری ماشین بهعنوانیکی از تکنیکهای هوشمند کاربرد زیادی در تشخیص نفوذ پیداکردهاست. یادگیری ماشین زمینه تحقیقاتی نسبتاً جدیدی از هوش مصنوعی است که در حال حاضر دوران رشد و تکامل خود را میگذراند و زمینه بسیار فعال در علوم کامپیوتر میباشد. محدودیتها و مشکلات موجود در زیرساخت ابر محققان را به سمت استفاده و بهکارگیری تکنیکهای یادگیری ماشین برای حل مشکلات سوق میدهد و این فرصت را ایجاد میکند که یادگیری ماشین کمک و مشارکت مهمی درزمینه سیستمهای تشخیص نفوذ داشته باشد.
[4] روشهای یادگیری ماشین، بهمنظور توسعهی یک سیستم تشخیص نفوذ در محیط شبکه و بالا بردن سطح امنیتی آن، بایستی ویژگیهایی از این محیط را که این فرایند توسعه را متأثر میسازند، مدنظر قرار داد. کارایی مناسب، مقیاسپذیری، تنوع زیاد کاربران و سرویسها، پویایی استفاده از خدمات و ازجمله جوانبی است که در این راستا بایستی مدنظر قرارداد. ازآنجاییکه محیط شبکه معماری توزیعشده دارد، آسیبپذیر و مستعد حمله و نفوذ است.
با توجه به پیچیدگی فرایند کشف نفوذ در شبکه و از طرفی کارآمدی تکنیکهای یادگیری ماشین، این تحقیق بنا دارد با تلفیق تکنیکهای الگوریتم ژنتیک برای انتخاب ویژگیهای تأثیرگذار در تشخیص و شناسایی حملات و همچنین روش ماشین بردار پشتیبان برای دستهبندی کردن حملات، روشی کارا برای تشخیص حملات در شبکه معرفی نماید. روش پیشنهادی از تلفیق ماشین بردار پشتیبان و ژنتیک برای شناسایی حملات استفاده میکند.برای آزمون و ارزیابی از مجموعه دادههای مربوط به [18] NSL_KDD استفادهشده است.
.2 چارچوب روش پیشنهادی
در این مقاله، روش جدیدی برای تشخیص خودکار تهدیدات امنیتی مبتنی بر الگوریتمهای یادگیری ماشین معرفی میگردد که قادر به کاوش اطلاعات و در پی آن تعیین الگویی برای تشخیص نفوذ میباشد. برای این کار از دادههای NSL_KDD استفاده میگردد. بعد از به دست آوردن دادههای موردنیاز میبایست عمل پیشپردازش بر رویدادهها با هدف استاندارد کردن دادهها و حذف دادههای پرت انجام گیرد.
بعد از انجام عملیات پیشپردازش برای افزایش دقت دستهبندی کننده و همچنین کاهش ابعاد دادهها میبایست از برخی از الگوریتمهای انتخاب ویژگی استفاده نماییم تا میزان اهمیت و تأثیرگذاری هر یک از ویژگیها را محاسبه نموده و ویژگیهای بیاهمیت از مجموعه دادهها حذف گردند. در این مقاله ترکیبی از الگوریتم ژنتیک برای انتخاب مهمترین ویژگیها و سپس ماشین بردار پشتیبان برای دستهبندی حملات بر اساس ویژگیهای انتخابی استفاده میگردد. فلوچارت بیانشده در شکل 1 مراحل روش پیشنهادی را بهخوبی نشان میدهد.
شکل -1 فلوچارت مراحل روش پیشنهادی
همانطور که از فلوچارت بیانشده بهخوبی مشخص است بعد از جمعآوری دادهها و نرمال کردن آنها و انجام عملیات پیشپردازش، دادهها به دو بخش 70 و 30 درصد به ترتیب برای یادگیری و سپس آزمون روش پیشنهادی، تقسیم میگردد. مراحل روش پیشنهادی از کاهش حجم دادهها توسط الگوریتم ژنتیک آغاز میگردد.