لگو وب سایت هوشمندان
جستجو

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

حملات DDOS

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

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

در نتیجه، پیشنهاد یک روش موثر برای تشخیص حملات DDoS از قاچاق داده های عظیم بسیار مهم است. با این حال، روش های موجود دارای محدودیت هایی مانند نیاز به مجموعه داده های بزرگ دارای برچسب برای روش های یادگیری تحت نظارت و دقت نسبتاً پایین و نرخ مثبت کاذب بالا برای الگوریتم های یادگیری بدون نظارت هستند.

 به منظور مقابله با این مسائل، این مقاله رویکرد ترکیبی ارائه می دهد که از ترکیبی از پنج طبقه بندی کننده مختلف مانند Naive Bayes ، SVM ، KNN، C -means Fuzzy و Random Forest استفاده می کند. بیشتر تحقیقات با استفاده از مجموعه داده های قدیمی تر مانند KDD99 ، NSL KDD و DARPA انجام شده است. مدل هایی که بر روی این مجموعه داده های قدیمی تربیت شده اند از دقت کمتر و ناسازگاری برخوردارند. بنابراین، ما از یک مجموعه داده جدید و بهبود یافته - CICDDoS2019 استفاده می کنیم. با ما همراه باشید.

مدل پیشنهادی ماژول ها

هدف از تحقیق ما ایجاد یک مدل تشخیص دقیق حملات DDoS با نرخ مثبت کاذب پایین است. در اینجا ، ما مدلی را بر اساس مجموعه ای از پنج طبقه بندی کننده یادگیری ماشین پیشنهاد می کنیم. طبقه بندی های انتخاب شده عبارتند از Na¨ıve Bayes ، SVM ، KNN ، C-means Fuzzy و Random Forest. در مدل ما هر پنج طبقه به طور مستقل کار می کنند و مدل متفاوتی از داده ها را ایجاد می کنند. خروجی های پنج طبقه بندی کننده با روش رای گیری اکثریت ترکیب می شوند تا نتیجه نهایی مدل به دست آید. مجموعه داده CIC-DDoS2019 برای آموزش مدل استفاده می شود. این مجموعه داده دارای 80 ویژگی است. مجموعه ویژگی های مجموعه داده های آموزشی باید کاهش یابد و با استفاده از الگوریتم انتخاب ویژگی که ترکیبی از اطلاعات به دست آمده، نسبت سود Chi-square و ReliefF است، انجام می شود. همان طور که می دانیم ماژول ها یک متخصص همه فن حریف برای جلوگیری از حملات DDOS است. با کمک ماژول ها می توانید امنیت سایت خود را ارتقا ببخشید. این مدل پیشنهادی دارای سه ماژول مختلف از جمله پیش پردازش داده ها، طبقه بندی داده ها و گروه با رای اکثریت است

 پیش پردازش داده ها برای جلوگیری از حملات DDOS

هدف از پیش پردازش تبدیل ترافیک داده های ورودی به یک فرم معنی دار است که بعداً توسط طبقه بندی کننده می تواند مورد استفاده قرار گیرد. در ابتدا، ویژگی های مربوطه از داده های خام استخراج می شوند و ویژگی های دارای مقادیر نمادین به مقادیر عددی تبدیل می شوند که دارای مقادیری بین [0،1] هستند.

1) مجموعه داده

مجموعه داده مورد استفاده برای آموزش و آزمایش مدل "مجموعه داده های ارزیابی DDoS (CIC-DDoS2019)" است. مجموعه داده بر اساس تحقیقات قبلی انتخاب شد. این برنامه مشکلات مختلف موجود در NSL KDD ، DARPA 99 و CIADA 2007 را برطرف می کند. مجموعه داده ها در مجموع 80 ویژگی دارند. مجموعه داده شامل ترافیک شبکه از 12 حمله DDoS مختلف از جمله NTP ، DNS ، LDAP ، MSSQL ، NetBIOS ، SNMP ، SSDP ، UDP ، UDP-Lag ، WebDDoS ، SYN PortScan و TFTP است. مجموعه داده در مجموع 80 ویژگی مختلف ترافیک شبکه دارد.

2) پیش پردازش داده ها

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

انتخاب مجموعه ویژگی ها با استفاده از یک روش انجام می شود که کسب اطلاعات ، نسبت سود ، Gain Ratio و ReliefF را ترکیب می کند.

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

 به دست آوردن نسبت سود : نقطه ضعف بزرگ در کسب اطلاعات این است که نسبت به ویژگی هایی با ارزش های بزرگتر تعصب دارد. نسبت سود یک تغییر اطلاعات تغییر یافته است که نتیجه به دست آوردن اطلاعات را عادی می کند.

Chi-Squared : آزمون Chi-square یک آزمون پیش بینی است که برای محاسبه قابلیت اعتماد به نفس بین دو ویژگی استفاده می شود. IT تفاوت بین ارزش مورد انتظار و مشاهده شده را محاسبه می کند.

ReliefF : اهمیت ویژگی با تشخیص تفاوت بین نزدیکترین همسایه ها محاسبه می شود. این نمره ویژگی را برای هر یک محاسبه می کند و ویژگی ها را می توان بر اساس این نمره انتخاب کرد.

طبقه بندی داده ها

این مدل داده ها را یک به یک با طبقه بندی کننده های جداگانه طبقه بندی می کند. این طبقه بندی کننده ها به صورت موازی اجرا می شوند و بر اساس مجموعه داده های آموزشی ، مدل متفاوتی را ایجاد می کنند. چندین طبقه بندی کننده در یادگیری ماشین وجود دارد که می توان از آنها استفاده کرد، اما ما از پنج طبقه بندی کننده استفاده می کنیم: Na¨ıve Bayes ، SVM ، KNN ، Fuzzy c-means و Random Forest.

 Naive Bayes: این یک مدل یادگیری احتمالی است که برای طبقه بندی داده های وارد شده به سیستم با مجموعه ای از محاسبات است که مطابق با اصول احتمال ، در یادگیری ماشین استفاده می شود. بر اساس قضیه بیز است. پیاده سازی آن سریع و آسان است اما برای مستقل بودن به پیش بینی کننده ها نیاز دارد. در NB طبقه بندی ، مقدار مشخصی از داده های آموزشی به سیستم وارد می شود. داده های وارد شده برای آموزش باید دارای کلاس باشد. داده های آزمون وارد شده به سیستم با فرایندهای احتمالی انجام شده بر روی داده های آموزش پردازش می شوند. این فرایند با توجه به مقادیر احتمالی قبلاً انجام شده ، انجام می شود و سپس کلاس داده های آزمایش داده شده شناسایی می شود. هر چه تعداد داده های آموزشی بیشتر باشد ، تشخیص رده واقعی داده های آزمون دقیق تر است. 

 KNN: مخفف k-nearest همسایگان است. این یک الگوریتم غیر پارامتری مبتنی بر تکنیک یادگیری تحت نظارت است که می تواند برای حل مشکلات طبقه بندی و رگرسیون مورد استفاده قرار گیرد. تمام داده های موجود را ذخیره می کند و یک نقطه داده جدید را بر اساس شباهت آن ها طبقه بندی می کند. هنگامی که داده های جدید وارد می شوند، کلاس داده های جدید را با نگاه به نزدیکترین همسایگان K خود تعیین می کند. برای فاصله بین دو داده از توابع فاصله منهتن، مینکوفسکی و اقلیدسی استفاده می شود. در این مطالعه از تابع فاصله اقلیدسی استفاده شد. شباهت بین نمونه ای که باید طبقه بندی شود و نمونه های موجود در کلاس ها تشخیص داده شد. هنگامی که با داده های جدید رو به رو می شوید، فاصله این داده ها تا داده های مجموعه آموزشی به طور جداگانه با استفاده از تابع اقلیدسی محاسبه می شود. سپس، مجموعه طبقه بندی با انتخاب مجموعه داده k از کوچکترین فاصله ایجاد شد. تعداد KNN (k) همسایه بر اساس ارزش طبقه بندی است. 

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

Fuzzy c-means : شبیه الگوریتم k-means است که داده ها را بر اساس شباهت خوشه ها تقسیم می کند، اما بر خلاف k-means نقاط داده می توانند به چندین خوشه تعلق داشته باشند.

Random Forest : از چندین درخت تصمیم مستقل تشکیل شده است که به طور مستقل بر روی زیر مجموعه ای تصادفی از داده های برچسب زده شده آموزش می بینند. جنگل تصادفی به خوبی کار می کند زیرا تعداد زیادی از درختان نسبتاً مستقل، عملکرد بهتری نسبت به هر یک از مدل های جداگانه دارند.

گروه با رای اکثریت

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

در پایان

در مقاله پیش رو برای مقابله با مشکلات یا مسائل ناشی از روش های یادگیری تحت نظارت و بدون نظارت، یک روش ترکیبی برای تشخیص حملات DDoS پیشنهاد شد که از پنج طبقه بندی کننده مختلف استفاده می کند و بر روی مجموعه داده KDD99 ، NSL KDD و DARPA اعمال می شود که از طریق آنها نیز متوجه شدیم که این مجموعه داده ها دقت کمتر و ناسازگاری دارند ، بنابراین ما از مجموعه داده های CICDDos2019 استفاده می کنیم. در پایان به شما پیشنهاد می کنیم آموزش یادگیری با استفاده از R و پایتون را مشاهده کنید.

داستان عجیب دو تریدر برتر تاریخ که شما را شوکه میکندبهترین از نظر کاربران
داستان عجیب دو تریدر برتر ...
چرا باید یک عکاس شویمآخرین پست
چرا باید یک عکاس شویم