درشتاینترنت و شبکه های کامپیوتری در معرض تعداد فزاینده ای از حملات اینترنتی هستند. با انواع جدید حملات که به طور مداوم پدیدار می شوند توسعۀ رویکرد های وفقی و انعطاف پذیر براساس امنیت، یک چالش سخت است. در این زمینه تکنیک های تشخیص نفوذ در شبکه بر مبنای ناهنجاری، تکنولوژی ارزشمندی برای حفاطت از سیستم های مورد هدف و شبکه ها در مقابل فعالیت های بدخواهانه است.

۱. مقدمه

سیستم های تشخیص نفوذ (IDS) ابزارهایی امنیتی هستند که مانند سایر اندازه گیرها مثل نرم افزارهای آنتی ویروس و دیوار آتش و نمودار های کنترل دسترسی، امنیت اطلاعات در سیستم های ارتباطی را تقویت می نمایند.
کار قابل توجهی توسط CIDF در حال اجرا بوده است، گروهی که توسط DAPRA در سال 1988 به وجود آمد و اساسا در راستای هماهنگ سازی و تعریف یک چارچوب مشترک در زمینۀ IDS فعالیت می کند. با ادغام شدن در IEFT در سال 2000 و با پذیرفتن نام مخفف جدید IDWG ، این گروه یک ساختار کلی برای IDS ها بر مبنای 4 نوع ماژول کاربردی تعریف کرده است. این ساختار در شکل شماره 1 مشخص است.

توضیح تصویر

بلوک های E یا جعبه های رویداد : این بلوک ها از المان های حسگر که سیستم هدف را نمودار می کنند تشکیل شده اند. برای تحلیل اطلاعات رویدادها به بلوکهای دیگری نیاز است.
بلوک های D یا جعبه های پایگاه اطلاعاتی : وظیفۀ این المان ها، ذخیرۀ اطلاعات بلوک های E برای فرآیندهای بعدی بلوک های A و R است.
بلوک های A یا جعبه های تحلیل اطلاعات : ماژول های پردازش برای تحلیل رویدادها و تشخیص رفتارهایی که بالقوه مشکل سازند می باشند و ممکن در صورت نیاز یک هشدار تولید کنند.
بلوک های R یا جعبه های پاسخ : کارکرد اصلی این بلوک ها عملیات اجرایی است تا اگر نفوذی رخ دهد واکنش مناسب برای خنثی کردن آن تهدید اجرا شود.
بسته به منبع اطلاعات مورد بررسی ( بلوک های E )، یک IDS می تواند بر مبنای میزبان یا بر مبنای شبکه باشد. یک IDS بر مبنای میزبان، رویدادها را مانند فراخوانی های سیستم و هویت دهی به پردازش ها تحلیل می کند و اساسا به اطلاعات سیستم عامل ارتباط دارد. در سوی دیگر یک IDS بر مبنای شبکه، رویدادهای مرتبط با شبکه مانند حجم ترافیک، آدرس های IP، پورت های مورد استفاده، پروتکل مورد استفاده و ... را تحلیل می کند. موضوع بحث ما IDS های بر مبنای شبکه است.
بسته به نوع تحلیل انجام شده ( بلوک های A )، IDS ها به دو دستۀ برمبنای امضا و برمبنای ناهنجاری تقسیم می شوند. روش های برمبنای امضا به دنبال الگوهای تعریف شده یا امضاها در داده های تحلیل شده می گردند. برای این منظور یک پایگاه دادۀ امضاها بر اساس حملات شناخته شده تعیین شده و برای مقایسه مورد استفاده قرار می گیرد. در سوی دیگر شناسایی کننده های برمبنای ناهنجاری، تلاش می کنند تا رفتار طبیعی سیستمی که باید حفاظت شود را تخمین بزنند و مواقعی که انحراف نمونۀ مورد بررسی از یک آستانۀ از پیش تعیین شده فراتر رود یک هشدار ناهنجاری تولید کنند. یک امکان دیگر در این روش، مدل کردن رفتار غیرطبیعی سیستم و ایجاد هشدار در زمان هایی است که اختلاف نمونۀ مورد بررسی با این مدل از یک حد معین کمتر باشد.
تفاوت اصلی سیستم های مبتنی بر امضا و سیستم های مبتنی بر ناهنجاری در مفاهیم "حمله" و "ناهنجاری" نهفته است. یک حمله می تواند به عنوان "دنباله ای از عملیات که امنیت سیستم را در خطر قرار می دهند" تعریف شود درحالیکه ناهنجاری فقط "یک رویداد که از نظر امنیتی مظنون است" تعریف می شود. با توجه به این تعاریف، مزیت ها و ایرادات هریک بیان می شود.
روش های برمبنای امضا نتایج بسیار خوبی در حفاظت از سیستم در مقابل حملات معین و کاملا شناخته شده دارند اما قادر به تشخیص نفوذهای ناآشنا و جدید نیستند حتی اگر نفوذهای جدید با نفوذهای شناخته شده تفاوت بسیار کمی داشته باشد.
در مقابل، مزیت اصلی تکنیک های تشخیص مبتنی بر ناهنجاری، توانایی بالقوه در تشخیص رویدادهایی که قبلا مشاهده نشده، است. اگرچه به عنوان ایراد این تکنیک ها باید گفت با وجود دقیق نبودن ویژگی های روش امضا، به طور معمول نرخ رویدادهایی که به اشتباه به عنوان حمله شناخته شده اند در سیستم های مبتنی بر ناهنجاری بیشتر از سیستم های مبتنی بر امضا است.
با توجه به توانایی های تضمین شدۀ سیستم های تشخیص نفوذ در شبکه بر مبنای ناهنجاری (A-NIDS)، این رویکرد در حال حاضر در مرکز توجه تحقیقات و توسعه در زمینۀ مشخیص نفوذ است.
روش های A-NIDS
با اینکه رویکردهای A-NIDS متفاوتی وجود دارد، در قواعد کلی همۀ آنها متشکل از ماژول ها یا مراحل اولیۀ زیر هستند:

  1. پارامتری سازی

  2. مرحلۀ آموزش

  3. مرحلۀ تشخیص
    در شکل شماره 2 ارتباط این 3 ماژول نشان داده شده است.

    توضیح تصویر

    بر طبق نوع پردازش مرتبط با مدل رفتاری سیستم، روش های تشخیص مبتنی بر ناهنجاری می توانند به 3 دست تقسیم شوند. روش مبتنی بر آمار ، روش مبتنی بر دانش و روش مبتنی بر یادگیری ماشین . در روش مبتنی بر آمار رفتار سیستم از یک نقطه نظر تصادفی نمایش داده می شود. روش مبتنی بر دانش تلاش می کند تا رفتار مطلوب را از اطلاعات سیستمی در دسترس ( ویژگی های پروتکل، نمونه های ترافیک شبکه و ..) بدست آورد و روش مبتنی بر یادگیری ماشین بر اساس پایه گذاری یک مدل صریح یا ضمنی که دسته بندی الگوهای تحلیل شده را ممکن می سازد است.
    روش های A-NIDS مبتنی بر یادگیری ماشین
    همانطور که گفته شد روش مبتنی بر یادگیری ماشین بر اساس پایه گذاری یک مدل صریح یا ضمنی که دسته بندی الگوهای تحلیل شده را ممکن می سازد است. یک ویزگی این روش این است که دادۀ تعیین شده باید مدل رفتاری را یاد بگیرد.
    یک A-NIDS مبتنی بر یادگیری ماشین قابلیت تغییر استراتژی اجرایی خود با توجه به نیاز به اطلاعات جدید، داراست اگرچه این ویزگی این روش را برای همۀ شرایط مطلوب می سازد، ایراد اصلی آن ماهیت پرهزینۀ منابع آن است.
    از میان روش های A-NIDS مبتنی بر یادگیری ماشین به روش الگوریتم های ژنتیک اشاره می کنیم.
    روش الگوریتم های ژنتیک
    الگوریتم های ژنتیک در جستجوی اکتشافی عمومی دسته بندی می شوند و یک کلاس ویژه از الگوریتم های تکاملی هستند که از تکنیک هایی الهام گرفته از بیولوژی تکاملی مانند وراثت، جهش، انتخاب و ترکیب استفاده می کنند.
    مزیت اصلی این زیرمجموعه از A-NIDS های مبتنی بر یادگیری ماشین، استفاده از یک روش جستجوی عمومی پایدار و انعطاف پذیر است که از جهات مختلف به سوی جواب می رود در حالیکه هیچ دانش قبلی دربارۀ رفتار سیستم در نظر گرفته نشده است.
    ایراد اصلی آن درگیر کردن منابع مصرفی به میزان زیاد است.

۲. کارهای مرتبط

تاریخچۀ IDSها:
در سال 1980 مفهوم IDS با مقالۀ اولیۀ اندرسون آغاز شد. با معرفی این اندیشه که ضمیمه های ممیزی دارای اطلاعاتی حیاتی هستند که ممکن است در تعقیب رفتارهای غیرعادی و درک رفتارهای کاربر مفید باشد. در واقع کار او آغاز IDS های برمبنای میزبان بود. در سال 1986 دکتر دوروتی دنینگ مدلی منتشر کرد که اطلاعات ضروری برای توسعۀ IDS های تجاری را آشکار نمود. MIDAS یک سیستم خبره با استفاده از P-Best و LISP در سال 1988 پیاده سازی شد. در همان سال Haystack نیز پیاده سازی شد که با استفاده از آمار سعی در کم کردن ضمیمه های ممیزی داشت. Wisdom & Sence در سال 1989 به عنوان یک تشخیص دهندۀ ناهنجاری مبتنی برآمار که براساس تحلیل آماری، قوانینی تولید می کرد و سپس از آن قوانین برای تشخیص ناهنجاری استفاده می کرد، پیاده سازی شد. Heberlein در سال 1990 ابتدا ایدۀ IDS های شبکه، توسعۀ مانیتورینگ امنیت شبکه و IDS های ترکیبی را مطرح کرد و پس از او Lunt یک سیستم خبرۀ تشخیص نفوذ به نام SRI را ارائه کرد، سیستمی با دو رویکرد: یک سیستم خبرۀ مبتنی بر قانون و یک تشخیص دهندۀ ناهنجاری بر مبنای آمار که بر روی پایگاه های کاری شرکت Sun اجرا شد و قادر بود داده را هم در سطح کاربر و هم در سطح شبکه مورد بررسی قرار دهد. از سوی دیگر در اوایل دهۀ 90 توسعۀ تجاری IDS ها آغاز شد و ماشین استنتاجی مبتنی بر زمان TIM ، با استفاده از یادگیری استنتاجی الگوهای متوالی کاربر در LISP مشترک بر روی یک کامپیوتر VAX 3500 تشخیص ناهنجاری را انجام می داد. در سال 1991 IDS های توزیع شده (DIDS) شامل یک سیستم خبره که توسط محققین دانشگاه کالیفرنیا ساخته شد، یک تشخیص دهندۀ ناهنجاری مبتنی بر آمار به نام NADIR و یک سیستم خبره توسط Los Alamos National Laboratory's Integrated Computing Network پیاده سازی شدند. Lunt در سال 1993 نسل دوم سیستم خبرۀ تشخیص نفوذ را با توسعۀ SRI با استفاده از شبکۀ عصبی مصنوعی ارائه کرد. در سال 1998 آزمایشگاه ملی Lawrence Berkely یک زبان قانون نویسی به نام Bro را برای تحلیل بسته ها از مجموعۀ دادۀ libpcap معرفی کرد. در سال 2001 در تحلیل داده های ممیزی و IDS های کاوشگر از tcpdump برای ایجاد پروفایل های قوانین برای طبقی بندی ها استفاده شد.

در یک دسته بندی کلی می توان سیستم های تشخیص نفوذ در شبکه بر مبنای ناهنجاری را مانند شکل شماره 3 ارائه کرد:

توضیح تصویر

بر مبنای این دسته بندی با مطالعه کارهای نسبتا قدیمی که بین سال های 1980 و 2005 صورت گرفته است، به چند مورد به طور اجمالی اشاره می کنیم:

  • در یک رویکرد اولیه از روش مبتنی بر آمار، در سال 1985، Denning , Neumann مدلی تک متغیره ارائه دادند که هر یک از متغیرهای سیستم هدف را به عنوان یک متغیر مستقل تصادفی گاوسی در نظر می گرفت. بعدها مدل های چندمتغیره که ارتباط و همپوشانی بین دو یا چند متغیر سیستم را در نظر می گرفت ارائه شد. این مدل ها مفید هستند چرا که داده های آزمایشی نشان داده اند که در این حالت سطح بهتری از تمایز بین حالات عادی و نفوذ، قابل دستیابی است. Ye در سال 2002 مدلی از سیستم های چندمتغیره مبتنی بر آمار ارائه کرده است.

  • در سیستم های خبره که یکی از روش های مبتنی بر دانش است، داده های مورد بررسی براساس مجموعه ای از قوانین در سه مرحله طبقه بندی می شوند: 1. با استفاده از دادۀ آزمایشی کلاس ها و صفات مختلف معین می شوند. 2. مجموعه ای از قوانین، پارامترها و فرآیندها استخراج می شود. 3. داده های مورد بررسی متناظرا طبقه بندی می شوند. Anderson در سال 1995 در این زمینه کار کرده است.

  • اما در زمینۀ روش های مبتنی بر یادگیری ماشین، یکی از مدل های مورد استفاده مدل Bayesian است. در این مدل ارتباط احتمالاتی بین متغیرهای مهم سیستم هدف کدگذاری می شود. این روش عموما در ترکیب با نمودارهای آماری استفاده می شود. Heckerman در سال 1995 ضمن انجام این کار، مزیت های آن را نشان داده است. یکی از این مزیت ها، توانایی کدگذاری وابستگی های بین متغیرها و پیش بینی رویدادهاست و همچنین توانایی ترکیب شدن با دانش قبلی و داده های قبلی.
    کارهای جدید:
    در اینجا به توضیح مختصر تعدادی از کارهای جدید می پردازیم:
    1- در کاری که R. Remya و Amrita Vishwa Vidyapeetham در سال 2013 انجام داده اند از الگوریتم های ژنتیک و SOFM برای بهبود تشخیص ناهنجاری و کم کردن خطای تشخیص استفاده شده است. در این کار تشخیص ناهنجاری توسط یک ماشین برداری پشتیبانی (SVM) با حاشیۀ نرم صورت می گیرد که ورودی ها را با توجه به رفتارشان به دو دستۀ عادی و ناهنجار تقسیم می کند . الگوریتم های GA و SOFM برای بهبود ویژگی ها و استخراج اطلاعات از یک مجموعۀ دادۀ بزرگ مثل KDD99 استفاده می شوند. GA کمک بزرگی در تشخیص رفتار ناهنجار می کند و SOFM کمک می کند تا گروه های مشابه از داخل مجموعۀ داده به وسیلۀ اندازه گیرهای تشابه، احراز هویت گردند. این دو الگوریتم یادگیری ماشین باعث کاهش حجم مجموعۀ داده و ویژگی ها در یادگیری SVM می شوند.
    فریم ورک ارائه شده با نام GSS دارا 10 درصد افزایش در نرخ تشخیص و 50 درصد کاهش در نرخ خطاهای تشخیص نسبت به SVM با حاشیۀ نرم است.

    2- در کاری که Dewam Md. Farid و Mohammad Zaridur Rahman در سال 2010 انجام داده اند با ارائۀ الگوریتم جدیدی با عنوان الگوریتم Bayesian وفقی خود بهبود دهنده، رویکرد جدیدی در طبقه بندی هشدارها اتخاذ کرده اند که تعداد FP ها یعنی رفتارهای عادی که به اشتباه به عنوان رفتار ناهنجار اعلام شده و هشدار داده می شوند، را پایین می آورد و قدرت تشخیص درست را بالا می برد. رویکرد ارائه شده بر روی دامنۀ امنیت تشخیص نفوذ در شبکه مبتنی بر ناهنجاری اجرا شده و توانسته است به درستی انواع مختلف حمله را در مجموعۀ دادۀ بنچمارک KDD99 با نرخ بالایی در زمان کم طبقه بندی کند و با استفاده از منابع محاسباتی محدود تعداد FP ها را کاهش دهد.

3- در کاری که Mohammad Sazzadul Hoque و Md. Abdul Mukit و Md. Abu Naser Bikas در سال 2012 انجام داده اند سیستم تشخیص نفوذی با استفاده از الگوریتم ژنتیک برای تشخیص کارآمد انواع نفوذ در شبکه ارائه شده است. در این رویکرد از تئوری تکامل برای تکامل اطلاعات جهت فیلتر کردن داده های ترافیک شبکه و کم کردن پیچیدگی استفاده شده است. برای پیاده سازی و اندازه گیری کارایی سیستم از مجموعۀ دادل بنچمارک KDD99 استفاده شده که در این شرایط نرخ خوبی در تشخیص برای خود ثبت کرده است.

۳. آزمایش‌ها

همان‌طور که در بخش‌های قبلی مطرح شد، یکی از رویکردهای تشخیص ناهنجاری در شبکه، استفاده از رویکرد مدل‌های افزایشی (نوعی روش یادگیری ماشین که در آن مدل همراه با زمان تغییر می‌کند) است. این رویکرد به این دلیل به وجود آمده است که ماهیت تشخیص ناهنجاری به گونه ای است که الگوهای استاندارد دائماً به‌روز می‌شوند و برای جلوگیری از افزایش نرخ FP (اعلام های مثبت ولی اشتباه) باید نمایه‌های وضعیت‌های عادی یا استاندارد را دائم به‌روز کرد تا یک رفتار عادی به اشتباه به عنوان نفوذ یا ناهنجاری دسته‌بندی نشود.
تعریف مسأله
اولین گام در تشخیص ناهنجاری فرموله کردن مسأله به شکل یک مسأله‌ی الگوشناسی است. پس از این گام، الگوریتم‌هایی که برای تشخیص ناهنجاری به کار گرفته می‌شوند باید به‌نحوی پیاده‌سازی شوند که توانایی یادگیری لحظه به لحظه (Online) را داشته باشند. مهم‌ترین مسأله در الگوریتم‌های تشخیص ناهنجاری توانایی به‌روز کردن نمایه‌ها یا الگوهای عادی به صورت پویا است.
نکته‌ی مهم در این رویکرد این است که تشخیص نفوذ را زیرمجموعه‌ای از تشخیص ناهنجاری درنظر بگیریم. به طور کلی می‌توان در مواجهه با یک ترافیک چهار حالت را مد نظر قرار داد:‌

  1. نفوذ اما هنجار: یک سامانۀ تشخیص ناهنجاری ممکن است در شناسایی این دسته از نفوذها ناموفق عمل کند. چراکه رفتاری شبیه به رفتاری که برای سامانه عادی قلمداد می شود توسط مهاجم اتخاذ شده است. یعنی یک سامانۀ تشخیص ناهنجاری، به اشتباه خروجی منفی برای آن ثبت می‌کند.

  2. غیرنفوذ اما ناهنجار:‌این موقعیت، همان موقعیتی است که یک سامانۀ تشخیص ناهنجاری FP تولید می‌کنداگرچه رفتار غیرعادی است، اما نفوذ نیست.

  3. غیرنفوذ و هنجار:موقعیتی که سامانه، منفی صحیح ایجاد می‌کند. هم رفتار عادی است و هم نفوذی صورت نگرفته است.

  4. نفوذ و ناهنجار:‌ موقعیتی که سامانه، مثبت صحیح ایجاد می‌کند. یعنی رفتاری که شبیه به رفتار عادی سامانه نیست و یک حمله واقعاً صورت گرفته است.[6]

رویکردهای افزایشی در تشخیص ناهنجاری
واضح است که اگر سامانۀ تشخیص ناهنجاری را در شبکه قرار دهیم، این سامانه باید ترافیک را لحظه به لحظه دریافت و ضبط کند، سپس مرحلۀ پیش‌پردازش روی دادۀ ضبط‌شده انجام شود که در همین مرحله استخراج ویژگی‌ها نیز انجام می‌شود و سپس داده به سمت موتور تشخیص ناهنجاری ارسال می‌شود. مهم‌ترین مرحله‌ای که در این‌جا از آن صحبت می‌کنیم و نتایج آزمایش روی آن انجام شده است، موتور تشخیص ناهنجاری است.

انواع ناهنجاری:
ناهنجاری نقطه‌ای: یک نمونۀ داده می‌تواند با توجه به معیارهای درنظر گرفته‌شده ناهنجاری محسوب شود. این مقایسه بدون توجه به سایر داده‌های قبل و بعد آن انجام می‌شود.
ناهنجاری‌های متنی: تشخیص این ناهنجاری‌ها با استفاده از ویژگی‌های رفتاری و ویژگی‌های متنی صورت می‌گیرد. ویژگی‌های متنی، مشخص‌کنندۀ ویژگی‌های یک نمونه در یک همسایگی مشخص است. ویژگی‌های رفتاری مسئول مشخص کردن مشخصه‌هایی هستند که با ویژگی‌های متنی نمی‌توان آن‌ها را تعیین کرد.
برای تشخیص این نوع ناهنجاری مدلی پیشنهاد شده است که از هر دو نوع ویژگی‌های متنی و رفتاری بهره می‌برد. البته باید توجه داشت که این نوع ناهنجاری نیز یک ناهنجاری نقطه‌ای است و داده‌ها به صورت دسته‌ای دیده نمی‌شوند.
ناهنجاری جمعی: در برخی مواقع، ناهنجای در یک جریان از داده‌ها نمایان می‌شود، یعنی در مقایسه با کل مجموعه‌داده یک بخشی از داده‌ها که به نوعی (زمانی یا مکانی) به یکدیگر وابسته هستند، یک تغییر را مشخص می‌کنند. [6]
مانند همه‌ی رویه‌های یادگیری ماشین، سه حالت با نظارت، نیمه نظارتی و بدون نظارت در الگوریتم‌ها وجود دارد.

مجموعه‌دادۀ استفاده شده
مجموعه‌دادۀ KDD99که دارای ۴۱ ویژگی می‌باشد، دارای مقادیری غالبا به صورت عددی است، اما پرچم‌های موجود در بسته، نوع پروتکل، نوع سرویس و برخی دیگر از مشخصه‌ها به صورت نمادین تولید شده است.

مجموعه‌دادۀ اصلی ۴۸ میلیون داده ۲۲ نوع حمله
مجموعه‌دادۀ آموزش ۱۶۹ هزار داده ۲۲ نوع حمله
مجموعه‌دادۀ آزمون ۳۱۱ هزار داده ۳۹ نوع حمله

به طور کلی تمام حملات استفاده شده در این مجموعه‌داده در ۴ دسته تقسیم می‌شوند:‌

·حملات U2R
·حملات R2L
·حملات Probe
·حملات DoS
و دستۀ آخر مربوط به ترافیک عادی است که با برچسب Normal مشخص می‌شود.[7]

۴. روش آزمایش:

در این مرحله با استفاده از ابزار Weka، روش آبشاری بررسی شده است، روش آبشاری با دریافت مجموعه‌دادۀ KDD99این مجموعه‌داده را با توجه به نوع سرویس یا ویژگی چهارم مجموعۀ داده تقسیم‌بندی می‌کند. سپس هر دسته از سرویس‌ها را به عنوان مجموعه‌دادۀ آموزش به یک درخت می‌دهد . نوع درخت در روش آزمایش‌شده درخت ITIاست.
خوشه‌بندی قبل از درخت نیز توسط دو روش K-Means و SOMانجام شده است.
الگوریتم K-Means:
الگوریتم K-meansدر مقالات Sarasammaو Wei-Yiاستفاده شده است. هر دو با استفاده از ابزار Wekaو مقدار K=10یک مجموعۀ آموزشی ۱۶۹ هزار نمونه‌ای که به صورت تصادفی از مجموعۀ داده‌ی اصلی انتخاب شده است را ایجاد کرده‌اند.

پروژه پیاده‌سازی شده از طریق آدرس زیر قابل دسترسی است:
https://github.com/Sahar-amuee/Service-Classifie-of-KDD99.git
پرونده‌های نام برده شده در این قسمت همگی در آدرس بالا موجود است.

