
در این پست تبدیل دیتاست NSL-KDD برای استفاده الگوریتم های یادگیری ماشین در متلب (دیتاست سیستم تشخیص نفوذ) قرار داده شده است. دیتاست NSL-KDD در سال 2009 بعنوان نسخه جدید تجدید نظر شده در مجموعه داده اصلی KDDCup99 ارائه شد که با حجم کم ویژگی های سودمند و چالش برانگیز KDDCup را حفظ کرد.
امروزه این دیتاست به عنوان یک مجموعه داده ارزشمند برای بررسی کارایی روش ها و الگوریتم های امنیت سایبری و سیستم های تشخیص نفوذ بکار گرفته می شود. در ادامه شرح مختصری از این دیتاست داده می شود.
برنامهنویس: تیم برنامه نویسی پی استور
متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی
تیم برنامه نویسی پی استور یکی از اولین گروه های تشکیل شده در مجموعه آموزشی پی استور می باشد. این تیم از اساتید مجرب و فارغ التحصیلان رشته های فنی و مهندسی تشکیل شده که در زمینه های مختلف برنامه نویسی و تهیه سورس کد فعال هستند.
دیتاست NSL-KDD
قبل از پرداختن به مسئله تبدیل دیتاست NSL-KDD در متلب شرح کلی از دیتاست داده می شود. همانطور که گفته شد دیتاست NSL-KDD در سال 2009 بعنوان نسخه جدید تجدید نظر شده در مجموعه داده اصلی KDDCup99 ارائه شد. از یک طرف ، NSL-KDD ویژگی های سودمند و چالش برانگیز KDDCup را حفظ کرد.
از طرف دیگر ، با حذف رکوردهای اضافی، عقلانی کردن تعداد نمونه ها و حفظ تنوع نمونه های انتخاب شده، به اشکالاتی که از مجموعه داده اصلی به ارث رسیده است پرداخته است. شایان ذکر است که مجموعه داده NSL-KDD برای به حداکثر رساندن سختی پیش بینی، که ویژگی های برجسته آن را تشکیل می دهد، گردآوری شده است.
به منظور طبقه بندی سوابق به پنج سطح ، مجموعه داده های اولیه با استفاده از چندین طبقه بندی معیار مورد ارزیابی قرار گرفت و هر نمونه با تعداد پیش بینی های موفقیت آمیز آن حاشیه نویسی شد. برای هر گروه، میزان سوابق انتخاب شده معکوس با درصد ضبط از مجموعه داده اصلی KDDCup 99 است.
در کل 42 ویژگی برای دیتاست در نظر گرفته شده که 41 ویژگی مربوط به داده های جمع آوری شده و ویژگی آخر نیز به عنوان برچسب هدف با عنوان نرمال یا حمله می باشد.
در این تحقیق از مجموعه های KDDTrain+ ، KDDTest+ و KDDTest-21 مجموعه داده های NSL-KDD استفاده شده است. مجموعه +KDDTrain به عنوان مجموعه داده برای آموزش شامل 125973 نمونه است که شامل 58630 مورد ترافیک حمله و 67343 نمونه ترافیک عادی است.
مجموعه +KDDTest شامل 22544 نمونه است و برای تست از آن استفاده می شود و به عنوان زیر مجموعه ای از مجموعه +KDDTest، مجموعه KDDTest-21 شامل کل 11850 نمونه است. اعتبارسنجی متقابل بر روی مجموعه +KDDTrain در آزمایشات انجام می شود ، یک مرور کلی از موارد موجود در جدول زیر نشان داده شده است.
NSL-KDD | Class | ||
---|---|---|---|
KDDTest-21 | KDDTest+ | KDDTrain+ | |
2152 | 9711 | 67343 | Normal |
4342 | 7458 | 45927 | DoS |
2402 | 2421 | 11656 | PRB |
2754 | 2754 | 995 | R2L |
200 | 200 | 52 | U2R |
9698 | 12833 | 58630 | Attacks |
11850 | 22544 | 125973 | Total |
تبدیل دیتاست NSL-KDD
در تبدیل این دیتاست به دیتاست رقمی و قابل قبول برای الگوریتم های یادگیری از نرم افزار متلب استفاده شده است. ابتدا کل نمونه ها در 5 دسته یا گروه دسته بندی می شوند که برای حالت Normal عدد 1 و برای بقیه حالت های حمله عددهای 2 تا 5 بسته به نوع حمله در نظر گرفته می شود. حملات در 4 دسته Dos، Probing، R2L و U2R دسته بندی می شوند. طبق برنامه نوشته شده در کل 39 حمله در دیتاست وجود دارد که به شرح جدول زیر گروه بندی شده اند.
شماره برچسب گذاری | گروه حمله | نوع حمله |
---|---|---|
1 | Dos | back, land, neptune, pod, smurf, teardrop, apache2, mailbomb, processtable, udpstorm |
2 | Probing | warezclient, warezmaster, spy, multihop, phf, ftp_write, guess_passwd, imap, xsnoop, xlock, worm, snmpguess, snmpgetattack, sendmail, named |
3 | R2L | rootkit, perl, loadmodule, buffer_overflow, httptunnel, ps, sqlattack, xterm |
4 | U2R | portsweep, satan, ipsweep, nmap, mscan, saint |
مشخصات ویژگی های دیتاست NSL-KDD
همانطور که قبلاً هم گفته شده در این دیتاست 42 ستون وجود دارد که 41 ستون یا ویژگی مربوط به شبکه هست و ستون 42 نیز برای برچسب گذاری نوع حمله و نرمال بودن است. (البته یک ستون 43 نیز وجود دارد که از آن استفاده نمی شود). جدول زیر مشخصات 41 ویژگی یا ستون مربوطه را نمایش می دهد.
شماره ویژگی | نام ویژگی | نوع ویژگی |
---|---|---|
1 | duration | continuous |
2 | protocol_type | symbolic |
3 | service | symbolic |
4 | flag | symbolic |
5 | src_bytes | continuous |
6 | dst_bytes | continuous |
7 | land | continuous |
8 | wrong_fragment | continuous |
9 | urgent | continuous |
10 | hot | continuous |
11 | num_failed_logins | continuous |
12 | logged_in | continuous |
13 | num_compromised | continuous |
14 | root_shell | continuous |
15 | su_attempted | continuous |
16 | num_root | continuous |
17 | num_file_creations | continuous |
18 | num_shells | continuous |
19 | num_access_files | continuous |
20 | num_outbound_cmds | continuous |
21 | is_host_login | continuous |
22 | is_guest_login | continuous |
23 | count | continuous |
24 | srv_count | continuous |
25 | serror_rate | continuous |
26 | srv_serror_rate | continuous |
27 | rerror_rate | continuous |
28 | srv_rerror_rate | continuous |
29 | same_srv_rate | continuous |
30 | diff_srv_rate | continuous |
31 | srv_diff_host_rate | continuous |
32 | dst_host_count | continuous |
33 | dst_host_srv_count | continuous |
34 | dst_host_same_srv_rate | continuous |
35 | dst_host_diff_srv_rate | continuous |
36 | dst_host_same_src_port_rate | continuous |
37 | dst_host_srv_diff_host_rate | continuous |
38 | dst_host_serror_rate | continuous |
39 | dst_host_srv_serror_rate | continuous |
40 | dst_host_rerror_rate | continuous |
41 | dst_host_srv_rerror_rate | continuous |
شماره گذاری ویژگی ها
از 41 ویژگی موجود 3 ویژگی با خاصیت symbolic یا سمبلیک وجود دارد که عددی نیست و باید بصورت عددی تغییر کنند تا برای الگوریتم های یادگیری ماشین قابل فهم باشند و بقیه بصورت continuous یا پیوسته هستند که بصورت عددی است و لازم نیست دستکاری شوند. 3 ویژگی با خاصیت سمبلیک هر کدام شامل نوع های مختلفی هستند که بسته به جایگاهشان و دیده شدن در هر سطر دیتاست به ترتیب از شماره 1 الی آخرین نوع شماره گذاری شده اند. جدول زیر این نوع ها را نشان می دهد.
شماره گذاری | انواع | نام ویژگی |
---|---|---|
1 تا 3 | icmp, tcp, udp | protocol_type |
1 تا 70 | IRC, X11, Z39_50, aol, auth, bgp, courier, csnet_ns, ctf, daytime, discard, domain, domain_u, echo, eco_i, ecr_i, efs, exec, finger, ftp, ftp_data, gopher, harvest, hostnames, http, http_2784, http_443, http_8001, imap4, iso_tsap, klogin, kshell, ldap, link, login, mtp, name, netbios_dgm, netbios_ns, netbios_ssn, netstat, nnsp, nntp, ntp_u, other, pm_dump, pop_2, pop_3, printer, private, red_i, remote_job, rje, shell, smtp, sql_net, ssh, sunrpc, supdup, systat, telnet, tftp_u, tim_i, time, urh_i, urp_i, uucp, uucp_path, vmnet, whois | service |
1 تا 11 | OTH, REJ, RSTO, RSTOS0, RSTR, S0, S1, S2, S3, SF, SH | flag |
محتویات فایل دانلودی
برنامه مربوط به تبدیل دیتاست NSL-KDD برای استفاده الگوریتم های یادگیری ماشین در متلب شامل 9 فایل می باشد که 5 فایل txt. برای خواندن اطلاعات دیتاست خام می باشد و 3 فایل mat. که با علامت قرمز در تصویر نشان داده شده همان دیتاست های آماده می باشد که توسط فایل prepare.m ایجاد شده و آماده استفاده در الگوریتم های یادگیری ماشین می باشد. تصویر زیر محتویات فایل دانلودی را نشان می دهد.
درباره تبدیل دیتاست NSL-KDD
سورس کد آماده تبدیل دیتاست NSL-KDD خام به دیتاست رقمی در متلب در متلب 2017 نوشته شده است. این کد بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید. بمحض خرید محصول لینک دانلود در دسترس خواهد بود.
تاریخ انتشار: | 15 مهر 1399 |
---|---|
تاریخ بروزرسانی: | 12 اسفند 1399 |
حجم فایل: | 9.7 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 346 نفر این محصول را تهیه کرده اند و 2 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 59,000 تومان
تاریخ انتشار: | 15 مهر 1399 |
---|---|
تاریخ بروزرسانی: | 12 اسفند 1399 |
حجم فایل: | 9.7 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
2 بازخورد (مشاهده نظرات)
قیمت: 59,000 تومان
وحید
سلام
امکان تبدیل این دیتاست جهت استفاده در پایتون هم وجود دارد؟
مدیریت و پشتیبانی
سلام
برای تبدیل این دیتاست در پایتون باید کد مربوط به پایتون نوشته بشه.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.