روش مبتنی بر جریان در برابر روش مبتنی بر محتوا

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

  • داده جریان شبکه

همان طور که گفته شد، محققان حوزه شناسایی نفوذ با مشکل عدم وجود مجموعه داده مناسب همگانی جهت ارزیابی مدل های خود روبرو می باشند. به خصوص در زمینه روش های مبتنی بر جریان به دلیل وجود دغدغه حفظ حریم[1]، این مسئله کارشناسان را با محدودیت مواجه ساخته است. همچنین داده های موجود بسیار قدیمی بوده و شامل تهدیدهای به روز نمی باشد. از دیگر مواردی که تهیه مجموعه داده را با اشکال مواجه می کند، نیاز به داده آزمایشی[2] جهت ساخت مدل در برخی روش های شناسایی است. در نهایت می توان گفت که هنوز داده ای مناسب و همگانی جهت ارزیابی و مقایسه روش های سناسایی نفوذ ارائه نشده است[16].

در بسیاری از پژوهش های مبتنی بر جریان، پژوهشگران داده های مورد نیاز را خودشان تهیه کرده و مدل خود را با آن آزمایش می کنند. به عنوان مثال در پژوهش انجام شده توسط Ding و دیگران [17]، نویسندگان داده های خود را از یک سرویس دهنده خدمات اینترنتی اروپایی جمع آوری کرده اند. در پژوهش انجام گرفته توسط  O’Donnell[18]و دیگران از داده های ضبط شده توسط سرورهای پستی دانشگاهی استفاده کرده اند. این داده ها به دلایل مسائل امنیتی مرتبط با حفظ حریم عمدتا در اختیار عموم قرار نمی گیرند.

با توجه به مشکلاتی که در زمینه تهیه داده واقعی وجود دارد، در برخی موارد پژوهشگران از داده های شبیه سازی شده برای ارزیابی مدل شناسایی خود استفاده می کنند. در پژوهش انجام شده توسط [14]علاوه بر جمع آوری داده واقعی، با استفاده از زنجیره مارکو[3] به شبیه سازی داده نرمال و داده مرتبط با حملات در قالب سری های زمانی انجام شده است. در پژوهش پیش رو نیز با استفاده از تابع توزیع [4]Power law داده های شبکه شبیه سازی شده اند.

  • روش های مبتنی بر بسته

برخی دیگر از تمامی محتوای بسته اطلاعاتی استفاده می کنند که با نام روش های مبتنی بر بسته شناخته می شوند.

  • روش های مبتنی بر جریان

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

استفاده از داده جریان شبکه به شکل قابل ملاحظه ای میزان داده مورد استفاده جهت تحلیل را کاهش می دهد. این مسئله سبب می شود تا سربار کمتری نسبت به روش های مبتنی بر بسته به تحلیل گر امنیتی شبکه تحمیل شود. از سویی دیگر عدم استفاده از محتوای بسته، محدوده شناسایی سیستم شناسایی نفوذ را محدود می کند. در نتیجه پژوهش های امنیتی در زمینه سیستم شناسایی نفوذ مبتنی بر جریان بر روی  حملاتی که بر روی الگوی ارتباطی در شبکه تاثیر می گذارد مانند حملات کرم ها، پویش[5] (از دسته سرقت اطلاعات)، محدود کننده سرویس و Botnet متمرکز می باشند. در ادامه به برخی از پژوهش هایی که در این زمینه انجام گرفته می پردازیم.

  • کرم ها

کرم ها دارای دو مرحله عملیاتی می باشند: مرحله کاوش و مرحله انتقال. در مرحله کاوش، کرم صرفا به دنبال کاوش شبکه به منظور یافتن نقاط آسیب پذیر در شبکه می باشد. در مرحله انتقال کد مخرب مربوط به کرم به سیستم قربانی انتقال می یابد. روش های مبتنی بر جریان بر شناسایی کرم در مرحله کاوش متمرکز می باشند چرا که برای شناسایی کدهای مخرب در حال انتقال به محتوای بسته نیاز خواهیم داشت. در بسیاری موارد شناسایی کرم مشابه شناسایی پویش در شبکه در نظر گرفته می شود. به عنوان مثال روش ارائه شده توسط Wagner و دیگران[20] که برای شناسایی پویش در شبکه ارائه شده، به راحتی قابل تعمیم برای شناسایی کرم ها می باشد.