استفاده از Service Classifier:
در این حالت مجموعۀ آموزش و مجموعۀ آزمون هر دو بر اساس نوع سرویس بخش بندی می‌شوند، سپس به ازای هر سرویس یک درخت ITIکه در ادامه توضیح داده می‌شود، آموزش می‌بیند.
کد مربوط به این بخش را در پرونده prepare_dataset می‌باشد.[8]

تشخیص ناهنجاری با درخت تصمیم ITI
پس از آموزش، یک درخت تصمیم دودویی ایجاد می‌شود. در این درخت دو کلاس "صفر" برای ترافیک عادی و "یک" برای ترافیک ناهنجار تعریف می‌شود. البته این رویکرد در درخت تصمیم ID3نیز قبلاً پیاده‌سازی شده است.
درخت تصمیم ITIتوسط Utgoffپیاده‌سازی شده است و به صورت یک ابزار جداگانه از طریق خط فرمان در دسترس است.
در ITI یک درخت تصمیم افزایشی یا دسته‌ای ساخته می شود، در حالت افزایشی هر نمونه به یک درخت کامل اضافه می‌شود و درخت بازسازی می‌شود، و در حالت دسته‌ای پس از بررسی همۀ نمونه‌ها، درخت کامل ایجاد می‌شود. رویکرد افزایشی از لحاظ هزینه معمولاً بهینه‌تر است.
استفاده از این الگوریتم به این صورت است که یک زیرمسیر شامل پروندۀ نام‌ها و پروندۀ داده ایجاد می‌شود،‌ این نوع استفاده از داده‌ها قالب C4.5 است که در برنامه‌های یادگیری ماشین مانند Wekaهم قابل استفاده است.
پروندۀ دارای پسوند names در سطر اول شامل تمامی برچسب‌های کلاس مجاز برای هر رکورد داده است. سطر اول با یک نقطه در انتهای آن تمام می‌شود. در سطرهای بعدی به ترتیب نام هر ویژگی با نوع آن مشخص می‌شود که باز هم انتهای هر سطر با نقطه مشخص خواهد شد. برای درخت تصمیم ITI نیازی به مشخص کردن نوع متغیر ویژگی نیست.
پروندۀ دیگر با پسوند dataشامل داده‌ها است. این پرونده در هر سطر شامل یک نمونۀ واقعی است. هر جفت متغیر/ مقدار با یک کاما از جفت بعدی جدا شده است و در انتها نام برچسب کلاس قرار دارد. اگر از علامت سؤال در برچسب استفاده شده باشد یعنی مقدار کلاس این نمونه مشخص نیست .
برنامۀ ITI پس از مشخص کردن مسیر پرونده‌ها، نصب و اجرا می‌شود، این برنامه از طریق خط فرمان در دسترس است.این ابزار از لینک http://people.cs.umass.edu/~lrn/iti/ در دسترس است.

۵. نتایج آزمایش:

در این آزمایش ابتدا مجموعۀ دادۀ‌ اصلی به صورت تصادفی مرتب شد و ۱۶۹ هزار نمونه از آن انتخاب شد که به عنوان مجموعۀ آموزش به رده‌بندها (Classifiers) وارد می‌شود.

اولین آزمایش با استفاده از درخت تصمیم ITI انجام شده است، سپس مجموعۀ داده بر اساس نوع سرویس تقسیم شده است، و به ازای هر سرویس، یک درخت آموزش داده شده است. نتایج در جدول زیر قابل مشاهده است:‌

نوع حمله نرخ نمونه در مجموعۀ آزمون درخت ITI ITI+SC
U2R ۲۲۸ ۷۸٫۳۶٪ ۶۷٫۴۵٪
R2L ۱۶۱۸۹ ۱۸٫۱۲٪ ۲۱٫۰۹٪
PROBE ۴۱۶۶ ۹۴٫۶۷٪ ۹۵٪
Normal ۶۰۵۹۳ ۹۸٪ ۹۸٫۳۲٪
DoS ۲۲۹۸۵۳ ۹۴٫۹۳٪ ۹۷٪
نرخ دقت کلی مجموع: ۳۱۱۰۲۹ ۹۱.۵۱٪ ۹۳.۲۵٪
تشخیص اشتباه ۲.۰۶٪ ۱.۹۳٪

۶. کارهای آینده

۷. مراجع

[1] Kabiri, Peyman, and Ali A. Ghorbani. "Research on Intrusion Detection and Response: A Survey." IJ Network Security 1.2 (2005): 84-102.
[2] P.Garcia-Teodoro, J.Diaz-Verdego,G.Macia-Fernandez, E.Vazquez. "Anomaly-based network intrusion detection techniques, systems and challenges". Computers & Security Volume28, issue 1-2, (2009): 18-28.
[3] Este´vez-Tapiador JM, Garcı´a-Teodoro P, Dı´az-Verdejo JE. "Anomaly detection methods in wired networks: a survey and taxonomy". Computer Networks (2004):27(16):1569–84.
[4] Bridges S.M., Vaughn R.B. "Fuzzy data mining and genetic algorithms applied to intrusion detection". In: Proceedings of
the National Information Systems Security Conference; (2000):13–31.
[5] Li W. "Using genetic algorithm for network intrusion detection". C.S.G. Department of Energy; (2004): 1–8.
[6] Monowar Hussain Bhuyan1, D K Bhattacharyya1 and J K Kalita2. "Survey on Incremental Approaches for Network Anomaly Detection". International Journal of Communication Networks and Information Security (IJCNIS),Vol. 3, No. 3,(2011) .
[7]Suseela T. Sarasamma and Qiuming A. Zhu. "Min–Max Hyperellipsoidal Clustering forAnomaly Detection in Network Security". IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, AUGUST (2006),VOL. 36, NO. 4.
[8]Wei-Yi Yu and Hahn-Ming Lee. "An Incremental-Learning Method for Supervised Anomaly Detection by Cascading Service Classifier and ITI Decision Tree Methods ". Department of Computer Science and Information Engineering National Taiwan University of Science and Technology Taipei, 106, Taiwan, R.O.C ,(2009)
[9] Mahbod Tavallaee, Ebrahim Bagheri, Wei Lu, and Ali A. Ghorbani. "A Detailed Analysis of the KDD CUP 99 Data Set".Proceedings of the 2009 IEEE Symposium on Computational Intelligence in Security and Defense Applications (CISDA 2009)

۸. پیوندهای مفید

سعید عادل مهربان

متأسّفانه حس ناهمگونی که در فاز قبل در کار شما وجود داشت در این مرحله با انتخاب روش‌های درخت تصمیم بیشتر شده است. در انجام آزمایشات، شما صرفاً از ابزار وکا استفاده کرده و چیزی را پیاده‌سازی نکرده‌اید. ضمن اینکه خواننده تقریباً از جزئیات درخت تصمیم ITI بی‌اطّلاع می‌ماند. پس بی‌دلیل نیست که گزارش نتایج صرفاً به یک جدول و چند عدد محدود می‌شود و تحلیلی ذیل آن به چشم نمی‌خورد.

از دیتاست خوبی استفاده شده بود ولی بهتر بود از منابع جدیدتری استفاده می کردید.
منابع تصاویر و جملاتی که در متن استفاده کرده اید را مشخص کنید.

در ابتدا باید ذکر کنم اثر ترجمه در جای جای متن کاملا محسوس است. نکته جالب عدم نوشتن واژه اصلی به عنوان پاورقی برای معادل های استفاده شده است. این موضوع سبب شده متن به خصوص قسمت مقدمه خوب درک نشود. به نظرم اصلا میلی به نوشتن پاورقی نداشتید.
بخش مقدمه برای من نامفهوم بود و نتوانستم مشکل را به خوبی متوجه بشوم. در مورد معماری پیشنهاد شده نیز توضیحات گنگ بود.
در ذکر منابع بسیار ضعیف عمل کردید و در متن کمتر منابع ذکر شده اند.
بخش کارهای مرتبط قابل قبول بود.
توقع داشتم در مورد انواع حملات مطرح شده توضیح مختصری ارائه می کردید.
در کل به نظرم نمره ۳ برای این کار مناسب است