بخشی از مقاله

چکیده

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

در مرحله آموزش بردارهای ویژگی استخراج شده مرتبط با هر درخواست HTTP، وارد سامانه شده و نمونه شبیهسازی شده درخواست عادی توسط هر دستهبند یادگیری میشود؛ سپس با استفاده از روشهای مختلف ترکیب دستهبندهای تککلاسی؛ بار دیگر نمونه شبیهسازی شده درخواست عادی HTTP به سیستم یادگیری منتقل میشود. برای ترکیب دستهبندها از استراتژیهای مختلف ترکیب، جهت تصمیمگیری گروهی استفاده شده است. نتایج ارزیابیهای کمی و کیفی روش پیشنهادی بر روی پایگاهداده CSIC، بیانگر نرخ تشخیص حدود 99 درصد در مدلسازی با روشهای ترکیبی و حداکثر نرخ هشدار نادرست حدود 0/2 می باشد. رویکرد سیستم پیشنهادی در استفاده از تصمیمگیری گروهی، معیارهای کارآیی سامانه تشخیص ناهنجاری را بخوبی بهبود بخشیده است.

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

مقدمه

امروزه سهم عمده ای از تجارت جهانی بر عهده نرم افزارهای تجاری تحت وب می باشد . با وجود تمام مزایایی که تجارت الکترونیک به همراه دارد ، انجام تراکنش ها و ارتباطات آنلاین زمینه ساز سوء استفاده از فناوری و حتی اعمال مجرمانه فراهم می کند.هر ساله سازمان های تجاری بسیاری هدف جرائم مرتبط با امنیت ، از حملات ویروسی گرفته تا کلاه برداری های تجاری از قبیل سرقت اطلاعات حساس تجاری و اطلاعات محرمانه کارت های اعتباری ، قرار می گیرند. چنین حملات امنیتی موجب میلیون ها دلار ضرر و اخلال در فعالیت شرکت ها می شوند.

با افزایش کاربران سیستم های اطلاعاتی و بالا رفتن حجم پردازش داده های تحت وب و دسترسی آسان به اطلاعات و رشد فزاینده کاربران مهاجم می توان فرض کرد که تعداد این سوء استفاده ها از فناوری و تهدیدهای امنیتی نیز به همین نسبت افزایش یابد.

در این مقاله روشی برای تشخیص درخواست های HTTP ناهنجار در نرم افزارهای تجاری تحت وب ارائه می شود که از ترکیبی از دستهبندهای تککلاسه استفاده مینماید. نرخ تشخیص1 و نرخ هشدار نادرست2 این روش در مقایسه با سایر روشهای ارائه شده، شناسایی مناسب با خطای اندکی را نشان میدهند. ادامه مقاله بدین ترتیب است؛ در بخش دوم روش پیشنهادی مقاله در تشخیص ناهنجاری در نرم افزارهای تجاری تحت وب را ارائه میدهیم؛ سپس در بخش سوم روش پیشنهادی را مورد ارزیابی قرار داده و نتایج حاصل را بیان میکنیم. د

پیشینه تحقیق

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

سامانه تشخیص ناهنجاری شبکه پیشنهاد دادند که از فاصله  به عنوان راهی در تشخیص درخواستهای ناهنجار در مجموعه دادههایی با ویژگیهای چندگانه و از مقیاس دهی هر متغیر بر مبنای انحراف معیار استاندارد و کوواریانس؛ استفاده میکند.  و همکارانش تشخیص دهنده ناهنجاری محتوا بر اساس تحلیل  پیشنهاد دادند که از فیلترهای  استفاده میکرد و مقاومت در برابر حملات مشابه و چندریخت را فراهم مینمود.

همکارانش نشان دادند که چگونه میتوان سامانهای ارائه داد که با استفاده از الگوریتم استنتاج  به همراه هیووریستیکهای کاهش اتوماتا، خطر مثبت نادرست را کمینه کند. روش آنها الگوریتم آموزش دارای قابلیت کار با دادههای غیرایستا با طول دلخواه را فراهم میکند. Song و همکارانش ابزاری آماری مبتنی بر یادگیری ماشین برای دفاع در برابر حملات تزریق ارائه کرده اند. این رویکرد ترکیبی زنجیره های مارکوف را برای نمونه شبیهسازی شده کردن درخواست های  و استخراج الگوریتم آموزشی مرتبط به کار برده اند.

روشی برای امنیت نرم افزارهای تحت وب پیشنهاد شده که دیواره آتش برنامه کاربردی تحت وب3 نام گرفته است؛ این روش پس از پیش پردازش دادهها، در موتور تشخیص خود از الگوریتم درخت تصمیم C4.5 استفاده نموده است. علت استفاده از این الگوریتم، کاربرد گسترده آن در حیطه تشخیص نفوذ و موفقیت الگوریتم مبتنی بر درخت تصمیم در مسابقه تشخیص نفوذ DARPA بیان گردیده است. WAF پیشنهادی برای دستهبندی درخواستهای با نمونه های عادی و حمله آموزش داده میشود. در مرحله آموزش، مجموعهدادگان اولیه برای آموزش دستهبندی درخت تصمیم به سامانه ارائه میشود.

ساختار

فرض کنید نرم افزار تجاری تحت وب ما با تعدادی درخواست متخاصم روبروست که با بکارگیری رویدادهای حملههای مختلف که برخی از آنها برای ما ناشناخته است، سعی در مختل کردن عملیات آن دارند. در این صورت مسالهای که با آن روبرو هستیم این است که چگونه میتوان به دنباله درخواستهای HTTP نرم افزار تحت وب در طول زمان برچسب عادی یا غیرعادی زد.

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

استخراج ویژگی

یکی از مهمترین ملزومات برای ارائه یک سامانه تشخیص ناهنجاری نرم افزارهای تحت وب بر مبنای پروتکل HTTP؛ شناخت رفتار عادی این پروتکل است تا بتوان ناهنجاریها و حملهها را که به عنوان انحراف از حالت عادی تعریف میشود، تشخیص داد. گام نخست در شناخت رفتار عادی پروتکل HTTP، توصیف دقیق و جامع ویژگیها و رفتار آن میباشد. این توصیف اغلب با تعریف ویژگی صورت میگیرد و به تبع آن رفتار عادی به عنوان قیدی روی مقدار ویژگیهای تعریف شده یا رابطهای مابین ویژگیها تعریف میشود. برای تعریف ویژگیهایی از درخواستهای HTTP که در مساله تشخیص ناهنجاری تعیینکننده باشند، نیازمند شناخت حملات و نحوه تاثیر آنها روی بخشهای مختلف این درخواستها هستیم. با استفاده از دانش خبره در حملات وب، 28 ویژگی موثر در تشخیص ناهنجاری شناسایی شده است.

هر کدام از این ویژگیها به نوعی در حملات متداول تحت وب، تحت تاثیر فعالیتهای مخرب مهاجمان قرار گرفتهاند. بعضی ویژگیها به طول درخواست، طول قسمت Path یا Header بستگی دارد زیرا طول قسمتها برای تشخیص حملات سرریز بافر اهمیت دارند. همچنین مشاهده شده که کاراکترهای غیرالفبایی غیرعددی در بسیاری از حملات سرریز مشاهده شدهاند. با این حال، چهار گونه کاراکتر در این لحاظ شده است.

حروف، اعداد، کاراکترهای غیرالفبای غیرعددی و سایر کاراکترها. کاراکترهای غیرعددی غیرالفبایی معنای خاصی در تعدادی از زبانهای برنامهنویسی دارند و این کاراکترها در جدول 1، کاراکترهای خاص نامیده شدهاند.

دسته بندهای تک کلاسی

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

در روش های دسته بندی تککلاسی دو مولفه اصلی باید مشخص شود. مولفه اول عبارت است از اندازه گیری مقدار فاصله  یا شباهت یک شیء در فضای ویژگی به کلاس هدف - کلاس رفتار عادی - و مولفه دوم عبارت است از حد آستانه روی مقدار فاصله یا شباهت. در فرآیند تشخیص، یک شیء جدید x برچسب عادی می خورد اگر فاصله آن از کلاس عادی کوچکتر از حد آستانه باشد  یا شباهت آن به کلاس عادی بزرگتر از حد آستانه باشد.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید