whatsapp call admin

دانلود مقاله تشخیص نفوذهای غیر عادی در بستر شبکه با تشخیص outlier هایی که از قبل بررسی نشده اند

word قابل ویرایش
24 صفحه
8700 تومان
87,000 ریال – خرید و دانلود

تشخیص نفوذهای غیر عادی در بستر شبکه با تشخیص outlier هایی که از قبل بررسی نشده اند

چکیده :
تشخیص ناهنجاری (anomaly) موضوعی حیاتی در سیستم های تشخیص نفوذ به شبکه است (NIDS) . بسیاری از NIDS های مبتنی بر ناهنجاری «الگوریتمهای پیش نظارت شده » را بکار می گیرند که میزان کارایی این الگوریتمها بسیار وابسته به دادها های تمرینی عاری از خطا میباشد . این در حالی است که در محیط های واقعی و در شبکه های واقعی تهیه اینگونه داده ها بسیار مشکل است . علاوه بر اینها ، وقتی محیط شبکه یا سرویسها تغییر کند الگوهای ترافیک عادی هم تغییر خواهد کرد .

این مساله به بالا رفتن نرخ مثبت نمایی در NIDS های پیش نظارت شده منجر می شود . تشخیص یک انحراف کامل (outlier) پیش نظارت نشده میتواند بر موانعی که در راه تشخیص ناهنجاری های پیش نظارت شده وجود دارد غلبه کند . به همین دلیل ما الگوریتم « جنگلهای تصادفی » را که یکی از الگوریتمهای کار امد برای استخراج داده است به خدمت گرفته ایم و آن را در NIDS های مبتنی بر ناهنجاری اعمال کرده ایم . این الگوریتم میتواند بدون نیاز به داده های تمرینی عاری از خطا outlier ها را در مجموعه داده های ترافیک شبکه تشخیص دهد . ما برای تشخیص نفوذهای ناهنجار به شبکه از یک چارچوب کاری استفاده کرده ایم و در این مقاله به شرح همین چارچوب کاری میپردازیم .

در این چارچوب کاری ، الگوی سرویسهای شبکه از روی داده های ترافیکی و با استفاده از الگوریتم جنگلهای تصادفی ساخته شده است . توسط outler تعیین شده ای که با این الگوهای ساخته شده مرتبط هستند نفوذها تشخیص داده می شوند. ما نشان میدهیم که چه اصلاحاتی را روی الگوریتم تشخیص outlier جنگلهای تصادفی انجام دادیم . و همینطور نتایج تجربیات خود را که بر اساس مجموعه داده های KDD 99 انجام شده است گزارش میدهیم .

نتایج نشان میدهد که روش پیشنهادی با سایر روشهای تشخیص ناهنجاری پیش نظارت نشده ای که قبلا گزارش شده اند کاملا قابل مقایسه است . البته روشهایی که بر اساس مجموعه داده های KDD 99 ارزیابی شده اند.

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

سیستم های تشخیص نفوذ به شبکه NIDS فعالیتهای مختلفی که در شبکه انجام می شود را تحت نظر دارد و از این راه حملات را شناسایی می کند . این در حالی است که سیستم های تشخیص نفوذ به سیستم های تحت Host یعنی HIDS نفوذ به یک host منفرد را شناسایی می کند.

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

در حال حاضر بسیاری از NIDS ها مانند Snort سیستمهای قانونمند شده هستند ، به این معنی که این سیستم ها تکنیکهای تشخیص کاربردهای نادرست را به خدمت میگیرند و بنابراین قابلیت انبساط محدودی برای حملات جدید دارند . برای شناسایی حملات جدید سیستمهای تشخیص ناهنجاری بسیاری توسعه پیدا کرده اند . بسیاری از انها بر مبنای روشهای نظارتی توسعه پیدا کرده اند . به عنوان مثال ADAM در تشخیص نفود ، از الگوریتم قوانین مشترک بهره گرفته است ADAM از فعالیتهای عادی که روی داده های تمرینی عاری از حمله انجام می شود یک پروفایل می سازد .

سپس با پروفایل ساخته شده حملات را شناسایی می کند . مشکل ADAM این است که به داده های تمرینی که برای فعالیتهای عادی استفاده می شوند بیش از حد وابسته است . وقتی که در دنیای واقعی با شبکه های حقیقی کار می کنیم عملا هیچ تضمینی نیست که بتوانین از تمامی حملات جلوگیری کنیم . بنابراین دست یافته به داده های تمرینی عاری ازخطا کار بسیار مشکلی است . در حقیقت هم یکی از مرسوم ترین راههایی که برای تحلیل بردن یک سیستم IDS مبتنی بر ناهنجاری استفاده می شود این است که بخشی از فعالیتهای نفوذی را درون داده های تمرینی وارد کنیم . IDS هایی که با این داده های تمرینی تعلیم دیده اند قابلیت شناسایی این نوع از نفوذها را از دست میدهند .

مشکل دیگر IDS های مبتنی بر نظارت بر رفتارهای ناهنجار این است که وقتی محیط شبکه یا سرویسها تغییر می کند نرخ مثبت نمایی بالا میرود . از انجایی که داده های تمرینی فقط فعالیتهای مطالعه شده را شامل می شود پروفایل مربوط به فعالیتهای عادی فقط شامل الگوهای مطالعه شده ای است که از روی رفتارهای عادی برداشته شده اند . بنابراین فعالیتهای جدید ناشی از تغییر محیط شبکه یا سرویسها از پروفایلی که قبلا ساخته شده تبعیت نمی کند و به عنوان حمله شناسایی می شوند . این مساله باعث بالا رفتن مثبت نمایی ها خواهد شد .

برای غلبه بر محدودیتهای سیستم های مبتنی بر ناهنجاری های نظارت شده تعدادی از IDS ها از روشهای غیر نظارتی استفاده می کنند . در تکنیک تشخیص ناهنجاری به صورت غیر نظارتی نیازی به داده های تمرینی عاری از خطا نیست . این تکنیک برای شناسایی حمله ها به این ترتیب عمل می کند که فعالیتهای غیر معمول داده ها را تعیین می کند . برای این کار دو پیش فرض دارد :
• اکثر فعالیتها عادی هستند
• بر طبق امار اغلب حمله ها با منحرف شدن از فعالیتهای عادی صورت می گیرد.

فعالیتهای غیر معمول همان انحرافهای کامل ( Outlier) هستند که با مجموعه داده های باقیمانده جور در نمی ایند . بنابراین تکنیکهای تشخیص Outlier می توانند روی سیستم هایی که ناهنجاریها را به صورت غیر نظارتی تشخیص می دهند اعمال شوند . در واقع هم اکنون هم تشخیص Outlier در تعدادی از برنامه های عملی مانند شناسایی کردیت کارتهای تقلبی و پیش بینی وضع هوا در حال استفاده است .

ما روشی را پیشنهاد می کنیم که برای تشخیص نفوذهای غیر عادی از تکنیک تشخیص outlier ی که توسط الگوریتم جنگلهای تصادفی تهیه شده است استفاده می کند . جنگلهای تصادفی روشی است که در میان الگوریتمهای استخراج داده موجود تقریبا پیشتاز است .

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

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

این مقاله به این صورت تنظیم شده است . در بخش دوم ما کارهای مربوطه را شرح می دهیم در بخش سوم به صورت تفصیلی روش تشخیص outlier با استفاده از الگوریتم جنگلهای تصادفی را شرح می دهیم . در بخش چهارم تجربیات و ارزیابی های انجام شده برای تعیین میزان کارایی نشان داده می شود . و در اخر در بخش پنجم مقاله را خلاصه می کنیم و طرح تحقیقات آتی خود را مشخص می کنیم .

 

۲- کارهای مربوطه
یکی از موضوعهای مهمی که در تحقیقات مربوط به تشخیص نفوذها وجود دارد ، تشخیص ناهنجاری بوده تا کنون روشهای بسیار متنوعی برای تشخیص ناهنجاری پیش نظارت نشده در NIDS ها یک موضوع تحقیقاتی جدید است اسکین در موضوع تشخیص ناهنجاری نظارت نشده ، سه الگوریتم را بررسی کرده است : تخمین بر مبنای کلاستر ، نزدیکترین همسایه و SVM تک کلاسی . سایر محققان در NIDS های غیر نظارتی روشهای کلاسترینگ را اعمال کرده اند.

