IDS: Intrusion Detection System

intrusion detection system concepts and techniques

IDS: Intrusion Detection System

intrusion detection system concepts and techniques

مجموعه داده KDD CUP 1999 چیست - کاربرد ویژگی های یک اتصال شبکه برای تشخیص نفوذ

در این پست به معرفی جامع تر مجموعه داده های جمع آوری شده برای تست سیستم هایش تشخیص نفوذ تحت نام KDD CUP 1999 می پردازم و نشان خواهم داد که یک سیستم تشخیص نفوذ چگونه با استفاده از ویژگی های اتصلات شبکه پی به برای تشخیص حمله استفاده می کند  و  آخر نیز لینک  دانلود مجموعه داده KDD CUP 1999 را قرار می دهم.

نرم‌افزار های طراحی شده برای تشخیص نفوذ در شبکه ها ، کامپیوتر را در برابر کاربران غیر مجاز و یا حتی کابران خودی  محافظت می کند.وظیفه یک سیستم خود فراگیر تشخیص نفوذ ایجاد یک مدل احتمالی ( مثلاً طبقه بندی) است که توانایی تشخیص بین اتصلات بد که نفوذ یا حمله نامیده می‌شوند و اتصلات نرمال و خوب را داشته باشند.
برنامه ارزیابی تشخیص نفوذ دارپا 1998 (DARPA 1998) بوسیله آزمایشگاههای  MIT Lincoln تهیه و مدیریت شد.هدف هم بررسی و ارزیابی سیستم‌های تشخیص نفوذ بود. یک مجموعه استاندارد از داده‌ها مورد بررسی قرار گرفت ، که شامل طیف گسترده ای از نفوذ های شبیه سازی شده در یک محیط نظامی می باشد.مجموعه داده  تشخیص نفوذ KDD 1999 از نسخه‌ای از این دیتاست استفاده و بهره برداری می کند.
آزمایش  گاه های لینکولن محیطی را برای بدست آوردن ۹ هفته‌ای داده‌ای خام TCP برای یک شبکه محلی که  شبکه محلی نیروی هوایی آمریکا را شبیه سازی می‌نمود پیاده‌سازی نمودند.این شبکه کاملاً همانند شبکه نیروی هوایی عمل می‌نمود ، اما  توسط چنیدن حمله مورد ارزیابی قرار می گرفت.داده های خام آزمایشی تقریباً ۴ گیگا بایت بود که شامل دادهای خام دودویی TCP بود که از ترافیک ۷ هفته‌ای شبکه بدست آمده بود.که حاصل پردازش ۵ میلیون رکورد های مربوط به اتصلات در این شبکه بودند. به طور مشابه دو هفته داده آزمایشی دو ملیون رکورد اتصال را به همراه داشت. یک اتصال دنباله ای از بسته های TCP است که در زمان های تعریف شده شروع و پایان می یابند و جریان انتقال داده از آدرس آی پی منبع به آدرس آی پی مقصد تحت پروتکل های شناخته شده‌ای انجام میشود.هر اتصال به عنوان نرمال یا حمله برچسب می‌خورد که دقیقاً مشخص کننده یکی از انواع حملات می باشد.هر رکورد اتصال تقریباً  شامل 100 بایت است.


حملات در ۴ دسته اصلی دسته بندی می شوند.

۱- حملات DOS (denial of service) برای مثال  syn flood
۲-R2L: دسترسی غیر مجاز از یک ماشین راه دور .برای مثال حدس زدن رمز عبور
3-U2R : دسرسی غیر مجاز مجاز به دسترسی های کاربر ارشد محلی (ROOT) مثل حملات سر ریز بافر.
۴- نظارت و کاوش برای مثال اسکن نمودن پورت ها

مهم است که یاآوری کنیم که داده‌های آزمایشی(Test Data) از توزیع مشابه داده‌های آموزشی نیستند و ممکن است شامل انواع حملات خاصی باشند که در داده آموزشی( Training Data) وجود ندارد.برخی از متخصصین نفوذ معتقدند که حملات جدید نوعی از  حملات شناخته شده هستند و داشتن ردپایی از حملات شناخته شده برای شناخت انواع جدید آن‌ها کافی است.مجموعه داده شامل ۲۴ نوع حمله آموزشی و مضافا ۱۴ نوع دیگر که تنها در داده آزمایشی وجود داردند.

 انواع ویژگی‌های مشتق شده( derived features)


Stolfo et al ویژگی‌های سطح بالاتری را که برای تشخیص اتصال های نرمال از اتصلات غیر نرمال( حملات) به ما کمک  می نماید را تعریف می کند.چندین دسته بندی برای ویژگی‌های مشتق شده وجود دارد.ویژگی Same Host تنها اتصالاتی  را که  در دو ثانیه قبل  مقصد مشابهی در اتصال جاری داشته‌اند را مورد آزمایش قرار می‌دهد و آمار های وابسته به پروتوکل رفتاری آن را محاسبه می نماید.به شکل مشابهی ویژگی Same Service تنها اتصالات در دو ثاینه قبل را که سرویس مشابهی در اتصال جاری داشته‌اند را مورد آزمایش قرار می دهد.ویژگی های same host و same service در کنار یکدیگر ویژگی‌های ترافیکی مبتنی بر زمان (Time Based) از رکورد های اتصال نامیده می شوند.
برخی از حملات نظارت و کاوش (probing) هاست ها ( یا پورتها) را با استفاده از فاصله زمانی بزرگ‌تر از دو ثاینه اسکن می‌کنند ، برای مثال یک بار در دقیقه.بنابراین رکورد های اتصال براساس هاست مقصد نیز مرتب می‌شوند ، و بدین صورت ویژگی‌ها با استفاده از یک پنجره از ۱۰۰ اتصال که هاست مشابهی دارند ساخته می‌شوند و از پنجره زمانی استفاده نمی شود. این مجموعه  ویژگی‌های ترافیکی بر پایه هاست نیز نامیده می شود. بر عکس حملات DOS و نظارت و کاوش هیچ الگوی ترتیبی  در رکوردهای  مربوط به حملات R2L و U2R مشاهده نمی شود.و علت آن این است که حملات DOS و نظارت وکاوش درگیری تعدای زیادی اتصلات به تعدادی هاست در یک بازه زمانی کوتاه هستند ولی حملاتR2L و U2R در قسمت داده بسته ها خود را جاسازی می‌کنند و تنها درگیر  یک اتصال خواهند بود.
در زیر لیست کاملی از رکورد های یک اتصال را در سه جدول مشاهده می کنیم.


ویژگی های ترافیکی محاسبه شده با استفاده از پنجره زمان دو ثانیه ای

نام ویژگیشرح نوع
count  تعداد اتصلات به هاست مشابه در  اتصال حاری در دو دقیقه قبل continuous

Note: The following  features refer to these same-host connections.
نکته : ویژگیهای زیر به اتصلات same host ارجاع داده می شوند

serror_rate  % of connections that have ``SYN'' errors  continuous
rerror_rate  % of connections that have ``REJ'' errors  continuous
same_srv_rate  % of connections to the same service  continuous
diff_srv_rate  % of connections to different services  continuous
srv_count  number of connections to the same service as the current connection in the past two seconds  continuous

Note: The following features refer to these same-service connections.
srv_serror_rate  % of connections that have ``SYN'' errors  continuous
srv_rerror_rate  % of connections that have ``REJ'' errors  continuous
srv_diff_host_rate  % of connections to different hosts  continuous 


ویژگی های محتوایی یک اتصال که پیشنهاد داده شده اند

نام ویژگیشرح نوع
hot  تعداد شاخص های hot continuous
num_failed_logins  تعداد تلاش های برای ورود که با شکست مواجه شده اند continuous
logged_in  اگر با موفقیت وارد شده باشد مقدار ۰ در غیر اینصورت ۱ discrete
num_compromised  تعداد شرایط در معرض خطر continuous
root_shell  اگر پوسته روت بدست آمده باشد ۰ در غیر اینصورت ۱ discrete
su_attempted  اگر دستور su root به کار گرفته شده باشد ۰ در غیر اینصورت ۱ discrete
num_root  تعداد دسترسی های root continuous
num_file_creations  تعداد عملیات های ایجاد فایل continuous
num_shells  number of shell prompts  continuous
num_access_files  تعداد عملیات های دسترسی کنترل فایل ها continuous
num_outbound_cmds تعداد دستورات خارجی در یک نشست ftp continuous
is_hot_login  اگر ورود متعلق به لیست hot باشد ۰ در غیر اینصورت ۱ discrete
is_guest_login  1 if the login is a ``guest''login; 0 otherwise
اگر ورود میهمان باشد  ۰ در غیر اینصورت ۱
discrete


 ویژگی های پایه یک اتصال منحصر به فرد TCP

نام ویژگیشرح نوع
duration  طول اتصال ( تعداد ثانیه ها) continuous
protocol_type  نوع پروتوکل مثل TCP , UDP و غیره discrete
service  سرویس شبکه در مقصد برای مثال http , telnet و غیره discrete
src_bytes  تعداد بایت های داده از منبع به مقصد continuous
dst_bytes  تعداد بایت های داده از مقصد به منبع continuous
flag  حالت نرمال یا خطای یک اتصال discrete 
land  اگر اتصال از /به هاست مشابهی بود آنگاه پورت ۰ در غیر اینصورت پورت ۱ discrete
wrong_fragment  تعداد فرگمنت های اشتباه continuous
urgent  تعداد بسته های فوری conti


برای دانلود فایل های مربوط به مجموعه داده KDD CUP 1999  به لینک زیر مراجعه نمایید :

KDD CUP 1999

ارزیابی سیستم‌های تشیخص نفوذ

ارزیابی سیستم‌های تشیخص نفوذ

چندین ارزیابی مستقل در خصوص سیستم‌های تشخیص نفوذ انجام شده است که معروف ترین آن‌ها ارزیابی های آزمایشگاه Mit Lincoln می‌باشد [MIT Lincoln Laboratory, 2000]. این ارزیابی ها مورد پشتیبانی و حمایت مؤسسه DARPA(Defense Advanced Research Projects Agency) بود و هدف نهایی آن‌ها ارزیابی تحقیقات موجود در خصوص تشخیص نفوذ می‌باشد.در مجموع سه ارزیابی در سال‌های 1998 ، 1999 و 2000 انجام شده است.
اگر چه موضوعات مورد توجه این ارزیابی ها برای هر سال قدری متفاوت  است  اما از نظر متدولوژی های آزمایش و تست تفریبا یکسان هستند. در سال 1998 برای ارزیابی آزمایشگاه Lincoln یک بستر آزمایشی برای تقلید از  یک دنیای واقعی شبکه کامپیوتری بوجود آمد.تعاملات انسانی با هاست های مختلف با استفاده از اسکریپت های مختلف شبیه سازی شد. هاست های مختلف قوانین مختلف و مربوط به خود را داشتند .برای نمونه کامپیوتر متعلق به  یک منشی برنامه‌های اداری معمول را اجرا می‌نمود و هاست های مربوط به توسعه دهندگان  سیستم ابزارهای توسعه نرم‌افزار را اجرا می نمودند.بعضی از این هاست ماشین‌های واقعی بودند و برخی دیگر شبینه سازی شده بودند. حداکثر تلاش انجام شده بود  تا اطمینان حاصل شود که  بستر آزمایشی شبکه تا حد زیادی برای مشاهده کنندگاه خارجی واقعی به نظر برسد.
در طول عملیات در بستر آزمایشگاهی ، داده‌های مختلف بازرسی جمع آوری می‌شوند .همه ترافیک شبکه وسیله  tcpdump جمع آوری می‌شود [tcpdump, 2002].همچنین فایل‌های لاگ سیستمی مربوط به هاست ها نیز ذخیره ضبط می‌شوند.علاوه بر این‌ها بعضی از هاست ها که سیستم عامل سولاریس را اجرا می نمودند شامل یک ماژول پایه امنیتی بودند (Basic Security Module). این ماژول پایه امنیتی در میان چیز های دیگر هر درخواست توسط سیستم را مورد نظارت قرار می‌داد. در نهایت هم هر حمله به صراحت ثبت می گردید تا یک فایل حقیقت ایجاد و تهیه شود (truth file) که بعداً برای امتیازدهی به سیستم‌های تشخیص نفوذ مورد استفاده قرار گیرد.
برای ارزیابی دو مجموعه داده مختلف تولید می‌شوند. امتیاز دهی واقعی به سیستم‌های تشخیص نفوذ به صورت آفلاین انجام می‌شود. اولین مجموعه داده برای شرکت کنندگان همراه با فایل حقیقت متناظرشان قبل از آزمایش واقعی فراهم آورده می‌شود.ایده این بود که به شرکت کنندگان یک شانس برای تنظیمات سیستم‌های خود داده شود.این مجموعه داده همچنین برای آموزش دادن سیستم‌های تشخیص ناهنهجاری (anomaly detection systems) مورد استفاده قرار می‌گیرد. فایل حقیقت این مجموعه در امتیاز دهی سنسور ها مورد استفاده قرار می‌گیرد و تا زمانی که ارزیابی پایان نیافته است محتوای آن برای شرکت کنندگان فاش نمی‌شود.نتیجه ارزیابی  Lincoln Lab 1998 یک معیار برای اندازه‌گیری نرخ شناسایی صحیح و ناصحیح سنسورها می‌باشد.
آزمایشگاه lincoln ارزیابی مشابهی را در سال 1999 انجام داد.تنظیمات و راه اندازی آزمون تقریباً مشابه سال قبل بود .و تفاوتی که وجود داشت این بود که حملات انجام شده هوشمندانه تر بودند.
این دو مجموعه داده معروف به KDD98 و KDD99 هستند که هر دو توسط Mit Lincoln Lap ثبت شده‌اند.
در سال 1999 برنامه ارزیابی تشخیص نفوذ DARPA توسط آزمایشگاههای MIT Lincoln آماده و مدیریت شد.هدف هم این بود :بررسی و ارزیابی تحقیقات در زیمه تشخیص نفوذ.یک مجموعه استاندارد از داده‌ها مورد بازرسی قرار گرفتند که شامل طیف وسیعی از نفوذ هایی بود که در یک محیط شبکه نظامی شبیه سازی شده بودند. KDD1999 از یک نسخه از این مجموعه داده استفاده می‌کند.
و در‌واقع این مجموعه های داده شامل بررسی هفته‌ها ترافیک شبکه و حملات مختلف در یک محیط شبکه نظامی شبینه سازی شده می‌باشند.برای دریافت اطلاعات بیشتر می‌توانید به آدرس http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html مراجعه نمایید.البته در پایان ذکر این نکته را ضروری می‌دانم که KDD98 و KDD99 تنها دیتا ست های موجود برای تست محیط های تشخیص نفوذ نیستند و بستگی به نوع سیستم تشخیص نفوذ و محیط و نیازمندی های که وجود دارد دیتاست های دیگری نیز وجود دارند.