امروزه، بدافزارها و همچنین تکنیکهایی که طراحان بدافزارها از آنها استفاده میکنند ( مبهم سازی یا چندشکلی که در آنها ویروسها از لحاظ ساختاری متفاوت، اما از لحاظ توانایی یکسان هستند ) رشد چشمگیری داشته است و تشخیص حملات با روشهای سنتی (مبتنی بر امضا و ایستا ) به امری بسیار دشوار و پیچیده تبدیل شده است. هوش مصنوعی[۱] و بهویژه حوزه یادگیری ماشین[۲]، به دنبال یافتن روشها و ابزارهای مؤثر جهت رفع این مشکل میباشد.
روشی که معمولاً در سیستمهای تشخیص نفوذ به کار میرود، استفاده از متدهای تشخیص ناهنجاریهای شبکه میباشد. برای تشخیص دقیق باید روشی را اتخاذ کرد تا هر فعالیتی که در سیستمهای کامپیوتری انجام میگیرد در سطوح چند انتزاعی مشاهده کرد و اطلاعات مرتبط را از منابع اطلاعاتی چندگانه جمعآوری نمود؛ روشهای جمعی، روشهای بسیار مناسب برای توصیف مشکلات امنیتی سیستمها میباشند. یادگیری جمعی فرآیندی است که در آن مدلهای متعددی ازجمله طبقهبندها یا خبرهها به صورت راهبردی تولید و یا ترکیب میشوند تا به یک مشکل خاص هوش محاسباتی پاسخ دهند. الگوریتمهای جمعی میتوانند از بهترین و کارآمدترین سازوکارها جهت شناسایی حملات ناشناخته در شبکه باشند. لذا در این تحقیق قصد داریم تا به بررسی روش های تشخیص نفوذ بر اساس یادگیری جمعی بپردازیم.
جهت دانلود فایل کلیک کنید
فهرست مطالب تشخیص نفوذ با استفاده از یادگیری جمعی در شبکه های کامپیوتری
فصل ۱: کلیات تحقیق
۱-۱- مقدمه
۱-۲- بیان مسئله
۱-۳- اهمیت و ضرورت
۱-۴- اهداف تحقیق
۱-۵- مروری بر فصول تحقیق
جهت دانلود فایل کلیک کنید
فصل ۲: تشخیص نفوذ
۲-۱- مقدمه
۲-۲- حملات شبکه
۲-۲-۱- انواع حملات شبکه با توجه به روش حمله
۲-۲-۲- انواع حملات شبکه با توجه به حملهکننده
۲-۳- سیستمهای تشخیص نفوذ
۲-۳-۱- اجزای سامانههای تشخیص نفوذ
۲-۳-۲- عملکرد امنیتی سیستمهای تشخیص نفوذ
۲-۳-۳- مکملهای سیستمهای تشخیص نفوذ در برقراری امنیت
۲-۴- معماری سیستمهای تشخیص نفوذ
۵-۲- تکنیکهای تشخیص نفوذ
۶-۲-روش تشخیص ناهنجاری
۷-۲- تکنیکهای پاسخ
۸-۲- انواع سیستمهای تشخیص نفوذ
۹-۲- پیشینه تحقیق
جهت دانلود فایل کلیک کنید
فصل ۳: یادگیری جمعی
۳-۱- مقدمه
۳-۲- روشهای تشخیص ناهنجاری
۳-۳- روشهای دستهبندی
۳-۴- الگوریتمهای یادگیری جمعی
فصل ۴: تشخیص نفوذ با استفاده از یادگیری جمعی
۴-۱- مقدمه
۴-۲- تشخیص نفوذ با استفاده از روش جمعی بگینگ
۴-۳- تشخیص نفوذ با روش یادگیری جمعی ترکیبی SVM-kNN-PSO
۴-۴- یادگیری جمعی براساس الگوریتم ژنتیک
۴-۵- یادگیری جمعی چند-دیدگاه درتشخیص نفوذ
۴-۶- تشخیص نفوذ برمبنای الگوریتم درختی
۴-۷- تشخیص نفوذ با روش ترکیبی بوستینگ و NB
۴-۸- شناسایی حمله سختافزاری با استفاده از روش جمعی بر مبنای درخت تصمیم
فصل ۵:
۵-۱- نتیجهگیری
۵-۲- پیشنهادات
منابع و مآخذ
پیوستها
جهت دانلود فایل کلیک کنید
برخی از مراجع
- RAD, F., REZAZADEH, F. and PARVIN, H., 2018. DETECTION OF UNKNOWN MALICIOUS NETWORK STREAMS USING ENSEMBLE LEARNING IN IMBALANCED DATA.
- Kevric, J., Jukic, S. and Subasi, A., 2017. An effective combining classifier approach using tree algorithms for network intrusion detection. Neural Computing and Applications, 28(1), pp.1051-1058.
- Yerima, S.Y., Sezer, S. and Muttik, I., 2015. High accuracy android malware detection using ensemble learning. IET Information Security, 9(6), pp.313-320.
- Marnerides, A.K., Spachos, P., Chatzimisios, P. and Mauthe, A.U., 2015, Febuary. Malware detection in the cloud under Ensemble Empirical Mode Decomposition. In Computing, Networking and Communications (ICNC), 2015 International Conference on (pp. 82-88). IEEE.
- Kozik, R. and Choras, M., 2015, November. Adapting an Ensemble of One-Class Classifiers for a Web-Layer Anomaly Detection System. In P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), 2015 10th International Conference on (pp. 724-729). IEEE.
- Gaikwad, D.P. and Thool, R.C., 2015, February. Intrusion detection system using bagging ensemble method of machine learning. In Computing Communication Control and Automation (ICCUBEA), 2015 International Conference on (pp. 291-295). IEEE.
- Sornsuwit, P. and Jaiyen, S., 2015, October. Intrusion detection model based on ensemble learning for u2r and r2l attacks. In Information Technology and Electrical Engineering (ICITEE), 2015 7th International Conference on (pp. 354-359). IEEE.
چکیده
گسترش استفاده از اینترنت و اشتراک اطلاعات ، امنیت اطلاعات را به یک وظیفه پیچیده تبدیل کرده است. درنتیجه سیستمهای جهت شناسایی این حملات طراحی و توسعه یافتهاند. این نوع سیستمها نقش اساسی در شناسایی انواع ناهنجاریهای سیستم بر عهده دارند. عملکرد اصلی سیستمهای تشخیص نفوذ مانیتور کردن جریان داده در شبکه ، شناسایی حملات و رفتارهای ناهنجار است.
در سالهای اخیر تکنیکهای دادهکاوی و الگوریتمهای زیادی برای طراحی سیستمهای تشخیص مورد استفاده قرارگرفتهاند. دستهبندی به روش جمعی یکی از پیشرفتهترین روشها برای شناسایی نفوذ و آنالیز دادههای پیچیده است. این تکنیک، یک روش یادگیری با نظارت است.
یادگیری جمعی فرآیندی است که در آن مدلهای متعدد بهصورت استراتژیک تولید و یا ترکیب میشوند تا به یک مشکل خاص هوش محاسباتی پاسخ دهند. روشهای یادگیری جمعی چندین یادگیرنده را برای حل یک مسئله آموزش میدهند. این روش قادر میسازد تا قوانین مورد اطمینان در مورد دستهکننده در مجموعه وضعیتهای یک سیستم انجام پذیرد.
ایده اصلی این روش ایجاد یک دستهکننده است که وضعیتهای سیستم را بررسی و شرایط خطرناک قبل از وقوع حمله را شناسایی کرده و پیشبینی وضعیتهای اضطراری را بر مبنای نشانهای امنیتی سیستم ممکن میسازد. مزیت اصلی این روشها دقت بالای شناسایی نفوذ است و این نکته در سیستمهای شناسایی نفوذ از اهمیت فوقالعاده برخوردار است زیرا برای شناسایی محاسبات پیچیدهای نیاز است و در صورتی که تشخیص حمله درست صورت نگیرد، سیستم متحمل محاسبات اضافی شده و عملکرد آن کاهش مییابد. لذا مدل دستهبندی و آموزش در روشهای جمعی به این نیاز پاسخ میدهد.
جهت دانلود فایل کلیک کنید
مقدمه
در سالهای اخیر با گسترش سیستمهای نرمافزاری کامپیوتری و افزایش دسترسی پارامترها به آن، این بستر اطلاعاتی به شکل فزایندهای دستخوش نفوذ، سوءاستفاده و حمله گردیده است. عواملی از قبیل منافع مالی، اهداف سیاسی یا نظامی و نیز مقاصد شخصی سبب افزایش حوادث امنیتی در سیستمهای اطلاعاتی میگردد.
وجود یک حفره و یا مشکل امنیتی، میتواند یک سازمان را به روشهای متفاوتی تحت تأثیر قرار خواهد داد. درنتیجه امنیت سیستمهای نرمافزاری کامپیوتری، شناسایی تهدیدات امنیتی که میتواند حیات یک سازمان را با مشکل مواجه نماید و طراحی و پیادهسازی یک محیط ایمن در سازمانهای مدرن اطلاعاتی یکی از چالشهای اساسی در عصر حاضر محسوب میگردد.
ابزارهای متعددی جهت حفظ امنیت سیستمهای کامپیوتری گسترشیافتهاند که یکی از آنها سیستم شناسایی حفرههای امنیتی[۱] میباشد. امروزه سیستم شناسایی حفرههای امنیتی نقش مهمی را در زمینهی حفظ امنیت سیستمهای اطلاعاتی و کاربران آنها در برابر حملات شرورانه ایفا میکند.
سیستم شناسایی حفرههای امنیتی، تنها سیستمی است که به شکل فعال قادر به شناسایی استفادههای غیرمجاز و نیز سوءاستفاده از سیستمهای اطلاعاتی توسط حمله گرهای داخلی و خارجی میباشد. درنتیجه این سیستم یکی از اجزای بسیار ضروری در حفظ امنیت ساختارهای اطلاعاتی است و میتواند در کنار دیوار آتش[۲] به حفظ امنیت سیستم اطلاعاتی کمک کند.
در پژوهش پیش رو با استفاده از تبدیل جریانات سیستم نرمافزاری به گراف و بهکارگیری روشهای یادگیری جمعی ارتباطی میان میزبانها و نیز استفاده از یک سری معیارهای شباهت روشی مؤثر برای یافتن حفرههای امنیتی در سیستمهای نرمافزاری ارائه میشود.
جهت دانلود فایل کلیک کنید
فرآیند تشخیصی این سیستم از دولایه تشکیل شده است؛ لایه اول مانند سیستم های گذشته، هر درخواست سیستم نرم افزاری را به صورت موردی وارسی کرده و با بکارگیری یکی از تکنیک های تشخیص الگو (مانند شبکه عصبی)، بر چسب شناسایی را به آن تخصیص می دهد. آنچه در این لایه اهمیت دارد، نگاه نرم آن به کلاس های دسته بندی درخواست های می باشد؛ یعنی بر خلاف دسته بندی های ستنی که نرمال یا غیرنرمال بودن یک درخواست سیستم نرم افزاری مدنظر بود، طیف بیشتری به کلاس های هدف داده و بین نرمال و غیر نرمال بودن، کلاس های جدیدی تعریف می کند.
این امر باعث می شود بجای ایجاد یک تمایز تیز بین رفتار نرمال و حمله، به صورت انعطاف پذیری با الگوهایی که نزدیک مرز تصمیم گیری قرار دارند رفنار شود. لایه دوم برعکس لایه اول که الگوی خود را یک درخواست سیستم نرم افزاری انتخاب کرد، رفتار یک کاربر را به عنوان الگوی خود معرفی می کند. این لایه پنجره زمانی در سابقه رفتاری کاربران مشکوک گشوده و براساس روند تعاملی که آن کاربر با کاربرد سیستم نرم افزاری داشته، تصمیم نهایی را اتخاذ می کند. در واقع لایه دوم بر چسب های خروجی لاهی اول را در قالب یک سری زمانی به عنوان ورودی دریافت کرده و براساس مدل مخفی روش های یادگیری جمعی که در فاز آموزش از رفتار کاربران نرمال و مهاجمان بنا کرده بود رفتارهای غیر نرمالی را که به یک حفره شباهت دارند، کشف و حتی پیش بینی می کند.
در شرایط آشکار شدن یک نفوذ، زمان پاسخ بسیار مهم و ضروری است. درحالیکه ابزارهای امنیتی موجود مجموعه دفاعی ایستای مناسب و خوبی را فراهم میسازند، اما قادر نیستند از عهده تهدیداتی که ماهیت پویا دارند، بهطور کامل و دقیق بربیایند. در حقیقت اکثر ابزارهای امنیت شبکه، ماهیتی غیرفعال دارند و خودکار عمل نمیکنند.
برای نمونه دیوار آتش و سیستمهای تشخیص نفوذ بر اساس مجموعه قوانین و امضاهایی که در پایگاه داده آنها تعریفشده است عمل میکنند. فعالیت شناسایی اینگونه سیستمها اغلب محدود به مجموعهای از قوانین تعریفشده برای آنها است. ازاینرو، این ابزارها قادر نیستند جریانهای مخربی که از الگوهای جدید و ناشناخته استفاده میکنند را شناسایی نمایند.
در این سمینار به بررسی سیستمهای ارائه شده مبتنی بر ناهنجاری جدید برای حفاظت از برنامه های کاربردی سیستم های نرم افزاری پرداخته می شود. همچنین به بررسی روش ها و راه کارهای ارائه شده در تحقیقات گذشته به منظور شناسایی حفرههای امنیتی در سیستم های نرمافزاری با استفاده از روشهای یادگیری جمعی، معایب و مزایای روش های ارائه شده و همچنین نحوه ی پیاده سازی این روش بر روی سیستم های کامپیوتری پرداخته می شود.
-
اهمیت و ضرورت
امروزه شاهد رشد عظیمی در تولید داده هستیم. فعالیتها و تعاملهای روزانه انسانها، حجم چشمگیری از دادهها و اطلاعات را به وجود میآورد؛ به عنوان مثال در ارتباطات از راه دور، تراکنش هایمالی و بانکی، شبکههای اجتماعی، فعالیتهای اینترنتی عام، امور مربوط به بهداشت و درمان، پایش اطلاعات امنیتی، اطلاعات و دادههای آماری مانند سرشماری نفوس و بسیاری موارد دیگر.
یکی از حوزه هایی که با داده های بسیار زیادی مواجه هستیم حوزه سایبری و امنیت اطلاعات است. با افزایش سرعت، کارایی، تعداد و ارتباط کامپیوترها ، نیاز به سیستم های امنیتی رشد بسیاری پیدا کرده است. امروزه تشخیص نرم افزارهای مخرب یک مشکل عمده به حساب می آید، چرا که مهاجمین از حملات با تنوع زیاد استفاده می کنند تا به راحتی شناسایی نگردند .
امروزه، بد افزارها و همچنین تکنیک هایی که طراحان بد افزارها از آن ها استفاده می کنند( مبهم سازی یا چند شکلی که در آن ها ویروس ها از لحاظ ساختاری متفاوت، اما از لحاظ توانایی یکسان هستند ) رشد چشمگیری داشته است. بنابراین تشخیص آن ها با روش های سنتی که مبتنی بر امضا و ایستا بوده اند به امری بسیار دشوار و پیچیده تبدیل شده است. هوش مصنوعی[۳] و به ویژه حوزه یادگیری ماشین[۴]، به دنبال یافتن روشها و ابزارهای موثر جهت رفع این مشکل می باشد.
روشی که معمولا در سیستم های تشخیص نفوذ به کار می رود، استفاده از متدهای تشخیص ناهنجاریهای شبکه می باشد. این کار مشکل نیازمندی به روز شدن سیستم تشخیص نفوذ را در برابر حملات جدید برطرف می کند و توانایی تشخیص حملات جدید را به وجود می آورد. برای تشخیص دقیق باید روشی را اتخاذ کرد تا هر فعالیتی که در سیستم های کامپیوتری انجام می گیرد در سطوح چند انتزاعی مشاهده کرد و اطلاعات مرتبط را از منابع اطلاعاتی چند گانه جمع آوری نمود.
بنابراین روش های جمعی،روش های بسیار مناسب برای توصیف مشکلات امنیتی سیستم ها می باشند . یادگیری جمعی فرآیندی است که در آن مدلهای متعددی از جمله طبقه بندها یا خبره ها به صورت راهبردی تولید و یا ترکیب میشوند تا به یک مشکل خاص هوش محاسباتی پاسخ دهند. بنابراین، الگوریتم های جمعی می توانند از بهترین و کارآمدترین سازوکارها جهت شناسایی حملات ناشناخته در شبکه باشند. لذا در این تحقیق قصد داریم تا به بررسی این روش بپردازیم.