بخشی از مقاله
چکیده
امروزه با توجه به ضرورت استفاده از اینترنت، رشد چشمگیر شبکهها و زیرساختهای رایانهای و همچنین طراحی بدافزارهای پیچیده و پویایی که دائم در حال به روز رسانی خود هستند، حفظ امنیت و نظارت بر ترافیک شبکهها یکی از مهمترین ملزومات فضای سایبری میباشد. به طور کلی بدافزارها پس از ورود به سیستم میتوانند اقداماتی نظیر سرقت اطلاعات، ایجاد هرزنامه و یا تولید شبکهای از باتها را انجام دهند.
بنابراین ایجاد روشی که بتواند به صورت کارا به شناسایی و جلوگیری از نفود آنها بپردازد، همواره مورد نیاز خواهد بود. در سالهای اخیر باتنتها به عنوان یکی از خطرناکترین بدافزارهای شناخته شده در بستر اینترنت مطرح میشوند که قابلیت تخریب رایانههای سالم و تبدیل آنها به باتهایی برای انتقال ویروس، اسپم و غیره را دارند. تشخیص باتنتها با استفاده از روش های یادگیری چالشهای متعددی دارد که از میان آنها میتوان به کمبود دادههای برچسبگذاری شده اشاره نمود. به منظور تخفیف این مشکل میتوان از روش یادگیری فعال استفاده کرد که کمتر در زمینه تشخیص باتنت مورد توجه قرار گرفته است.
در این مقاله یک رویکرد مبتنی بر یادگیری فعال نیمه نظارتی با استفاده از ردهبندهای لجستیک و ماشین بردار پشتیبان خطی، به منظور تشخیص باتنت ارائه شده است. آموزش در این روش به صورت تعاملی انجام شده و سیستم در حین اجرا دائما ردهبند پایه را با توجه به نمونههای انتخابی خود که برچسب آنها درخواست میشود، به روز رسانی مینماید. برای انجام آزمایشات از مجموعه دادهای حاوی انواع مختلف باتنت استفاده کرده و پنج مجموعه ویژگی مختلف را استخراج میکنیم. نتایج بدست آمده، کارایی مدل را در تشخیص باتنتهای دیده نشده و دقت 89/85 درصد را نشان میدهد.
-1 مقدمه
در دنیای امروزی ضرورت استفاده از اینترنت و تبدیل شدن آن به عنوان بخش مهمی از زندگی افراد، موضوعی غیر قابل اغماض است. در واقع رشد فزاینده و استفادهی همگانی افراد از اینترنت به عنوان یک سوژهی جذاب برای انجام کارهای خرابکارانه توسط مهاجمان تبدیل شده و انگیزه آنان برای نفوذ در شبکه و ایجاد حملات اینترنتی گستردهتر، همواره در حال شدت یافتن است.
به طور کلی بدافزارها، به قطعه کدهایی اطلاق می شود که توسط برنامه نویسان تولید شده و هدف آنها از ایجاد این کدها، آلوده کردن، خرابکاری و کارهای مجرمانه بدون اطلاع مالک سیستم خواهد بود. بدافزارها اغلب به منظور تخریب رایانههای افراد قربانی از طریق بهکارگیری نرمافزارهای آسیبپذیر و یا فریب کاربران به اجرای کدهای خرابکارنه مورد استفاده قرار میگیرند. تشخیص چنین فرآیندی و نحوه استفاده مهاجم از راههای نفوذ همانند درهای پشتی، پویشگر کلید، سرقت رمزهای ورود و سایر توابع بدافزاری، همواره پیچیدهتر و به مسئله ای دشوارتر تبدیل شده است
تاکنون رویکردهای مختلفی به منظور تشخیص حملات و شناسایی بدافزارها ارائه شده است که در این بین، ردهبندی ترافیک شبکه به عنوان یکی از شناخته شدهترین رویکردهای امنیتی مطرح است .[2] به طور کلی این رویکرد با هدف تعیین و طبقهبندی کلاسهای ناشناخته مورد استفاده قرار میگیرد که در یک تقسیمبندی کلی به دو زیر مجموعه، روشهای کلاسیک و مدرن طبقهبندی میشود. در روش ردهبندی جریان ترافیک کلاسیک، پیشبینی مبتنی بر پورت و بررسی مبتنی بر محموله1صورت میپذیرد.
امروزه تکنیک اول، به علت افزایش برنامههای نظیر به نظیر2که از شماره پورتهای پویا استفاده میکنند دارای محدودیت بوده و کارایی چندان مطلوبی را ندارد. دومین روش این راهکار یعنی مبتنی بر محموله، نیز به علت وجود برنامههای مبتنی بر شبکه دادهی رمزگذاری شده و استفادهی آنها از تکنیکهای مختلف رمزنگاری، شکست خورده است و دیگر نتایج مناسبی را به همراه نخواهد داشت
بنابراین روش های مدرن به منظور رفع اشکالات راهکارهای گذشته پیشنهاد شدند که شامل روشهای مبتنی بر یادگیری ماشین، روشهای آماری و مبتنی بر رفتار می شوند. روشهای مبتنی بر یادگیری ماشین که راهکار پیشنهادی این مقاله نیز بر اساس آن ارائه شده است، میتواند به خوبی نوع برنامههای موجود در جریان ترافیک شبکه را ارزیابی و ردهبندی نماید
در میان بدافزارهای موجود، ایجاد باتنتها روندی رو به رشد داشته و به عنوان یکی از بزرگترین تهدیدات امنیتی به شمار میرود. در واقع بات یک رایانه آلوده شده به بدافزار است که بدون آگاهی و ارادهی کاربر و از راه دور توسط یک یا چند عامل انسانی یا ماشین کنترل میشود. به این عامل کنترل کننده، بات مرکزی یا چوپانبات3گفته می شود. علت اصلی خطرناک بودن این گونه شبکهها وجود تعداد زیادی از رایانهها است که چوپانبات میتواند از پهنای باند، قدرت ذخیرهسازی و پردازش هر یک از این رایانهها بهره برده و در راستای اهداف مخرب خود، استفاده نماید. حملات ممانعت از سرویسدهی توزیع شده،4 فعالیتهای فریبکارانه همانند تولید هرزنامه، شنود5، سرقت هویت6و نشر اطلاعات7از جمله حملاتی است که توسط باتنتها صورت میپذیرد
تاکنون روشهای مختلفی به منظور شناسایی باتنتها ارائه شده است. تکنیک های مبتنی بر یادگیری ماشین که یک فرآیند با ناظر [5] را برای شناسایی ترافیک باتنت در نظر گرفتهاند تا تکنیکهای بدون ناظر [6] که با درصد کمی از باتنتهای ناشناخته همراه هستند. هرچند که میزان نرخ تشخیص درست این مقالات نزدیک به 100 میباشد اما همگی بر اساس این فرض ارائه شدهاند که ما نسبت به زمینهی واقعی دادهها - حتی آنهایی که ناشناخته هستند - اطلاع کامل داریم؛ که این موضوع توسعهپذیری سیستمهای تشخیص را با محدودیت همراه میکند. یک چالش اساسی دیگر در سیستمهای تشخیص بات نت، همچون سیستمهای تشخیص نفوذ؛ توانایی شناسایی باتنتهای جدید و گونههای تاکنون مشاهده نشده، خواهد بود.
در این مقاله با هدف بهبود و رفع چالشهای مطرح شده، رویکردی مبتنی بر یادگیری فعال نیمهنظارتی، ارائه میدهیم که بعد از مرحله آموزش اولیه، قادر است، نمونههای جدید مشاهده شده را بررسی کرده و با انتخاب نمونههای مشخص، برچسب آنها را از مدیر شبکه - خبره - درخواست نماید. لازم به ذکر است که نحوه تصمیمگیری خبره میتواند بر اساس الگوی محموله بستهها، میزان شباهت جریانها به باتنتهای کشف شده، اطلاعات بدست آمده از هانینت و غیره باشد.
این سیستم نیاز به دادههای اولیه 8برچسبگذاری شده با حجم زیاد را از بین برده و به صورت فعال در صورت مواجهه با نمونههای جدید باتنت یا نمونههایی که دقت تشخیص کافی در باب آنها ندارد، ردهبند خود را به روز رسانی مینماید. بنابراین مدل ایجاد شده قدرت تشخیص باتنتهای جدید را نیز دارا خواهد بود. سیستم پیشنهادی بر مبنای ردهبندهای لجستیک و ماشین بردار پشتیبان خطی عمل میکند. این روش جزء اولین روشهایی است که برای تشخیص باتنت از یادگیری فعال استفاده میکند.
برای ارزیابی روش پیشنهادی از مجموعه داده باتنت ISCX استفاده می شود که کاملترین مجموعه داده از نظر تنوع باتنت میباشد. پنج مجموعه ویژگی مختلف از مجموعه داده استخراج شده و عملکرد روش پیشنهادی با این ویژگیها مقایسه میگردد. نتایج حاکی از کارایی مدل پیشنهادی در تشخیص باتنتهای جدید و دقت ردهبندی 89/85 درصد میباشد
-2 کارهای پیشین
به طور کلی باتنتها را میتوان بر اساس دو معیار مرتبط با کانالهای فرمان و کنترل، به دو بخش ساختار و پروتکل طبقهبندی نمود. بر اساس ساختار به سه دستهی متمرکز، غیرمتمرکز و ترکیبی تقسیمبندی میشوند که تفاوت آنها در نحوه عملکرد باتها در قالب مدل مشتری و سرویسدهندههای کنترل و فرمان میباشد
همچنین بر اساس پروتکل مورد استفاده در این کانالها، به سه نوع، مبتنی بر IRC، مبتنی بر HTTP و نظیر به نظیر دستهبندی می شوند که در آنها بات مرکزی سعی در حفظ ارتباط خود با قربانیان و به به روزرسانی برنامهها و دستورات را دارد
در حالت کلی روشهای تشخیص باتنت بر اساس سه معیار طبقهبندی می شوند:
- 1 موقعیت باتنت در چرخه حیات به هنگام تشخیص - 2 رویکرد یادگیری و - 3 میزان سطح همبستگی.
بر اساس معیار اول، عملیات تشخیص میتواند در مراحل آغازین، یعنی در زمان شکلگیری باتنت و ایجاد کانال کنترل و فرمان و یا در مرحلهی حملهی باتنت صورت گیرد. به طور کلی، دقت روشهایی که در مرحله حمله، شناسایی را انجام میدهند بالاتر است؛ اما از طرفی تشخیص باتنتها در مراحل آغازین، از مشارکت آنها در فعالیتها و حملههای مخرب، جلوگیری میکند
بر اساس معیار دوم، رویکرد یادگیری میتواند باناظر یا بدون ناظر باشد؛ که معمولا در یادگیری بر خط، به دلیل محدودیت نیاز به دادههای برچسبگذاری شده، از روشهای باناظر استفاده نمیشود .[10] در نهایت بر اساس معیار سوم نیز، روش تشخیص باتنت می تواند بر اساس دو سطح مختلف از تحلیل همبستگی10یعنی سطح گروهی و انفرادی صورت پذیرد. در تحلیل سطح انفرادی، شناسایی بر اساس رفتارهای فردی هر سیستم صورت میگیرد و رفتار سایر سیستمهای آلوده در نظر گرفته نمیشود. مزیت این روشها در این است که اگر در شبکه مورد نظر، تنها یک بات وجود داشته باشد، آن را تشخیص دهند.
از سوی دیگر روشهای مبتنی بر تحلیل سطح گروهی بر اساس یافتن الگوی مشابه بین دو یا چند سیستم عمل میکنند و آنها را به عنوان اعضای باتنت، تشخیص و معمولا دقت در این روشها نسبت به حالت قبل بالاتر ولی تنها قادر به شناسایی باتنتهایی با عضویت مشترک خواهند بود
یادگیری فعال نیمهنظارتی گونهای از روشهای یادگیری ماشین است که با هدفی واحد در دو جهت مختلف به یک مسئله یادگیری نگاه میکند. به این صورت که روش نیمهنظارتی آن به دنبال حدس زدن در خصوص دادههای بدون برچسب از روی مدل ساخته شده و روش فعال به دنبال کشف جنبههای ناشناختهی دادههای بدون برچسب است تا موثرترین دادهها برای فرآیند برچسبگذاری انتخاب شوند. این روش در سیستمهای امنیتی بیشتر به منظور یادگیری و به روز رسانی در مدل فراگرفته شده است که باید با حجم محدودی از دادههای بر چسب خورده به انجام برسد
یادگیری فعال روشی است که در آن الگوریتم یادگیری قادر به تعامل با خبره11یا کاربر، از طریق پرسو جو و یا برخی منابع اطلاعاتی دیگر خواهد بود و برای دستیابی به نتایج بهتر، بر اساس نقاط دادهای جدید اقدام به کار میکند. سه شیوه اصلی یادگیری فعال عبارتند از: ترکیب پرسوجوی عضویت12، نمونهبرداری گزینشی مبتنی بر جریان13و نمونهبرداری مبتنی بر استخر.
رویکردهای مبتنی بر یادگیری فعال با هدف اصلاح مشکلات سیستمهای تشخیص نفوذ مورد استفاده قرار گرفتند. در این سیستمها از طریق انجام یک فرآیند به روز رسانی فعال سعی در کاهش هزینهی برچسبگذاری جریانهای ترافیکی شبکه شد
از سوی دیگر یافتن تعداد محدودی از برچسبهای جریان حمله با استفاده از یک چارچوب یادگیری فعال و استفاده از آموزش نیمهنظارتی با هدف تمیز دادن جریان نرمال از حمله و سپس برچسبگذاری کل نمونههای ناشناخته نیز در این زمینه صورت پذیرفته که با کمبود تنوع حملات، به خصوص تشخیص بات نتهای جدید همراه بوده است
در این مقاله رویکرد مبتنی بر یادگیری فعال نیمهنظارتی، تحلیل انفرادی و تشخیص در مرحله آغازین است که سیستم در حین اجرا دائما ردهبند پایهی خود را با توجه به نمونههای جدیدی که مشاهده میکند، به روز رسانی مینماید.
-3 روش پیشنهادی
در این مقاله یک رویکرد جدید با استفاده از یادگیری فعال نیمهنظارتی برای تشخیص باتنتها و شناسایی جریان ترافیک نرمال از حمله، ارائه شده است. پس از استخراج ویژگیهای مبتنی بر جریانهای ترافیک، ابتدا مدل ردهبندی دادهها با تعداد کمی جریانهای برچسبدار ساخته میشود. سپس با مشاهده جریانهای جدید، میزان مفید بودن اطلاعات آنها را به کمک استراتژیهای موجود در یادگیری فعال، اندازهگیری کرده و برچسب جریانهای انتخاب شده از فرد خبره استعلام میشود. جریانهای مفروض به صورت یک سری بردارهای ویژگیهای استخراج شده هستند و با اعمال فرآیند برچسبگذاری، سیستم در حین اجرای، عملیات به روز رسانی ردهبند را با توجه نمونههای جدیدی که مشاهده میکند، انجام میدهد. در ادامه، ابتدا به شرح روش یادگیری و سپس مجموعه ویژگیهای استفاده شده، میپردازیم.
1؛-3 یادگیری فعال نیمهنظارتی
سیستم یادگیری فعال پیشنهاد شده در این مقاله دارای فرایندی است که در شکل - 1 - مشاهده میشود. در این سیستم که بر اساس سناریوی مبتنی بر استخر پیادهسازی شده است، در ابتدا 10درصد از دادهها برای آموزش اولیهی ردهبند استفاده شده و بقیه دادهها بدون برچسب باقی میمانند. علت اصلی این امر کمبود دادههای برچسب خورده و حجم بالا نمونههای بدون برچسب در کاربردهای دنیای واقعی خواهد بود.
رده بند مورد استفاده در این مقاله به صورت تجمیعی15ومبتنی بر ردهبندهای لجستیک و ماشین بردار پشتیبان خطی می باشد. به طور کلی با توجه به نوع ویژگیهای استخراج شده که حاصل یک سری عملیات احتمالاتی هستند، نحوهی انتخاب ردهبندها بر اساس ساز وکار فرآیند ردهبندی و همچنین خاصیت پارامتریکی آنها میباشد؛ که سیستم در نهایت با مشاهده هر نمونه داده جدید، با توجه به نوع استراتژی یادگیری فعال، میتواند برچسب دادهی منتخب را از فرد خبره استعلام نماید؛ در واقع دادهی منتخب ارزش اطلاعاتی بالایی را برای بهبود عملیات ردهبندی در پی خواهد داشت.
شکل : - 1 - یادگیری فعال نیمهنظارتی مبتنی بر استخر
یادگیری فعال دارای استراتژیهای پرسوجوی مختلفی میباشد که از مهمترین آنها میتوان به نمونهبرداری مبتنی بر آنتروپی، نمونهبرداری تصادفی، آنتروپی رایگیری، واگرایی - KL - 16Kullbak-Liebler، اتلاف لگاریتم موردانتظار، نمونهبرداری بیشترین شباهت و غیره اشاره کرد که هرکدام به گونهی خاصی دادههای بدون برچسب را برای پرسش از خبره انتخاب میکنند
ما در این مقاله از راهکار واگرایی KL استفاده کردیم که به عنوان یکی از استراتژیهای پرسوجوی هیئت بررسی میباشد و بر اساس اختلاف میزان اطلاعات خروجی چند ردهبند نسبت به انتخاب دادهها اقدام میکند. در واقع این راهکار میانگین اختلاف هر توزیع احتمالاتی را با میانگین کل توزیع دادهها اندازهگیری مینماید
مدل یادگیری برای به کارگیری در استراتژی واگرایی KL و همچنین آموزش داده ها بر اساس ردهبندهای لجستیک و مدل خطی ماشین بردار پشتیبان صورت پذیرفت که در ادامه شرح داده میشوند.