در این بخش سورس کد تشخیص نفوذ با الگوریتم درخت تصمیم DT در متلب قرار داده شده است. در این سورس کد دیتاست معروف سیستم تشخیص نفوذ یعنی NSL-KDD با استفاده از الگوریتم درخت تصمیم دسته بندی یا کلاس بندی Classfication شده است. این سورس کد به همراه یک فیلم آموزش نحوه اجرا و توضیحات کلی برنامه همراه با یک گزارش کار 5 صفحه ای در قالب Word آماده دانلود می باشد.

سیستم تشخیص نفوذ

سیستم تشخیص نفوذ Intrusion Detection System یا به اختصار IDS وظیفه تشخیص هر گونه استفاده غیرمجاز به سیستم، سوء استفاده یا آسیب‌رسانی توسط کاربران را بر عهده دارند. تشخیص و جلوگیری از نفوذ، امروزه به عنوان یکی از مکانیزم‌های اصلی در برآوردن امنیت شبکه‌ها و سیستم‌های کامپیوتری مطرح است و عمومأ در کنار فایروال ها و به صورت مکمل امنیتی برای آن‌ها مورد استفاده قرار می‌گیرند.  سیستم های تشخیص نفوذ از دیدگاه روش تشخیص بر اساس دو تکنیک متمایز، یعنی تطابق الگو  misuse detection و ناهنجاری های آماری anomaly detection عمل می کنند.

اصلی‌ترین روش تشخیص نفوذ IDS های مبتنی بر آنومالی یا ناهنجاری هست. در این روش استفاده از الگوریتم‌های یادگیری ماشین بسیار رایج است. در روش های یادگیری ماشین با توجه به دسته‌بندی، مدلی استخراج می‌شود که بر اساس آن می‌توان با دقت مناسب تشخیص نفوذ در سیستم جدید را انجام داد. یافته‌های قبلی بر اساس یادگیری از متریک‌های به‌دست‌آمده از حملات نشان می‌دهد ارتباط قوی بین این متریک‌ها و تشخیص نفوذ وجود دارد. الگوریتم‌های مختلفی برای دسته‌بندی وجود دارد از جمله‌ی این روش‌ها می‌توان‌ به درخت تصمیم، الگوریتم k‌ همسایه نزدیک، الگوریتم نیوبیزین، بردار پشتیبانی ماشین و شبکه‌های عصبی می‌باشد.

الگوریتم درخت تصمیم Decision Tree

الگوریتم درخت تصمیم یا الگوریتم ID3 یکی از روش های دسته بندی یا classification در زیر شاخه گروه جدول فراوانی Frequency Table در بحث پیش بینی آینده predicting the future در علوم داده یا داده کاوی است. الگوریتم درخت تصمیم Decision Tree مدل های طبقه بندی یا رگرسیون را به شکل ساختار درخت می سازد. درخت تصمیم ، مجموعه داده را به زیر مجموعه های کوچکتر و کوچکتر تجزیه می کند و یک درخت تصمیم مرتبط به صورت تدریجی توسعه می یابد. نتیجه نهایی یک درخت با گره های تصمیم گیری و گره های برگ است. یک گره تصمیم دارای دو یا چند شاخه است. گره برگ یک طبقه بندی یا تصمیم را نشان می دهد. بالاترین گره تصمیم گیری در یک درخت که مطابق با بهترین پیش بینی کننده به نام گره ریشه است. درختان تصمیم گیری می توانند داده های دسته ای و عددی را کنترل کنند.

دسته بندی درخت تصمیم

تشخیص نفوذ با الگوریتم درخت تصمیم DT در متلب

به منظور طبقه بندی سوابق به پنج سطح ، مجموعه داده های اولیه با استفاده از چندین طبقه بندی معیار مورد ارزیابی قرار گرفت و هر نمونه با تعداد پیش بینی های موفقیت آمیز آن حاشیه نویسی شد. برای هر گروه، میزان سوابق انتخاب شده معکوس با درصد ضبط از مجموعه داده اصلی 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 لود می شوند تا آماده شوند. در ادامه نیز داده های آموزشی و تست از لحاظ لیبل آخر و ویژگی ها تقسیم بندی می شوند و سپس برای دسته بندی به الگوریتم یادگیری درخت تصمیم داده می شوند.

قسمت هایی از سورس کد

ویدئوی معرفی

درباره محصول

سورس کد تشخیص نفوذ با الگوریتم درخت تصمیم DT در متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و دارای یک فایل ورد با تعداد 5 صفحه می باشد. این سورس کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.

1 دیدگاه برای تشخیص نفوذ با الگوریتم درخت تصمیم DT در متلب

  1. امین جلیل زاده

    نظرات خود را با ما در میان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *