بخشی از مقاله
چکیده
در طی چند سال اخیر روش های ابتکاری مختلفی برای امنیت شبکه ها از طریق سیستم های تشخیص نفوذ ارائه شده است که هر کدام از آنها به شیوه ای امنیت شبکه را فراهم می سازد. از آنجاییکه شبکه های ادهاک، آسیب پذیری در مقابل حملات امنیتی ای که در موارد اساسی مانند توپولوژی داینامیک، عدم وجود هماهنگ کننده متمرکز و کانال های باز اتصالات بدون سیم را دارند و این حملات امنیتی بیشتر توسط Black hole و Gray hole رخ میدهد، دغدغه ی اصلی کارشناسان امنیت شبکه بر ضرورت حافظت آن قرار گرفته است.
در این مقاله یک سیستم تشخیص نفوذ مبتنی بر ماشین یادگیری با استنتاج فازی ارائه شده است که ضمن رسیدن به نرخ بالای تشخیص حملات مذکور، از نرخ مثبت کاذب پائینی برخوردار است. آزمایش های نشان میدهد که سیستم پیشنهادی توانسته است معیارهای دقت، فراخوانی و -measure1F را به ترتیب با مقادیر%38,99، %100 و % 69,99 بگذراند و همچنین نسبت به سیستم های گذشته، عملکرد بهتری داشته است.
-1 مقدمه
افزایش تعداد برنامه¬های تحت وب باعث شده است که مسئله¬ی محافظت ومراقبت یکی از مسائل کلیدی در بحث امنیت کامپیوتر شود. متاسفانه تعداد حمله¬های جدیدی که در هر روز ظاهر می شوند همواره رو به افزایش است .با توجه به استفاده از سیستم های سنتی مبتنی بر امضا ¬ که فرایند شناسایی حمله را با مقایسه حملات موجود در پایگاه داده انجام میدهند، در مواجه با نوعی از حمله که در پایگاه داده وجود¬ نداشته باشد - حمله جدید - سیستم ناتوان خواهد بود. یک پیشنهاد برای این مشکل این خواهد بود که همیشه آخرین حملات فورا در پایگاه داده ثبت شوند که خود این عمل بسیار پر هزینه خواهد بود. یک راه حل ممکن برای حل این مسئله با عنوان سیستمهای مبتنی بر ناهنجاری پیشنهاد شده است.
سیستم مبتنی بر نا¬هنجاری، مدلی از رفتارهای نرمال، سیستمی را که قرار است از آن محافظت به عمل آید را می¬ سازد و الگوی حمله را با مدل نرمال مقایسه کرده و در صورت وجود ناسازگاری آن را ناهنجار تشخیص می¬دهد. مجموعه رفتارهای نرمال، به مجموعه ویژگیهایی اطلاق میشود که در طول عملکرد درست یک منبع محافظت شده ظاهر میگردد، - مانند توزیع کاراکترها در پارامتر رشتهای - . اگر منبعی که میخواهد تحت محافظت قرار گیرد یک وب سرور باشد - شامل برنامههای تحت وب مربوطه باشد - رفتار نرمال آن بدین صورت است که کلاینت درخواست خود را به سرور ارسال می کند و سرور بعد از پردازش درخواست، پاسخ را به صورت دنبالهای از بایتها در داخل ترافیک انتقالی2 که بخشی از بسته موجود در شبکه است ارسال می نماید. نکته کلیدی این است، ترافیک انتقالی که شامل یک حمله میباشد با نمونه نرمالش متفاوت است.
-1 مروری بر کارهای گذشته
تاکنون کارهای خیلی کم و محدودی برای بهبود امنیت در سیستم های تشخیص نفوذ مبتنی بر ادهاک با رویکرد فازی انجام شده است.در منبع [8] دو مکانیزم برای بهبود امنیت در مقابل حملات داخلی ارائه شده است. مکانیزم اول ارسال بسته های داده از روی مسیرهای مستقل و جدای از هم است. به این صورت که هر بسته ی داده را به صورت همزمان از روی مسیرهای مستقل به سمت ریشته ارسال میشود. این مکانیزم تضمین میکند که اگر یک پیام از دست برود، مسیر دیگر داده را بصورت موفق تحویل می دهد. این روش ذاتا از دیدگاه مصرف انرژی غیربهینه است. روش دیگر که در این منبع آمده انتخاب پویای گام بعدی از میان یک مجموعه از گره های کاندید است.
این روش باعث تغییر مداوم توپولوژی شبکه میشود و این تغییر مداوم باعث میشود که نتوان هیچ پارامتر کیفیت سرویسی را تضمین کند؛ ولی هیچکدام از این مکانیزم ها شناسایی گره های حمله کننده را برآورده نمیکند.در[9] به کمک الحاق مدیریت اعتماد بر روی پروتکل مسیریابی به گره ها این امکان داده شده است تا از سطح اعتماد مسیر فراهم شده توسط والد آگاهی پیدا کنند و از میان مسیرهای فراهم شده توسط والدها مسیری را که دارای سطح اعتماد بالاتری است را برای هدایت بسته های داده انتخاب کنند. با این روش به گره ها این امکان داده شده تا مسیری را انتخاب کنند که دارای نرخ تخویل بالاتری است و به این طریق مسیرهایی که دارای گره های بدخواه سیاه چاله یا چاله خاکستری می باشد را حذف کنند.
در منبع [13] شاخص هدایت بسته به عنوان روش برای تشخیص گره های سیاه چاله و چاله خاکستری ارائه شده است. در این منبع شاخص هدایت بسته به عنوان متریک اعتماد برای تشخیص گره های بدخواه ارائه شده است. این شاخص براساس نوع عملکرد گره ها در عملیات هدایت بسته های داده، گره های بدخواه را شناسایی میکند. در این روش هنگامی که یک گره یک بسته به گام بعدی هدایت میکند، وارد حالت بی قاعده 1 شده و برای مدت زمان مشخصی بر عملکرد گره ی گام بعدی خود نظارت میکند تا آگاهی یابد آیا گره ی گام بعدی بسته ها را هدایت میکند یا از هدایت آن ها سرباز میزند.
درصورت مشاهده عملکرد نادرست گام بعدی این گره از میان گره های گام بعدی، گره ی دیگری را برای هدایت بسته های داده انتخاب میکند و به این روش گره ی بدخواه را از مسیر هدایت بسته های داده حذف میکند. در منبع[10] از منطق فازی برای بهبود خطاهای پروتکل TCP استفاده شده و مقاله های دیگری[11]، [12]،[13] که از منطق فازی بهره برده اند. Krugel سرویس های خاص تشخیص نفوذ را که ترکیبی از نوع، طول و چگونگی توزیع بایتهای یک بسته ترافیک انتقالی بود را برای بدست آوردن سرویس های مورد نیاز یک مدل آماری در ترافیک نرمال توصیف میکرد.[2]
48 Netad بایت اول بسته ترافیک انتقالی را بررسی نموده است. او از تعدادی مدل های مجزای ساخته شده که مربوط به رایجترین پروتکلهای شبکه بودهاند در سیستم خود استفاده میکرد و همچنین به منظور کشف وقایع نادر، به هرکدام از بسته ها نمره ناهنجاری تخصیص میداد. [3]در Payl، نفوذ ها از طریق آنالیز توزیعی بایتها در HTTPPayl تشخیص داده میشدهاند.[4] نسخه بهبود یافته Payl در مقاله آمده است.به طور خاص این نسخه جدید تعدادی مدل برای هر طول بسته میسازد و ارتباط ترافیک ورودی و خروجی را از حیث تشخیص انتشار حملات - کرم ها - مطمئن می سازد.5]،[4
یک راه حل به نام Anagram پیشنهاد داد که بر اساس مدل های n-gram استخراج شده از دو ترافیک نرمال و آلوده، ساخته شده-بودAnagram .[6] همه n-gram های استخراج شده از ترافیک نرمال را ذخیره میکند، و فیلتر Bloom را به سیستم آموزش می دهد و همچنین این فیلترهای Bloom، n-gramهایی را که از بسته های مخرب استخراج شده اند را شناسایی و ذخیره میکنند. در زمان تشخیص، به بسته بر اساس تعداد n-gram های مخرب مشاهده نشده نمره تعلق میگیرد.تعدادی از n-gram های مخرب برای وزندهی به نمرهها استفاده میشود. ولی مهمترین مشکل در این روش تشخیص تمایز بسته برای قرار گرفتن در کلاس خوب و یا بد بوده است.
Perdisci سیستم تشخیص نفوذی به نام McPAD ارائه داده است. در این مدل یک الگوریتم استخراج ویژگی پیادهسازی شده است که میتواند یک تقریب برای مدل n-gram در نظر گرفته شود. در مدل McPAD بستههای ترافیک انتقالی در ترافیک نرمال به صورت 2-v-gram استفاده میشود که فرکانس نسبی جفت بایت ها از موقعیت 0 تا v تغییر می کند و هر کدام موقعیت خود را از طریق دیگری پیدا می کند. مجموعه ترافیک انتقالی در v+1 فضای ویژگی مختلف نشان داده میشوند و یک کلاس برای طبقهبندی هر فضای ویژگی آموزش داده شده است و هر کدام از طبقهبندیکنندهها بر اساس ویژگیهای فضای خود آموزش میبیند.
[7] اخیرا مدل های مارکوف و مدل های مخفی مارکوف برای مدل سازی مسائل امنیتی کامپیوتری استفاده میشوند در حالیکه قبلا از آنها فقط در برنامههایی نظیر تشخیصگفتار، تشخیص دست خطها وتجزیه تحلیل دنبالههای زیست شناسی استفاده می شده است.9]،[8 در زمینه امنیت کامپیوتر استفاده از مدل مخفی مارکوف در طرف سرور مرسوم شده است. HMM و n-gram از لحاظ ریشه تئوری یکی هستند.
HMM می تواند به خوبی n-gram دادهها را به صورت حالات محدود نمایش دهد. 10]،11،12،[13 علاوه بر اینکه مدل HMM از قدرتی یکسان با مدل n-gram برخوردار است ،HMM در زمینه مدل کردن دنباله ها در مقایسه با n-gram ازمزایای زیادی برخوردار است. n-gram از جهت میزان ویژگیهایی که میتواند مدل کند به 256 محدود میشود، این در حالی است که HMM می تواند هر طولی از دنباله ها را به خوبی و بدون محدودیت بدون تغییر در پیچیدگی محاسباتی پردازش کند. توصیف کنیم.[8]
-1-1 پروتکل AODV
پروتکل مسیریابی AODV یک پروتکل واکنش پذیر است که برای شبکه های ویژه سیار طراحی شده است. زمانی که نود مبدا نیازمند مسیری به نود مقصد باشد فرآیند Rout Discovery را برای یافتن مسیر به مقصد صدا میزند. نود مبداS شبکه را با بسته های Rout Request - RREQ - پر میکند. همانطور که در شکل - -1 الف - نشان داده شده است نود مبدا فرآیند پیداکردن مسیر را به نود مقصد آغاز کرده است. با دریافت بسته های RREQ توسط ندهای میانی آنها جداول مسیریابی خود را با مسیربه نود مبدا بروزرسانی خواهند نمود. نودهای میانی که مسیری به نود مقصد نداشته باشند، اقدام به پخش همگانی آن از طریق نودهای همسایه خواهند نمود که البته در این فرآیند به مقدار hop-count یک واحد اضافه خواهد شد.
پیغام Rout-Reply در صورتی از طرف نودی به نود مبدا ارسال خواهد شد که آن نود، نود مقصد باشد و یا آنکه دارای مسیری به آن باشد. با ارسال بسته RREP از طرف نود مقصد به نود مبدا نودهای میانی نیز اقدام به بروزرسانی جدول مسیریابی خود خواهند نمود. همانطور که در شکل -1 - ب - نشان داده شده است نود مقصد D و نود میانی G دارای مسیری به نود مقصد می باشند و هردو از طریق بسته RREP به نود مبدا به درخواست RREQ پاسخ خواهند داد.
AODV از پارامتر Sequence number برای تعیین تازگی اطلاعات مسیر و تضمین مسیریابی بدون loop استفاده می کند. در صورتی که چندین مسیر به نود مقصد وجود داشته باشد، نود مبدا مسیری با بیشترین مقدار sequence number را انتخاب خواهد نمود و در صورتی که یکسان بودن مسیری که hop-count کمتری دارد انتخاب خواهد شد. در صورتی که مسیر منتهی به نود مقصد دچار شکست شود، توسط بسته های RRER به اطلاع نو های منتهی به نود مبدا خواهد رسید که این امر منجر به نامعتبر کردن ورودی های شکسته شده در جدول مسیریابی آنها خواهد شد.
همچنین AODV با ارسال متناوب بسته های HELLO از وصعیت اتصال نودهای مسیر مطمئن خواهد شد. از هیچ مکانیزم کنترلی و امنیتی خاصی استفاده نمیکند. لذا هیچ راه حل مشخصی برای کنترل عملکردهای متخاصمی چون استراغ سمع، انهدام بسته ها و یا تغییر محتوای بسته های کنترلی نخواهد داشت. پروتکل هایی چون SAR، SAODV اقدام به امن کردن AODV در مقابل تعدادی از حملات مینمایند، اما این امر به قیمت سربار عملکرد بالا و کارایی پایین خواهد بود.
-2-1 سیستمهای دستهبندیکنندهی چندگانه
سیستمهای دستهبندیکننده چندگانه 3 - MCS - در مسائل تشخیص الگو به طور گستردهای مورد استفاده قرار گرفتهاند، بهطوریکه نسبت به سیستمهای تکدستهبندیکننده دقت بیشتری را از خود نشان دادهاند. دلایل این امر را میتوان در 4]،[3 مشاهده نمود.شکل2 نمونه ای از این دسته بندی کننده را نشان میدهد. یکی از تکنیکهای محاسبات نرم در تشخیص بینظمی منطق فازی میباشد که در [10] به آن پرداخته شده است. تشخیص بینظمی مبتنی بر مجموعهها و قوانین فازی، بنا به دلایل زیر نتایج بهتری ارائه میدهد:
الف. از آنجایی که نرمال یا غیرنرمال بودن، مفهوم قطعی نمیباشد، تعریف یک مفهوم قطعی باعث میشود که تمایز نامناسبی بین نرمال و غیرنرمال بودن ایجاد شود. بنابراین طبیعی است که باید از مجموعههای فازی برای محدوده ای که کاندیداری اصلی خطا می باشند استفاده کرد 16]،.[15
-3-2 فازی
یکی از تکنیکهای محاسبات نرم در تشخیص بینظمی منطق فازی میباشد که در [10] به آن پرداخته شده است. تشخیص بینظمی مبتنی بر مجموعهها و قوانین فازی، بنا به دلایل زیر نتایج بهتری ارائه میدهد:
الف. از آنجایی که نرمال یا غیرنرمال بودن، مفهوم قطعی نمیباشد، تعریف یک مفهوم قطعی باعث میشود که تمایز نامناسبی بین نرمال و غیرنرمال بودن ایجاد شود.
ب. سیستم تشیخص بینظمی مبتنی بر استنتاج فازی، میتواند ورودیهای دریافتی از چندین منبع را ترکیب کند که این امر سبب بهبود کارایی تشخیص میشود. [15]
-2 سیستم تشخیص نفوذ پیشنهادی
بهطورکلی، سیستمهای تشخیص نفوذ مبتنی بر الگوریتمهای یادگیری ماشین در دو فاز آموزش و آزمایش توسعه داده میشوند. در فاز آموزش، مدلها و ماژولهای سیستم با توجه به دادههای آموزشی پیکربندی میشوند در مرحله آزمایش، سیستم ساختهشده با توجه به دادههای عملیاتی نرمال و غیر نرمال ارزیابی میشود. برای هر ترافیک انتقالی در این سیستم چندین گروه HMM ساخته میشود. هر گروه HMM برای مدلسازی هر ویژگی استخراجشده از ترافیک انتقالی، آموزش داده میشود. مقدار احتمالی حاصل از HMM های درون یک گروه HMM ترکیبشده و خروجی نهایی موردنظر شکل میگیرد.