سیستم تشخیص ناهنجاریهای پیش نظارت شده در طیف وسیعی مورد مطالعه قرار گرفته است . در همین مبحث ، ADAM پروژه ای است که در عرصه وسیعی شناخته شده و منتشر شده است . این پروژه یک online IDS در بستر شبکه است . ADAM میتواند به همان خوبی که حملات شناخته شده را تشخیص میدهد حملات ناشناخته را هم تشخیص دهد .
به این ترتیب که از رفتارهای عادی مربوط به داده های تمرینی عاری از خطا پروفایل میسازد و این پروفایل را به عنوان یک مجموعه قوانین مشترک ارائه می کند. در زمان اجرا با توجه به این پروفایل ، تماسهای مشکوک را شناسایی می کند . روشهای پیش نظارت شده دیگری هم بر سیستم های تشخیص ناهنجاری اعمال شده اند . روشهایی نظیر الگوریتم ژنتیک و استخراج داده های مبهم و نامعلوم ، شبکه های عصبی و SVM .

در کار قبلی مان ، ما الگوریتم جنگلهای تصادفی را در سیستم تشخیص کاربردهای نادرست misuse اعمال کردیم . در این مقاله تابع تشخیص outlier تهیه شده توسط الگوریتم جنگلهای تصادفی را برای تشخیص ناهنجاری پیش نظارت نشده به خدمت گرفته ایم . دقت و تاثیر این الگوریتم روی مجموعه داده های برگی که دارای ویژگیهای زیادی هستند بیشتر است . مجموعه داده هایی نظیر مجموعه داده های ترافیک شبکه.

۳- تشخیص Outlier ها
در این بخش ما چارچوب کاری پیشنهادی برای NIDS را شرح میدهیم و نشان میدهیم که چگونه از این الگوریتم برای تشخیص outlier های روی مجموعه داده ای ترافیک شبکه استفاده می کنیم .

الف – شرح چارچوب کاری
چارچوب کاری پیشنهادی برای تشخیص نفوذهای نوظهور از الگوریتم جنگلهای تصادفی استفاده می کند . چارچوب کاری در شکل ۱ نمایش داده شده است.

شکل ۱- چارچوب کاری NIDS ناهنجاری پیش نظارت نشده

NIDS از ترافیک شبکه تصویر بردار یمی کند و با پیش پردازش کردن مجموعه داده ها را میسازد . سپس با استفاده از الگوریتم ف از روی مجموعه داده الگوهایی بر مبنای سرویسها ساخته می شود . با الگوهای ساخته شده می توانیم outlier های مربوط به هر الگو را پیدا کنیم . وقتی outlier ها شناسایی شدند سیستم یک اخطار تولید می کند .
بعد از اینکه تصویر برداری از ترافیک شبکه انجام شد پردازش به صورت off-line ادامه خواهد یافت . زیرا الگوریتم تشخیص outlier نیازمندیهای زیادی برای محاسبات لازم دارد . به همین دلیل هم در محیطهای واقعی شبکه پردازشهای online مناسب نیست .

ب – الگوریتم جنگلهای تصادفی
جنگلهای تصادفی یک طرح کامل از طبقه بندی غیر شاخه ای یا درختهای بازگشتی است . این الگوریتم از نظر دقت و صحت در میان الگوریتمهای استخراج داده ای که در حال حاضر وجود دارند بی رقیب است . به خصوص برای مجموعه داده های بزرگی ویژگیهای (feature) زیادی دارند .

این الگوریتم درختهای طبقه بندی زیادی تولید می کند . هر درخت توسط یک نمونه Bootstrap متفاوت از روی داده اولیه ساخته می شود . برای این کار از یک الگوریتم طبقه بندی درختی استفاده می کند . بعد از اینکه جنگل تشکیل شد یک شی جدید که لازم است حتما طبقه بندی شده باشد درختها را تک تک درون جنگل قرار می دهد تا طبقه بندی شوند .
هر درخت یک رای می دهد که این رای نشان دهنده تصمیم آن درخت درباره کلاس شی مذکور است . جنگل با توجه به اکثریت ارایی که درباره کلاس شی مذکور داده شده است ، کلاس ان شی را مشخص می کند . در الگوریتم حجنگلهای تصادفی نیازی به اعتبار سنجی خطی نیست . ژون هر درخت با استفاده از نمونه bootstrap ساخته می شود بنابراین تقریبا یک سوم موارد از نمونه های bootstrap کنار گذاشته می شوند و در تمرین استفاده نمی شوند . این موارد را اصطلاحا خارج از رده یا oob می نامند .

 

ج – الگوهای استخراج سرویسهای شبکه
بنابراین با استفاده از این الگوریتم ما می توانیم از روی سرویسهای شبکه الگوهایی را بسازیم . این الگوریتم پیش نظارت شده است . بنابراین لازم است که مجموعه داده ها را بر اساس سرویسهای شبکه بر چسب گذاری کرد . در واقع بسیاری از مجموعه داده های مورد استفاده برای ارزیابی NIDS ها میتوانند با اندک تلاشی بر اساس سرویسهای شبکه بر چسب گذاری شوند . مثلا یکی از ویژگیهای مجموعه داده KDD99 ویژگی با عنوان نوع سرویس میباشد که میتواند برای برچسب استفاده شود .

قبل از ساخت الگوها لازم است که پارامترهای الگوریتم را بهینه سازی کنیم . وقتی جنگل در حال رشد است ، از بین تمام ویژگیهای درون داده های تمرینی داده های تصادفی به صورت تصادفی انتخاب شده اند . بهترین انشعاب از این ویژگیهای تصادفی را برای انشعاب گره مورد استفاده قرار میدهند . تعداد ویژگیهای تصادفی به صورت یک ثابت نگهداری شده است (Mtry) . تعداد ویژگیهای بکار گرفته شده در انشعاب دادن هر گره برای هر درخت (Mtry) پارامتر همسو سازی اولیه است . برای بهبود کارایی این الگوریتم این پارامتر باید بهینه سازی شود . و همچنین پارامتر تعداد درختهای درون جنگل

برای یافتن مقدار مناسب برای پارامتر Mtry و تعداد درختان از مجموعه داده استفاده میکنیم . حداقل نرخ خطا با مقادیر بهینه مطابقت دارد . بنابراین برای ساخت جنگل و ارزیابی نرخ خطای جنگل از مقداری متفاوت از Mtry و تعداد درختان استفاده می کنیم . سپس مقداری مطابق با حداقل نرخ خطا را انتخاب می کنیم و با کمک آن الگوهای سرویس را می سازیم .
د – تشخیص Outlier پسش نظارت نشده

با پیدا کردن فعایتهای غیر معمول یا Outlier ها میتوانیم نفوذها را تشخیص دهیم . در NIDS پیشنهادی ما دو نوع Outlier وجود دارد . نوع اول فعالیتهایی هستند که در یک سرویس شبکه یکسان به طور معنی داری از سایر فعالیتهای منحرف شده اند . نوع دوم فعالیتهایی هستند که الگوهای انها به سرویسهای دیگری به جز سرویس اصلی خودشان تعلق دارد . مثلا وقتی یک فعالیت http به عنوان سرویس ftp طبقه بندی شده است . در این حال آن فعالیت به عنوان یک outlier شناسایی خواهد شد .

الگوریتم جنگلهای تصادفی برای پیدا کردن outlier هایی که همجواری انها به تمام موارد دیگر درون کل داده ها عموما کوچک است از همجواریها استفاده می کند . همجواریها یکی از مفیدترین ابزارها در این الگوریتم است . بعد از اینکه جنگل ساخته شد همه موارد در مجموعه داده هر یک از درختها را در جنگل قرار داده اند . اگر موارد n و k در یک برگ مشابه از یک درخت باشند همجواری انها یکی افزایش پیدا می کند . در اخر مقدار همجواریها را بر تعداد درختان تقسیم کرده و به این ترتیب پارامتر همجواریها نرمال سازی می شود .

برای یک مجموعه داده با N مورد ، همجواریها در حالت اولیه یک ماتریس N*N را تشکیل می دهد . پیچیدگی محاسبات هم N*N است . مجموعه داده های ترافیک شبکه حجم بسیار زیادی دارند . بنابراین مقدار زیادی از حافظه و زمان Cpu برا یمحاسبه مورد نیاز است . ما الگوریتم محاسبه همجواریها را تغییر می دهیم تا به این ترتیب کارایی بهبود پیدا کند .
همانطور که قبلا گفتیم اگر فعایتی که مربوط به یک سرویس است در یک سرویس دیگر طبقه بندی شود ان فعالیت به عنوان Outlier شناسایی خواهد شد . بنابراین اگر دو مورد وجود داشته باشند که متعلق به سرویسهای متفاوتی باشند همجواری بین انها اهمیتی ندارد . پارامتر Si بر تعداد موارد در سرویس I دلالت دارد . بعد از این تغییر ، یچیدگی به اندازه Si * Si کاهش پیدا می کند .

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 8700 تومان در 24 صفحه
87,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد