تبدیل دیتاست تشخیص نفوذ KDD99 در MATLAB
در این بخش سورس پیاده سازی و آماده سازی تبدیل دیتاست تشخیص نفوذ KDD99 جهت تزریق به الگوریتم های یادگیری ماشین را در نرم افزار MATLAB آماده کرده ایم که در ادامه به توضیحاتی در این باره پرداخته و لینک خرید آن قرار داده شده است.
تهیه و استفاده از دیتاست در پروژه
یکی از مشکلات و چالش های پژوهشگران در بخش دیتاست ها، نحوه جستجو و تهیه دیتاست (Dataset) می باشد. اما اصلی ترین مشکل بعد از یافتن دیتاست، نحوه بکارگیری و تزریق آن به الگوریتم ها می باشد. بیشتر دیتاست ها یا مجموعه داه ها به صورت خام بوده و جهت استفاده از آنها باید پیش پردازش شوند. احتمال دارد که داده ها در دیتاست ها، نوع های متفاوتی داشته باشند (مثل رشته یا عدد) که چگونگی تبدیل آنها به فرمت مخصوص الگوریتم ها، با در نظر گرفتن ابعاد بسیار بزرگ دیتاست ها، امری چالش برانگیز، سخت و همینطور بسیار وقت گیر است. به ویژه در مواقعی که جهت دیدن نتیجه بعد از اجرای کد، باید ساعت ها منتظر ماند.
معرفی دیتاست KDD Cup 99
دیتاست KDD99 یک داده استاندار به منظور ارزیابی سیستم های تشخیص نفوذ (Intrusion Detection System – IDS) می باشد که اعتبار خود را از سومین مسابقه بین الملی كشف دانش (Knowledge Discovery) و داده كاوی (Data Mining) كسب كرده است. گروه IST از آزمایشگاه MIT Lincoln اولین داده های استاندارد به منظور بررسی و ارزیابی سیستم های تشخیص نفوذ (IDS) را جمع آوری کرده اند. اطلاعات فوق در طی چند هفته در یک قالب یک شبیه سازی جهت آزمایش سیستم تشخیص نفوذ DARPA مورد استفاده قرار گرفت. این مجموعه داده ها براساس اطلاعاتی که بین سال 1998 تا 1999 جمع آوری شده اند، بندی شده است. دیتاست KDD99 متشکل از ركورد های اتصال استانداردی است كه مجموعه ای از حملات و نفوذ های شبیه سازی شده در یک شبكه نظامی را دربر دارد.
یک اتصال با پروتكل TCP و UDP و یا پروتکل ICMP می باشد که در زمان های مشخصی شروع و به پایان می رسد و بین آن زمان ها، داده ها از آدرس IP مبدا به آدرس IP مقصد و برعكس، براساس یک پروتکل تعریف شده، در جریان هستند. هر کدام از اتصال ها به عنوان نرمال (Normal) یا حمله (Attack) برچسب گذاری شود و در مواقع حمله، نوع آن به صورت دقیق مشخص می شود.
دسته بندی حملات
حملاتی كه در این مجموعه داده وجود دارند، در چهار دسته اصلی شامل U2R ، R2L ، DOS و Probe هستند. دیتاست KDD99 در قالب چند فایل سازماندهی شده است. در این مجموعه از فایل ها، دو فایل به نام های 10_percent و corrected قرار دارد كه در اغلب پروژه ها از دیتاست 10_percent به منظور آموزش و آزمایش سیستم های طراحی شده استفاده می شود.
جزئیات دیتاست KDD99
مجموعه داده KDD99 (فایل 10_percent) در مخزن داده ای UCI به صورت رایگان در دسترس است که شما کاربران گرامی می توانید با کلیک در اینجا دانلود نمائید. همانطور که در توضیحات بالا نیز اشاره شد، حملاتی كه در این مجموعه داده وجود دارند، در چهار دسته اصلی شامل U2R ، R2L ، DOS و Probe قرار می گیرند. ولی در خود فایل 10_percent در 23 دسته مختلف قرار دارد. با توجه به این موضوع، طبق مقالات و رفرنس های مختلف، ما هم این دسته بندی را به صورت زیر در 4 گروه انجام دادیم که اعداد جلوی آنها مربوط به تعداد رکوردهای موجود می باشد:
There are total of 23 types of attack, and all of them belong to the four main attack categories (DoS, R2L, U2R, Probing) and normal.
%normal.=normal. =97278
%DoS=back. land. neptune. pod. smurf. teardrop. =391458
%R2L=warezclient. warezmaster. spy. multihop. phf. ftp_write. guess_passwd. imap.=1126
%U2R=rootkit. perl. loadmodule. buffer_overflow.= 52
%Probing=portsweep. satan. ipsweep. nmap.= 4107
ما 5 کلاس داریم که در بین آنها، یک کلاس مربوط به حالت نرمال و 4 کلاس دیگر نیز مربوط به حمله می باشد. تعداد کل داده های 10 درصدی 494021 رکورد است. این دیتاست شامل 41 ویژگی یا ستون می باشد و ستون 42 نیز معرف نوع حمله یا نرمال بودن را نشان می دهد. تصویر زیر این دیتاست را نشان می دهد که در آن هر یک از ستون ها معرف یک خصیصه از یک اتصال می باشد که در فایل دانلودی از سایت UCI نیز قابل مشاهده می باشد.
با سلام.. فایل csv این دیتاست هم در اختیارمان قرار میدید؟ فقط قابل اجرا در متلب هست؟ و اینکه میشه لطفا بفرمایید چه نوع نرمال سازی روی داده ها انجام شده که ببینیم به کارمون میاد یا نه؟
فایل دیتا با فرمت txt و mat هست، می تونید فایل txt رو به csv تبدیل کنید و در سایر نرم افزار ها و زبان ها هم استفاده کنید. جزئیات این دیتاست در همین صفحه از سایت که هستید درج شده می تونید مطالعه کنید.