تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند
پروژه ایی که در این بخش آماده کرده ایم، به خوبی چگونگی تشخیص و جلوگیری از حمله بات نت در شبکه گوشی های هوشمند را با استفاده از نرم افزار MATLAB شبیه سازی می کند. این یک پروژه مناسب و کاربردی در حوزه امنیت شبکه می باشد که ما در این بخش آن را همراه با داکیومنت کامل که خط به خط کد های موجود را توضیح داده است و همچنین فیلم آموزشی و شرح کلی مسئله را برای شما قرار داده ایم.
شرح مسئله تشخیص و جلوگیری از حمله بات نت
فرض کنید که ما 100 عدد گوشی هوشمند داریم که این گوشی ها توسط آنتن های BTS می توانند با یکدیگر ارتباط داشته باشند و پیام های خود را رد و بدل کنند، در حالی که کاربران مشغول رد و بدل کردن پیام های خود هستند، یک مهاجم با وارد شدن به شبکه ایی که این گوشی ها در آن هستند، شروع به ایجاد حمله بات نت (BOTNET) از طریق ارسال پیام های مختلف و گرفتن پهنای باند می کند. این حمله باعث بروز مشکل در شبکه می شود و گوشی های موجود نیز با ارسال پیام از طریق مهاجم، این پیام را برای دیگر گوشی ها ارسال می کنند که ارسال پیام ها نیز به صورت چند مسیره (Multipath) صورت می گیرد. فرد مهاجم برای حمله از یک محیط ابری به عنوان کانال کنترل و فرمان استفاده می کند.
شرح کلی
روشی که در این پروژه مورد استفاده قرار گرفته است به این صورت می باشد که در یک محیط 300 در 300 کیلومتر مربع 100 گوشی هوشمند توزیع می شود که 5 عدد از گوشی های موجود به عنوان بات اولیه ساخته می شوند، که با رنگ قرمز نشان داده می شوند. به خاطر این که گوشی های موجود هیچ گونه فایروالی نصب نکرده اند در همان حمله اول آلوده می شوند. شبکه دارای تعداد گوشی نا امن است که با اولین حمله به عنوان زامبی یا بات می باشند، بنابراین مسئله بات مستر تعدادی از پیام های اجرایی را به بات های زامبی یا آلوده شده می فرستد. پیام هایی که توسط بات مستر ارسال می شوند، با استفاده از یک IP کلاس A از داخل ابر (اینترنت) به هر سه روتر لایه دوم منتشر می شوند.
تصاویری از خروجی پروژه تشخیص و جلوگیری از حمله بات نت
شکل 1
توضیحات شکل 1
روترهای لایه دوم در شکل 1 درون دایره سبز رنگ نشان داده شده اند و همچنین روترهای لایه اول نیز به شکل دایره های آسمانی رنگ توپر خارج از دایره نشان داده شده اند. در صورتی که شبکه ایی به روتر های لایه دوم که پکت ها را دریافت کرده اند، متصل شده باشد، آن روتر ها شروع به چک کردن آی پی هر یک از شبکه ها می کنند و فقط زمانی پکت ها را به داخل آن ارسال می کنند که آی پی مقصد با آن همخوانی داشته باشد، در غیر این صورت که آی پی شماره شبکه پکت را با شماره شبکه آدرس های داخل جدول روتینگ روتر لایه اول مقایسه می کنند، و در صورتی که با هم مطابقت نداشته باشند از ارسال پکت ها جلوگیری می کنند.
در عین حال که از ارسال پکت ها جلوگیری می کنند، یک نمونه از آی پی مبدا و مقصد را برای ارسال به کامپیوتر آنالیزر حمله ارسال می کنند. اما در صورت همخوانی داشتن شماره شبکه پکت فعلی با شماره پورتهای روتر لایه اول، پکت های فعلی به روتر لایه اول فرستاده می شوند و چون که روتر لایه اول به گوشی های هوشمند متصل است، به راحتی می تواند آدرس گوشی هوشمندی که به آن متصل است را پیدا کرده و پکت را بفرستد. هنگامی که پکت توسط گوشی های هوشمند آلوده دریافت می شود، آن گوشی شروع به تحلیل دستور موجود در داخل داده می کند و یکی از روش های یونی کستو، مالتی کست و یا برودکست را برای فرستادن پیام آلود به گوشی های شبکه و یا گوشی های موجود در شبکه های دیگر انتخاب می شود.
روترها در هنگام ارسال شدن پکت ها تمام ترافیک را جمع آوری کرده و به تحلیلگرد سیستم ارسال می کنند، در بخش تحلیل ابتدا آی پی های مقصد با آی پی های فعال در شبکه با یکدیگر مقایسه می شوند و درصورتی که تعداد پیام های آلوده گوشی های هوشمند از میزانی که تعیین شده است تجاوز کند، ارتباط گوشی های هوشمند آلوده با حمله کننده و سایر گوشی ها آلوده قطع می شود و همچنین از ارسال پیام دو طرف یا همان برودکست نیز جلوگیری می شود.
تعداد شبیه سازی در نرم افزار متلب 50 بار می باشد که در هر بار ابتدا پیام از بات اصلی به بات های دیگر فرستاده می شود و زمانی که بات ها پیام های فرستاده شده توسط بات اصلی را دریافت می کنند، پیام های دیگری را ایجاد و به گوشی های هوشمند آلوده ارسال می کنند. ممکن است که تعداد این بات ها در هر دوره نسبت به دوره قبلی کمتر یا بیشتر باشد، در این الگوریتم تلاش شده است تا با بررسی ارتباطات بین بات اصلی و سایر بات ها و همچنین تعداد پیام های ارسالی، نقاط ضعف موجود را شناسایی شود و گوشی های آلوده را نیز با توجه به پیام های ارسالی آلوده در شبکه قفل شوند.
شکل 2
توضیحات شکل 2
همان طور که در شکل 2 مشاهده می کنید مسیر پیام ارسالی از طریق ابر به گوشی آلوده با رنگ قرمز نشان داده شده است. پیام هایی که توسط ابر به روتر ها لایه دوم ارسال می شوند با کابل سریال بوده و پیام هایی که از روتر های لایه دوم به روتر های لایه اول فرستاده می شوند با کابل سیاه منقطع و پیام های ارسالی از روتر های لایه اول به هاب ها با کابل سیاه نازک و به همین ترتیب کابل های نازکی که هم برای مرتب کردن گوشی ها با هاب ها در نظر گرفته شده، البته کار اصلی این کابل ها برقرار کردن ارتباط می باشد که برای ارسال پیام استفاده شده اند.
شکل 3
توضیحات نمودار های بدست آمده
در شکل های زیر تعداد گوشی های آلوده و فاصله زمانی بین آلوده شدن آن ها، تعداد حملات شناسایی شده و تعداد کل حملات انجام شده در خروجی ها نمایش داده شده است.
شکل 4: نمودار تعداد گزارش حملات
شکل 5: نمودار تعداد bot ها
شکل 6: نمودار تعداد گوشی های هوشمند
شکل 7: نمودار تعداد حملات تشخیص داده شده
سلام همین پروژه جلوگیری از نفوذ در شبکه رو میشه با نرم افزار ns3 انجامش داد ؟
بله در NS3 هم امکان شبیه سازی چنین پروژه ای وجود داره. در صورت نیاز می تونیم براتون انجام بدیم.
سلام همین پروژه و تشخیص بات نت ها و میشه روی اینترنت اشیا با نرم افزار متلب انجام داد؟
بله کاملا قابل انجامه، به تازگی نرم افزاری شبیه پکیت تریسر در ایران توسعه داده شده که قابلیت شبیه سازی و تحلیل و بررسی شبکه های کامپیوتری و حتی شبکه های اینترنت اشیا را داره، این نرم افزار در متلب هم توسعه داده شده و بسیار کارآمده، ولی در حال حاضر پروتکل هایی عمومی از جمله http که غالبا برای مدیریت اینترنت اشیا بکار گرفته می شه و پروتکل های عمومی دیگه ای مثل tcp , ip , udp و... را پشتیبانی می کنه ولی در حال حاضر در اینترنت منتشر نشده.