در این بخش سورس کد تشخیص نفوذ با الگوریتم یادگیری KNN در متلب قرار داده شده است. در این سورس کد دیتاست معروف سیستم تشخیص نفوذ یعنی NSL-KDD با استفاده از الگوریتم یادگیری ماشین k نزدیکترین همسایه دسته بندی یا کلاس بندی Classfication شده است. این سورس کد به همراه یک فیلم آموزش نحوه اجرا و توضیحات کلی برنامه همراه با یک گزارش کار 5 صفحه ای در قالب Word آماده دانلود می باشد.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
سیستم تشخیص نفوذ
سیستم تشخیص نفوذ Intrusion Detection System یا به اختصار IDS وظیفه تشخیص هر گونه استفاده غیرمجاز به سیستم، سوء استفاده یا آسیبرسانی توسط کاربران را بر عهده دارند. تشخیص و جلوگیری از نفوذ، امروزه به عنوان یکی از مکانیزمهای اصلی در برآوردن امنیت شبکهها و سیستمهای کامپیوتری مطرح است و عمومأ در کنار فایروال ها و به صورت مکمل امنیتی برای آنها مورد استفاده قرار میگیرند. سیستم های تشخیص نفوذ از دیدگاه روش تشخیص بر اساس دو تکنیک متمایز، یعنی تطابق الگو misuse detection و ناهنجاری های آماری anomaly detection عمل می کنند.
اصلیترین روش تشخیص نفوذ IDS های مبتنی بر آنومالی یا ناهنجاری هست. در این روش استفاده از الگوریتمهای یادگیری ماشین بسیار رایج است. در روش های یادگیری ماشین با توجه به دستهبندی، مدلی استخراج میشود که بر اساس آن میتوان با دقت مناسب تشخیص نفوذ در سیستم جدید را انجام داد. یافتههای قبلی بر اساس یادگیری از متریکهای بهدستآمده از حملات نشان میدهد ارتباط قوی بین این متریکها و تشخیص نفوذ وجود دارد. الگوریتمهای مختلفی برای دستهبندی وجود دارد از جملهی این روشها میتوان به درخت تصمیم، الگوریتم k همسایه نزدیک، الگوریتم نیوبیزین، بردار پشتیبانی ماشین و شبکههای عصبی میباشد.
الگوریتم K همسایه نزدیک
روش k همسایه نزدیک K Nearest Neighbors یا (KNN) یک روش یادگیری موردی است و از جمله سادهترین الگوریتمهای یادگیری ماشین میباشد که به روش K نزدیک ترین همسایه نیز معروف است. در این الگوریتم یک نمونه با رای اکثریت از همسایههایش دستهبندی میشود و این نمونه در عمومیترین کلاس مابین k همسایه نزدیک تعیین میشود. K یک مقدار مثبت صحیح و عموماً کوچک است. اگر k=1 باشد نمونه به سادگی در کلاس همسایگان نزدیکش تعیین میگردد. فرد بودن مقدار k مفید میباشد چون با این کار جلوی آراء برابر گرفته میشود.
روش k همسایه نزدیک، برای بسیاری از روشها کاربرد دارد، زیرا اثربخش، غیرپارامتریک و دارای پیادهسازی راحت میباشد. با این حال زمان دستهبندیاش طولانی است و یافتن مقدار k بهینه مشکل است. بهترین انتخاب از k، وابسته به دادهها میباشد به طور کلی مقدار بزرگ از k اثر نویز روی دستهبندی را کاهش میدهد، اما مرز مابین کلاسها کمتر متمایز میشود.
تشخیص نفوذ با الگوریتم یادگیری KNN در متلب
به منظور طبقه بندی سوابق به پنج سطح ، مجموعه داده های اولیه با استفاده از چندین طبقه بندی معیار مورد ارزیابی قرار گرفت و هر نمونه با تعداد پیش بینی های موفقیت آمیز آن حاشیه نویسی شد. برای هر گروه، میزان سوابق انتخاب شده معکوس با درصد ضبط از مجموعه داده اصلی KDDCup 99 است. در کل 42 ویژگی برای دیتاست در نظر گرفته شده که 41 ویژگی مربوط به داده های جمع آوری شده و ویژگی آخر نیز به عنوان برچسب هدف با عنوان نرمال یا حمله می باشد.
در این تحقیق از مجموعه های KDDTrain+ ، KDDTest+ و KDDTest-21 مجموعه داده های NSL-KDD استفاده شده است. مجموعه +KDDTrain به عنوان مجموعه داده برای آموزش شامل 125973 نمونه است که شامل 58630 مورد ترافیک حمله و 67343 نمونه ترافیک عادی است. مجموعه +KDDTest شامل 22544 نمونه است و برای تست از آن استفاده می شود و به عنوان زیر مجموعه ای از مجموعه +KDDTest، مجموعه KDDTest-21 شامل کل 11850 نمونه است. اعتبارسنجی متقابل بر روی مجموعه +KDDTrain در آزمایشات انجام می شود.
در این سورس کد ابتدا پوشه Datasets به درون برنامه addpath می شود تا فایل های درون این پوشه قابل استفاده باشند. دیتاست های آموزش KDDTrainو تست KDDTest و KDDtest_21 لود می شوند تا آماده شوند. در ادامه نیز داده های آموزشی و تست از لحاظ لیبل آخر و ویژگی ها تقسیم بندی می شوند و سپس برای دسته بندی به الگوریتم یادگیری KNN داده می شوند.
قسمت هایی از سورس کد تشخیص نفوذ با الگوریتم یادگیری KNN
clc, clear, close all addpath(genpath('Datasets')) load KDDTrain load KDDTest load KDDtest_21 trn_Inputs=KDDTrain(:,1:end-1); tst_Inputs=KDDTest(:,1:end-1); trn_Outputs=KDDTrain(:,end); tst_Outputs=KDDTest(:,end); %% Test the results mdl = ClassificationKNN.fit(trn_Inputs,trn_Outputs,'NumNeighbors',5,'Standardize',1); y_hat_tst = predict(mdl, tst_Inputs); [c_matrix,Result]= confusion.getMatrix(tst_Outputs,y_hat_tst);
ویدئوی معرفی تشخیص نفوذ با الگوریتم knn
درباره تشخیص نفوذ با الگوریتم یادگیری KNN
سورس کد تشخیص نفوذ با الگوریتم یادگیری KNN در متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و دارای یک فایل ورد با تعداد 5 صفحه می باشد. این سورس کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
تضمین کیفیت و گارانتی بازگشت هزینه
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
- ۱۰۰ درصد مبلغ پرداختی در حساب کاربری شما شارژ میشود.
- و یا 80 درصد مبلغ پرداختی به حساب بانکی شما عودت داده میشود.
مباحث مرتبط با سیستم های تشخیص نفوذ
مباحث مرتبط با الگوریتم k همسایه نزدیک
تشخیص نفوذ با الگوریتم یادگیری KNN در متلب
تاریخ انتشار: | 11 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 2 اردیبهشت 1400 |
حجم فایل: | 64.2 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 541 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
تشخیص نفوذ با الگوریتم یادگیری KNN در متلب
هزینه سفارش: 139,000 تومان
تاریخ انتشار: | 11 آذر 1399 |
---|---|
تاریخ بروزرسانی: | 2 اردیبهشت 1400 |
حجم فایل: | 64.2 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
1 بازخورد (مشاهده نظرات)
هزینه سفارش: 139,000 تومان
مدیریت و پشتیبانی
نظرات خود را با ما در میان بگذارید.