در پژوهش انجام شده توسط Dübendorfer و دیگران رفتار میزبان بر مبنای ترافیک ورودی و خروجی تعریف می شود. الگوریتم پیشنهادی توسط ایشان میزبان های موجود در شبکه را به یک سری کلاس دسته بندی می کردند: کلاس های ترافیک[6]، برقرارکننده اتصال[7] و پاسخ دهنده اتصال[8]. کلاس ترافیک شامل میزبان هایی است که میزان ارسال ترافیک در آن ها بیشتر از میزان دریافت ترافیک می باشد. میزبان هایی که درجه خروجی بسیار بالا و نامتعارف دارند، در کلاس برقرار کننده اتصال قرار می گیرند. همچنین میزبان هایی که در ارتباطات دوسویه[9] بسیاری وجود داشته باشند در کلاس پاسخگو قرار می گیرند. این کلاس ها به گونه ای تعریف می شوند که تنها میزبان های مشکوک در آن ها قرار می گیرند. شایان ذکر است که با این تعریف یک میزبان می تواند در یک یا چندین کلاس دسته بندی شود. در این روش به طور متناوب وضعیت میزبان های شبکه بررسی می شود.تغییرات شدید در درجه[10] یک یا چندین کلاس نشانگر انتشار کرم در شبکه می باشد. در شکل زیر می توانید این سه کلاس و تداخل آنها در یکدیگر را مشاهده کنید. نویسندگان روش خود را در برابر کرم های سریع منتشر شونده مانند Witty و Blaster ارزیابی و موثر اعلام کرده اند.

    • کلاس های مرتبط با میزبان های شبکه

در پژوهشی دیگر که توسط Dressler و دیگران انجام شده  [21] رویکرد متفاوتی در شناسایی کرم ارائه شده است. نویسندگان به بررسی ارتباط میان جریان های شبکه و اطلاعات ضبط شده توسط طعمه ها[11] پرداختند. آن ها نیاز به یک سری سیستم مطمئن[12] جهت اعتبارسنجی ترافیک شبکه داشتند.  آن ها با جمع آوری اطلاعات جریان شبکه و اطلاعات ضبط شده طعمه ها یک پایگاه داده تولید کرده و بر مبنای آن امضای مبتنی بر جریان کرم ها[13] را به دقت استخراج کردند. به عنوان مثال این امضاء می تواند توالی اتصالات و اطلاعات مرتبط با جریان مربوط به عملیات پویش و انتقال یک کرم باشد.

در پژوهشی دیگر Collins و دیگران [24] روشی جهت شناسایی کرم لیست برخورد[14] ارائه کردند. استراتژی پویش مرحله ای[15] مورد استفاده توسط کرم لیست برخورد از یک لیست از میزبان های آسیب پذیر تشکیل شده که به طور مداوم آنلاین هستند. این لیست معمولا توسط حمله گر آماده می شود. دلیل استفاده از لیست برخورد این است که مرحله مقداردهی اولیه جهت انتشار کرم بسیار کند است. استفاده از یک لیست برخورد باعث سرعت بخشیدن به مرحله انتشار کرم می شود. نویسندگان یک الگوریتم مبتنی بر گراف را ارائه دادند که ترافیک شبکه را بر مبنای ترافیک مورد استفاده بخش بندی می کند. آن ها ادعا کردند که تعداد میزبان هایی که به طور معمول از یک پروتکل خاص استفاده می کنند و نیز الگوی ارتباط میان میزبان ها معمولا یکنواخت[16] است. این یکنواختی معمولا زمانی که یک میزبان شروع به پویش شبکه با استفاده از لیست برخورد می کند، از بین می رود. نویسندگان هر میزبان را یک گره از گراف در نظر گرفته و الگوهای ارتباط میان میزبان ها را به شکل اجزاء همبند[17] توصیف می کنند.  به عنوان مثال در تصویر زیر قسمت (a) یک الگوی ارتباط نرمال در شبکه را مشاهده می کنید که دربرگیرنده 9 گره، دو جزء همبند از درجه 5 و 4 می باشد. در مدل ارائه شده، انتشار کرم ساختار گراف را به دو صورت به هم می ریزد:

  • کرم با میزبان هایی که به ندرت در ارتباطات شرکت می کنند، ایجاد ارتباط می کند. از این رو تعداد نودهای گراف افزایش می یابد. این وضعیت را در قسمت (b) از شکل زیر می بینید.
  • کرم به سرورهایی که به ندرت در ارتباطات شرکت می کنند، متصل می شود. با این کار حمله گر سبب می شودتا جزء های همبند مستقل در هم ادغام شوند. به عنوان مثال در قسمت (c) از شکل زیر حمله گر سبب ادغام دو جزء همبند مستقل در یک جزء با درجه 10 می شود.

 

  • اجزاء همبند توصیف کننده الگوهای ارتباط میان میزبان ها در شبکه

    • محدود کننده سرویس

همان طور که ذکر شد، در این نوع حمله دسترسی کاربران مجاز به سرویس ها با اشکال مواجه شده و یا قطع می شود. این نوع حمله به طور متناوب در اینترنت روی می دهد. بر اساس پژوهش انجام شده توسط Moore و دیگران[25]، در طی سال های 2001 تا 2004 به طور متوسط در هر ساعت 24.5 آدرس IP متفاوت در سراسر دنیا قربانی حمله محدود کننده سرویس می گردند. این مسئله ضرورت توجه پژوهشگران به حملات محدود کننده سرویس نشان می دهد. شایان ذکر است که روش شناسایی نفوذ مبتنی بر جریان در برابر حملات محدود کننده سرویس که ترافیک شبکه را دچار سربار مضاعف می کنند[18] قادر به شناسایی و انجام واکنش است. در مورد حملات محدود کننده سرویس مفهومی[19] که اختلال در ارائه سرویس به دلیل محتوای بسته مشکوک است، این روش ها قادر به شناسایی و انجام واکنش نمی باشند.

در پژوهش ارائه شده توسط Gao و دیگران[23] در ابتدا با استفاده از یک ساختار با نام طرح اولیه[20]، اجتماع داده های جریان شبکه را ذخیره می کنند. طرح اولیه یک جدول یک بعدی درهم[21] است که جهت دسترسی سریع به داده های ذخیره شده بسیار مناسب می باشد.  توسط این جدول می توان تعداد رخداد مرتبط با یک رویداد را شمارش کرد. طرح اولیه این امکان را فراهم می کند که یک سری ویژگی های آماری در مورد تغییرات ترافیک در طول زمان به دست آوریم. سپس یک سیستم شناسایی مبتنی بر ناهنجاری بر مبنای تغییرات شدید و ناگهانی این ویژگی های آماری ذخیره شده در طرح اولیه، نفوذ را شناسایی و واکنش نشان می دهد.

در پژوهشی مشابه، Zhao و دیگران [26] با به کارگیری یک الگوریتم جریان داده[22] با بررسی بخشی از ترافیک شبکه اقدام به شناسایی آدرس های IP ای کردند که تعداد نابهنجاری اتصال داشته اند. سپس این آدرس ها به عنوان آدرس های مشکوک شناسایی می شدند.در دو حالت تعداد اتصالات مشکوک تلقی می گردد:

  • درجه خروجی بالا[23]: در این حالت احتمالا یک میزبان در شبکه مشغول عملیات پویش می باشد.
  • درجه ورودی بالا[24]: این ویژگی به منظور شناسایی قربانیان حملات محدود کننده مناسب می باشد.

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

در پژوهش Kim و دیگران [30] ابتدا انواع حملات محدود کننده سرویس در قالب الگوهای ترافیکی[25] بررسی شده است. در واقع یک الگوی ترافیکی یا امضای حمله[26] عبارت است از تعداد و اندازه جریان های شبکه و بسته ها و نیز میزان پهنای باند[27] که در خلال حمله استفاده می شود. در این پژوهش نشان داده شده که این الگوی ترافیکی به ازای حملات مختلف بسیار متفاوت هستند. سپس با ارائه یکسری معیارهای ارزیابی[28] در قالب توابع شناسایی[29]، توانسته اند احتمال مشکوک بودن یک ترافیک را تخمین بزنند.

در پژوهشی دیگر Munz و دیگران، یک زیربنای[30] عمومی برای شناسایی حملات محدود کننده سرویس معرفی کرده اند.  آن ها نام سیستم خود را TOPAS[31] گذاشتند که وظیفه آن جمع آوری جریان های شبکه از منابع و مکان های مختلف بود. این زیربنا دارای بخش های شناسایی زمان حقیقی متفاوتی است که توسط مدیر شبکه پیکربندی می شوند. بخش های مختلف این زیربنا قادر به شناسایی انواع حملات هستند اما تمرکز اصلی این پژوهش بر شناسایی حملات محدود کننده سرویس و حملات محدود کننده سرویس توزیع شده[32]، می باشد.  

  • پویش

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

  • پویش افقی[34]: سیستم نفوذگر بر روی یک پورت خاص بر روی تعداد زیادی میزبان عملیات خود را انجام می دهد.
  • پویش عمودی[35]: سیستم نفوذگر بسته های پویشی خود را بر روی تعدادی از پورت های یک میزبان خاص ارسال می کند.
  • پویش دسته ای[36]: تعداد متفاوتی پورت بر روی تعداد متفاوتی میزبان توسط نفوذگر مورد پویش قرار می گیرد.
    • دسته بندی حملات پویش

بر مبنای ادعای مطرح شده توسط Zhao و دیگران، ویژگی برجسته حمله پویش را می توان درجه خروجی غیر نرمال میزبان دانست [31]. از سویی دیگر درجه ورودی غیر نرمال میزبان نیز می تواند بیانگر احتمال وقوع حمله محدودکننده سرویس علیه میزبان باشد. 

در پژوهشی  Li و دیگران [32] از یک طرح اولیه دو بعدی جهت شناسایی حملات پویش و نیز حمله محدود کننده سرویس بهره برده اند. همان طور که گفته شد، طرح اولیه یک جدول درهم است که توسط این جدول می توان تعداد رخداد مرتبط با یک رویداد را شمارش کرد. همچنین یک سری ویژگی های آماری در مورد تغییرات ترافیک شبکه در طول زمان به دست آورد. این نویسندگان برای هر بعد از این طرح اولیه دو بعدی کلیدهای متفاوتی را در نظر گرفته بودند. به عنوان مثال یک از ابعاد می تواند مرتبط با پورت مقصد باشد که سرویس مورد نظر در مقصد است. بعد دیگر نیز مرتبط با زوج آدرس مبدا و آدرس مقصد باشد که بیانگر تعاملات میان دو میزبان است. این کلید ها می تواند در شناسایی پویش افقی، عمودی و حمله سیل آسای [37]SYN مفید واقع شوند.

در مدل آماری ارائه شده توسط Wagner و دیگران، از معیار ارزیابی انتروپی[38] جهت تشخیص منظم بودن ترافیک شبکه استفاده شده است [24]. معیار آنتروپی که در سال 1984 ارائه شد[28]، نمایانگر میزان عدم قطعیت[39] و تصادفی بودن[40] یک پردازش اتفاقی[41] است. به علاوه معیار انتروپی جهت فشرده سازی داده با کمترین میزان اتلاف[42] داده می باشد. از این رو ارائه دهندگان این مدل با استفاده از مفهوم فشرده سازی انتروپی یک روال تحلیل[43] موثر بر مبنای فشرده سازی دنباله معیارهای[44] شبکه طراحی کردند. آن ها مشاهده کردند که وقوع حمله پویش در یک بازه زمانی خاص، بر روی انتروپی کلی میزبان تاثیر می گذارد. به طور کلی اگر از یک منبع تعداد زیادی جریان شبکه ارسال شود-منبعی پویشگر- انتروپی مرتبط با توزیع آدرس های مبدا دچار کاهش ناگهانی می شود. همچنین در همان زمان انتروپی مرتبط با توزیع آدرس های مقصد دچار افزایش ناگهانی می شود چرا که یک منبع مشغول برقراری ارتباط با تعداد زیادی مقصد می باشد. استفاده از این تغییرات انتروپی می تواند به آشکارسازی حملات در شبکه کمک کند.

در پژوهشی دیگر Ding و دیگران[14] با یاری جستن از معیارهای تحلیل شبکه اجتماعی به اثبات نظریه خود در مورد رفتار نفوذگران در شبکه پرداخته اند. آنها این نظریه را مطرح کردند: “نفوذگر کسی است که فارغ از مرزهای اجتماعی موجود، با اجتماعات مختلف ارتباط برقرار کند”. آن ها با استفاده از معیارهای تحلیل شبکه های اجتماعی مانند ضریب همبستگی دسته[45] و مرکزیت میانی[46] توانستند روشی موثر و ساده برای شناسایی نفوذگران ارائه دهند. مدل ارائه شده توسط آنها به عنوان مکمل سیستم های مبتنی بر امضاء می تواند به کار گرفته شود.

  • Botnet

در حملات Botnet، گروهی از کامپیوترهای آلوده از راه دور توسط فرمانده حمله هدایت و کنترل می شوند. این شبکه از کامپیوترهای آلوده ابزاری مناسبی جهت راه اندازی حملات گسترده می باشد. شناسایی کامل این گروه از کامپیوترهای آلوده بسیار دشوار می باشد چرا که با شناسایی فرمانده حمله و منزوی کردن آن، سایر کامپیوترها دیگر خطرناک نمی باشند. اما روش موثری برای شناسایی فرمانده تا کنون پیدا نشده و این حوزه از پژوهش هنوز در ابتدای راه می باشد[34]. یکی از تفاوت هایی که این حمله با حملات پویش و محدود کننده سرویس دارد این است که برای شناسایی این حمله Botnet نیاز به نظارت طولانی مدت شبکه وجود دارد تا بتوان فرمانده و یا کامپیوترهای آلوده تحت کنترل را شناسایی کرد. حال آنکه در حملات پویش و محدود کننده سرویس امکان شناسایی در زمان حقیقی[47] وجود دارد.

در حقیقت، اکثر حملات Botnet از طریق کانال [48]IRC اداره می شوند. که از طریق در سطح داده جریان شبکه قابل شناسایی هستند و نیازی به بررسی محتوای ترافیک ارسالی نمی باشد. در مدل ارائه شده توسط Karasaridis و دیگران [39] ترافیک مرتبط با کانال IRC بدون توجه به شماره پورت مدل سازی می شود. در پژوهش مذکور دو هدف کلی دنبال شده است. اول اینکه طی یک روند چند مرحله ای فرماندهان حملات شناسایی می شوند. ابتدا با بررسی وقایع ثبت شده مرتبط با عملیات پویش، هرزنامه و ویروس ها جریان مرتبط با ارتباطات مشکوک شناسایی می شوند.  این ارتباطات مشکوک که معمولا از طریق کانال IRC برقرار می شود، می تواند میان فرمانده احتمالی و شبکه تحت کنترل او باشد. سپس این الگوی ارتباطی مشکوک با مدل ساخته شده از جریان شبکه مقایسه می شود تا از صحت شناسایی مطمئن گردند. دومین هدفی که در پژوهش مورد نظر دنبال شده، این است که پس از شناسایی فرمانده حمله سیستم بتواند سیستم های آلوده تحت کنترل را از لحاظ رفتاری دسته بندی کند. به همین منظور یک الگوریتم دسته بندی سلسله مراتبی[49] ارائه داده اند که کامپیوترهای آلوده را برمبنای فعالیت های پرت هایشان دسته بندی می کند.

در  دو پژوهش دیگر روش مشابهی توسط Livadas و همکاران [39] و نیز Strayer و همکاران [38] استفاده شده است. در این پژوهش ها با مدل کردن جریان TCPو گفتمان های IRC و با بهره گیری از روش های یادگیری ماشین روشی جهت شناسایی خودکار حملات Botnet ارائه کرده اند. این پژوهشگران در پژوهش خود به بررسی کارآیی روش های یادگیری ماشین مانند استفاده از کلاسه کننده های درختی[50]، شبکه های Bayesian[51] و کلاسه کننده های  Naive Bayes[52] پرداخته اند. در نهایت توانسته اند با تفکیک ترافیک IRC از ترافیک های دیگر[53] به شناسایی و تفکیک ترافیک های مرتبط با حمله بپردازند.

[1] Privacy Concern

[2] Train data

[3] Markov chain

[4] Power law distribution

[5] Scan

[6] Traffic

[7] Connector

[8] Responder

[9] Bidirectional

[10] Cardinality

[11] Honeypots logs

[12] Ground truth

[13] Worm flow-signature

[14] Hit-list worm

[15] Sequential

[16] Regular

[17] Connected component

[18] Brute force DoS attacks

[19] Semantic DoS attacks

[20] Sketch

[21] Hash table

[22] Data-streaming algorithm

[23] Large fan-out

[24] Large fan-in

[25] Traffic patterns

[26] Attack signature

[27] Bandwidth

[28]  Metrics

[29] Detection functions

[30] Platform

[31] Traffic flOw and Packet Analysis System

[32] Distributed DoS

[33] Probe

[34] Horizontal scan

[35] Vertical scan

[36] Block scan   

[37] SYN Flooding

[38] Entropy

[39] Uncertainty

[40] Randomness

[41] Stochastic

[42] Loss-less

[43] Analysis procedure

[44] Measurements

[45] Clustering coefficient

[46] Betweenness centrality

[47] Real-time

[48] Internet RelayChat

[49] Hierarchical clustering

[50]  Classification trees

[51] Bayesian networks

[52] Naive Bayes classifiers

[53] non-IRC traffic

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *