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

detect and prevent botnet attack with matlab 473 1 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

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

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

شرح مسئله تشخیص و جلوگیری از حمله بات نت

فرض کنید که ما ۱۰۰ عدد گوشی هوشمند داریم که این گوشی ها توسط آنتن های BTS می توانند با یکدیگر ارتباط داشته باشند و پیام های خود را رد و بدل کنند، در حالی که کاربران مشغول رد و بدل کردن پیام های خود هستند، یک مهاجم با وارد شدن به شبکه ایی که این گوشی ها در آن هستند، شروع به ایجاد حمله بات نت (BOTNET) از طریق ارسال پیام های مختلف و گرفتن پهنای باند می کند. این حمله باعث بروز مشکل در شبکه می شود و گوشی های موجود نیز با ارسال پیام از طریق مهاجم، این پیام را برای دیگر گوشی ها ارسال می کنند که ارسال پیام ها نیز به صورت چند مسیره (Multipath)  صورت می گیرد. فرد مهاجم برای حمله از یک محیط ابری به عنوان کانال کنترل و فرمان استفاده می کند.

شرح کلی

روشی که در این پروژه مورد استفاده قرار گرفته است به این صورت می باشد که در یک محیط ۳۰۰ در ۳۰۰ کیلومتر مربع ۱۰۰ گوشی هوشمند توزیع می شود که ۵ عدد از گوشی های موجود به عنوان بات اولیه ساخته می شوند، که با رنگ قرمز نشان داده می شوند. به خاطر این که گوشی های موجود هیچ گونه فایروالی نصب نکرده اند در همان حمله اول آلوده می شوند. شبکه دارای تعداد گوشی نا امن است که با اولین حمله به عنوان زامبی یا بات می باشند، بنابراین مسئله بات مستر تعدادی از پیام های اجرایی را به بات های زامبی یا آلوده شده می فرستد. پیام هایی که توسط بات مستر ارسال می شوند، با استفاده از یک IP کلاس A از داخل ابر (اینترنت) به هر سه روتر لایه دوم منتشر می شوند.

تصاویری از خروجی پروژه تشخیص و جلوگیری از حمله بات نت

detect and prevent botnet attack with matlab 473 2 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

شکل ۱

توضیحات شکل ۱

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

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

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

تعداد شبیه سازی در نرم افزار متلب  ۵۰ بار می باشد که در هر بار ابتدا پیام از بات اصلی به بات های دیگر فرستاده می شود و زمانی که بات ها پیام های فرستاده شده توسط بات اصلی را دریافت می کنند، پیام های دیگری را ایجاد و به گوشی های هوشمند آلوده ارسال می کنند. ممکن است که تعداد این بات ها در هر دوره نسبت به دوره قبلی کمتر یا بیشتر باشد، در این الگوریتم تلاش شده است تا با بررسی ارتباطات بین بات اصلی و سایر بات ها و همچنین تعداد پیام های ارسالی، نقاط ضعف موجود را شناسایی شود و گوشی های آلوده را نیز با توجه به پیام های ارسالی آلوده در شبکه قفل شوند.

detect and prevent botnet attack with matlab 473 4 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

شکل ۲

توضیحات شکل ۲

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

detect and prevent botnet attack with matlab 473 3 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

شکل ۳

توضیحات نمودار های بدست آمده

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

detect and prevent botnet attack with matlab 473 5 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

شکل ۴: نمودار تعداد گزارش حملات

 

detect and prevent botnet attack with matlab 473 6 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

شکل ۵: نمودار تعداد bot ها

 

detect and prevent botnet attack with matlab 473 7 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

شکل ۶: نمودار تعداد گوشی های هوشمند

 

detect and prevent botnet attack with matlab 473 8 تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند با متلب

شکل ۷: نمودار تعداد حملات تشخیص داده شده


مشاهده ویدئو در این باره

خوشحال خواهیم شد اگر نظر خودتون رو درباره این مطلب ثبت کنید

خطا!دکمه ریفریش را بزنید
  1. تصویر آواتار کاربر 0
    مینا رحیمی پنج شنبه , ۲۵ آبان

    سلام همین پروژه جلوگیری از نفوذ در شبکه رو میشه با نرم افزار ns3 انجامش داد ؟

    • تصویر آواتار کاربر 1
      یعثوب سیفی زادهشنبه , ۲۷ آبان

      بله در NS3 هم امکان شبیه سازی چنین پروژه ای وجود داره. در صورت نیاز می تونیم براتون انجام بدیم.