بخشی از مقاله
چکیده
در شبکههای بات همتابههمتا هر یک از باتها میتوانند کارفرما یا کارگزار باشند. این ویژگی دو مزیت برای این نوع از شبکههای بات دارد: .1 برخلاف سایر شبکههای بات، نقطه شکست مرکزی ندارند .2 ترافیک آنها مشابه ترافیک همتابههمتا عادی است. در این مقاله، روتبن به عنوان یک روش تشخیص ترکیبی - ترکیب اطلاعات پردازههای درون میزبان و ترافیک شبکه آن - برای تشخیص باتهای همتابههمتا معرفی شده است. روتبن که بهبودی بر روی روش CoCoSpot است، ابتدا اطلاعات پردازههای روی میزبان وترافیک شبکه آن را با یکدیگر همبستهسازی میکند. سپس با استفاده از ویژگیهای میانگین، واریانس و ضریب تغییرات اندازه هشت بسته اول جریانهای شبکه هر پردازه، ترافیک فرمان و کنترل باتهای همتابههمتا را تشخیص میدهد. CoCoSpot تنها ازویژگی اندازه بسته استفاده میکند در حالیکه روتبن با استفاده از سه ویژگی میانگین، واریانس و ضریب تغییرات اندازه بسته توانسته ناتوانی CoCoSpot در برابر تشخیص باتهایی مانند zeus و kelihos که اندازه بسته آنها متغیر است را حل کند. آزمایشهانشان داد روتبن قادر است باتهای همتابههمتا را با نرخ تشخیص 99/49 درصد و با خطای 0/14 تشخیص دهد.
کلمات کلیدی:شبکه بات، بات همتابههمتا، فرمان و کنترل بات، تشخیص بات، تحلیل ترافیک بات
-1 مقدمه
اجزای اصلی شبکههای بات، مدیر بات و بات هستند. مدیر بات در اصل مالک شبکه بات و مهاجم است. مدیر بات برای فرماندهی باتهای شبکه، از کانال فرمان و کنترل - 1C&C - استفاده میکند. باتها پس از دریافت فرمان، آن را در ماشین قربانی اجرا کرده و نتیجه را برای مدیر بات ارسال میکنند.مدیر بات برای ارتباطات C&C از پروتکلی مشخص استفاده میکند. پروتکلهای استفاده شده در ارتباطات C&C باتها عبارتاند از 2IRC ، HTTP و همتابههمتا . - 3P2P - در دو نوع اول همبندی4 شبکه از نوع متمرکزاست و ترافیک کنترل و فرمان کل باتهای شبکه بات به سوی گره مرکزی ارسال میشود؛ بنابراین گره مرکزی نقطه شکست شبکه بات است.یعنی در صورت تشخیص گره مرکزی و مسدود کردن ترافیک آن، کل شبکه بات از کار میافتد.
اما از آنجایی که شبکههای بات همتابههمتا هر گره میتواند کارفرما یا کارگزار باشد، بنابراین نقطه مرکزی وجود ندارد و امکان از کار انداختن شبکه از طریق شناسایی گره مرکزی وجود ندارد. همینطور به این دلیل که ترافیک شبکه آنها پخش است، پس شباهت بیشتری به ترافیک عادی شبکه دارد.چون در گذشته باتها از ترافیک رمز نشده برای ارتباطات C&C استفاده میکردند، پس روشهای تحلیل محتوای بسته در تشخیص باتها کارآمد بودند .[1,2] باتهای جدید از مبهمسازی و رمزنگاری بسته استفاده میکنند، برای نمونه میتوان به باتهای [3] zeus و [4] kelihos اشاره کرد. بنابراین دیگر نمیتوان از روشهای تحلیل محتوای بسته برای تشخیص باتهای جدید استفاده کرد.در [5] CoCoSpot روشی برای تشخیص اثرانگشت باتها ارائه شده است که نیازی به تحلیل محتوای بستهها ندارد.
این روش از ویژگی اندازه هشت بسته متوالی اول جریانهای C&C برای تشخیص خانوادههای مختلف بات استفاده میکند. چون در مرحله دستتکانی باتها با یکدیگر، تعداد ثابتی بسته با اندازههای مشابه ارسال میشود تعداد هشت بسته برای تشخیص امضا کافی به نظر میرسد. همچنین ادعا شده است که این ویژگی در نسخههای مختلف خانواده بات یکسان است و همانند اثرانگشت برای آن خانواده عمل میکند. با آزمایش CoCoSpot روی بیش از بیست نمونه بات جدید، دقت تشخیص 88 درصد با خطای کمتر از 0/1 درصد بدست آمد. همچنین در مقاله مربوطه اشاره شده است که این روش قادر به تشخیص ترافیک باتهای همتابههمتا zeus و kelihos نیست. چون این باتها هنگام ارسال بسته، تعدادی بایت تصادفی به آن اضافه میکنند.ما با بررسی ترافیک باتهای zeus و kelihos دریافتیم که بازه بایت-های تصادفی که به بستهها اضافه میکنند، قابل تشخیص است. بنابراین با تغییر در معماری CoCoSpot و بهبود ویژگی هشت بسته اول توانستیم این دو خانواده بات را تشخیص دهیم. نوآوری روتبن به طور خلاصه عبارت است از:
• تشخیص باتها بر اساس ترکیب اطلاعات میزبان و ترافیک شبکه آن
•بهبود ویژگی اندازه هشت بسته اول به میانگین اندازه هشت بسته اول.
• افزودن ویژگیهای جدید واریانس و ضریب تغییرات اندازه هشت بسته اول برای مشخص کردن بازه مقادیر بایتها تصادفی.
ساختار مقاله به این صورت است: در بخش 2 به تشریح کارهای مرتبط و مزایا و معایب آنها میپردازیم؛ سپس تفاوت کار انجام شده در این مقاله را با آنها مشخص میکنیم تا به خوبی بهبود انجام شده در تشخیص باتهای همتابههمتا مشخص شود. در بخش 3 روش پیشنهادی و فضای ویژگیها را شرح میدهیم. در بخش 4 نیز به ارزیابی روش پیشنهادی میپردازیم. در انتها نیز جمعبندی و مراجع خواهد آمد.
-2 کارهای مرتبط
در این بخش تحقیقات انجام شده در زمینه تشخیص ترافیک شبکههای بات همتابههمتا را بر اساس دستهبندی ارائه شده در [6] بررسی میکنیم :روشهای مبتنی بر امضاء: امضاء در اصل آن دسته از ویژگیهایی است که انواع باتها را به صورت یکتا مشخص میکند. این امضاء میتواند اندازه بسته، تعداد ارسال و دریافت بسته در هر اتصال یا حتی درگاههای مورد استفاده بات باشد.ژانگ و همکارانش[7] روشی ارائه دادند که اثرانگشت آماری ترافیک همتابههمتا را استخراج میکند. این روش قادر به تشخیص الگوهای ترافیک همتابههمتا است. طبق ادعای ژانگ، این روش حتی زمانی که بات همتابههمتا و برنامه کاربردی همتابههمتا همزمان روی یک میزبان فعالیت کنند، میتواند ترافیک آنها را از یکدیگر تمییز دهد.
ویژگیهای معرفی شده در این روش عبارتاند از پروتکل، تعداد بایتهای ارسال شده، تعداد بایتهای دریافت شده، تعداد بستههای ارسال شده و تعداد بستههای دریافت شده. از معایب این روش میتوان به تعدد اثرانگشت به ازای هر برنامه کاربردی و بات و عدم تشخیص باتهایی که از روشهای مبهمسازی ترافیک استفاده میکنند، نام برد.[5] CoCoSpot که در بخش 1 توصیف شد، روشی مبتنی برامضااست.در [8] روشی ارائه شده است که اثرانگشت برنامههای کاربردی همتابههمتا را از طریق بررسی محتوای بستهها تشخیص میدهد. روشهای ارائه شده در [9,10] نیز براساس اطلاعات لایه انتقال مانند شماره درگاه ثابت، باتها و برنامههای کاربردی را تشخیص میدهند.
روشهای مبتنی بر ناهنجاری: در این روشها از ناهنجاریهای ترافیک شبکه برای تشخیص بات استفاده میشود. مثلاً تغییر ناگهانی در حجم ترافیک شبکه، وابستگیهای رفتاری بین گرههای شبکه و استفاده از درگاههای غیرمعمول.گانگ و همکارانش [11] روشی مبتنی بر نمودار کنترل جمع تجمعی - 5CUSUM - ارائه دادند. از آنجاییکه هدف این مقاله تشخیص ترافیک بات storm بود؛ سه ترافیک ICMP، UDP و SMTP با استفاده از نمودار CUSUM میشد. در این روش ناهنجاریهای ترافیک شبکه مانند افزایش ناگهانی در حجم ترافیک نشانه فعالیت بات بود. بدین ترتیب آنها توانستند ترافیک شبکه بات storm را تشخیص دهند. با توجه به اینکه باتهای جدید برای پنهان ماندن در شبکه ترافیک کمی تولید میکنند، این روش قادر به تشخیص آنها نیست.
در [12] از وابستگی میان جریانهای شبکه برای تشخیص ترافیک باتهای همتابههمتا استفاده شده است. از آنجاییکه باتهای همتابههمتا به ترتیب لیستی که شامل آدرسهای همسایههای فعال آنها است با همسایههایشان ارتباط برقرار میکنند، وابستگی جریانی در جریانهای تولیدشده توسط آنها وجود دارد. اما کاربر انسانی بهصورت تصادفی با دیگر میزبانها ارتباط برقرار میکند، بنابراین وابستگی جریانی در ترافیک باتها نسبت به کاربر انسانی بیشتر است. در تحلیل وابستگیهای جریانی شبکه، معلوم شد که ترافیک عادی شبکه وابستگی تک سطحی دارد ولی ترافیک باتها وابستگی چند سطحی دارد. به عبارتی دیگر ممکن است جریانی که هر بات تولید میکند وابسته به یک یا چند جریان ورودی به آن باشد. در حالی که در ترافیک عادی وب چنین نیست. این روش برای تشخیص وابستگیهای جریانی چند سطحی که اساس تشخیص باتهای همتابههمتا است، نیاز به وجود حداقل دو بات همتابههمتا که عضو یک شبکه هستند، در شبکه محلی تحت نظارت دارد.
روشهای مبتنی بر :DNS در این روشها باتها از طریق رفتارهای مشکوک در ترافیک DNS از قبیل تولید نامهای دامنه بیمعنی، طول عمر نام دامنه و درخواستهای بیش از حد معمول، تشخیص داده میشوندمعمولاً. این روشها برای تشخیص fast flux ها استفاده میشوند.ژائو و همکارانش [13] رفتار شبکههای بات را در ترافیک DNS بررسی کردند، تا مشخص کنند که آیا یک میزبان مشخص جزئی از شبکه fast flux هست یا خیر. اندازه TTL، طول عمر نام دامنه و موقعیت جغرافیایی آدرسهای شبکه از جمله ویژگیهای بهکار رفته در این روش هستند.روش های مبتنی بر رفتار: در این روشها ویژگیهای رفتاری بات-ها که معمولاً ویژگیهای آماری هستند، استخراج میشود و از آنها به عنوان معیاری برای تشخیص بات استفاده میشود.
PeerRush که رهبرینیا و همکارانش ارائه دادند [14] توانایی تشخیص برنامههای همتابههمتایی که ترافیک رمز شده تولید میکنند را دارد. PeerRush میتواند برنامههایی مانند uTorrent، شبکههای بات همتابههمتا مانند [15] storm، [16] Waledac و zeus همتابههمتا را که از ترافیک رمز شده استفاده میکنند را تشخیص دهد. . PeerRush از روش دستهبندی نظارت شده برای تشخیص بات استفاده میکند. یعنی بر اساس مشاهدات و مدلسازیهای قبلی که روی خانوادههای بات داشته، میتواند مشخص کند که یک میزبان آلوده به بات است یا نه. در PeerRush از ویژگیهای اتصالات ناموفق، اتصالات غیر DNS - اتصالاتی که آدرس مقصد از پرس و جوی DNS بهدست نیامده باشد - و تنوع مقصد برای تشخیص ترافیک باتهای همتابههمتا استفاده شده است.
Narang و همکارانش در [17]، PeerShark را ارائه دادند که قادر به تشخیص ترافیک C&C باتهای همتابههمتا است. آنها بیان کردند که باتهای همتابههمتا دارای حجم ترافیک کمتری نسبت به برنامههای همتابههمتا مورد استفاده کاربران در سطح اینترنت هستند. از سوی دیگر به دلیل اینکه شبکههای بات بهطور متناوب در بازههای زمانی خاصی با یکدیگر ارتباط برقرار میکنند، پس دارای طول مدت ارتباط بیشتری نسبت به برنامه های اشتراک فایل هستند. PeerShark از چهار ویژگی مدت زمان اتصال، میزان بایتهای ارسالی و دریافتی در هر اتصال، تعداد بستههای مبادله شده در هر اتصال و میانگین فاصله زمانی در ارسال و دریافت بستهها برای تشخیص باتهای همتابههمتا استفاده میکند.
باتهایی وجود دارند که هنگام ارسال بستهها، تعدادی بایت تصادفی به آنها اضافه میکنند. روشی که ما ارائه دادیم با شناسایی بازه تغییرات بایتهای تصادفی، اثر انگشت خانواده بات را تشخیص میدهد. کاربرد تشخیص اثر انگشت این است که با شناسایی نوع خانواده بات میتوانیم با کمترین خسارت به میزبان، بات را از آن حذف کنیم. برای مثال حالتی را در نظر بگیرید که بات تمام اسناد روی میزبان را رمز کرده است. بنابراین اگر بدون اطلاع از نوع خانواده بات، آن را از میزبان حذف کنیم، هیچ وقت نمیتوانیم اسناد رمز شده را بازیابی کنیم.
-3 روش پیشنهادی: روتبن
نمای کلی از عملکرد روتبن در شکل - 1 - آورده شده است. روتبن با استفاده از ترکیب اطلاعات میزبان و ترافیک شبکه آن، باتهای همتابههمتا را تشخیص میدهد. با نظارت بر پردازههای میزبان و با تحلیل فراخوانهای سیستمی، pid و شماره درگاههای شبکهای که استفاده میکند میتوان به بدخواه بودن آن پیبرد و آنرا مسدود کرد. ترافیک شبکه براساس مدلی که در بخش 1-3 توضیح خواهیم داد، استخراج میشود. با تحلیل این مدل مجموعهای از ویژگیها را استخراج کردیم - بخش . - 2-3 سپس با استفاده از SVM خانواده بات تشخیص داده میشود - بخش . - 4
-1-3 استخراج جریان
از طریق شنود کارت شبکه میزبان میتوان ترافیک شبکه آن را جمعآوری نمود. در این روش فقط ترافیک HTTP را مورد تحلیل قرار دادیم. چون باتهای همتابههمتای zeus و kelihos در ترافیک C&C خود از پروتکل HTTP استفاده میکنند. در ادامه ترافیک ورودی به روتبن را با لیستهای سیاه و سفیدی که قبلاً جمعآوری شدهاند، مطابقت داده شده و جلوی آن گرفته میشود یا عبور داده میشود. لیست سیاه آدرس باتها است و لیست سفید نامهای دامنه و آدرس مقصدهای مجاز اینترنت است.برای اینکه مشخص شود که ترافیکهای تولید شده مربوط به چه پردازه/هایی است، نیاز است شماره درگاه بستهها را با شماره درگاه پردازهها، همبستهسازی کرد.
بستههایی که شماره درگاه آنها با شماره درگاه هیچکدام از پردازشها همبسته نمیشود، در دستهای جداگانه قرار میگیرند. برای نمونه میتوان به روت کیتها اشاره کرد که پردازه آنها پنهان است بنابراین ترافیک شبکه آنها با هیچکدام از پردازههای روی میزبان همبستهسازی نمیشود.از نتایج مرحله همبستهسازی، پیامها و جریانهای HTTP استخراج میشود. جریانها به صورت زیر مشخص میشوند:l4p پروتکل لایه چهارم است. در اینجا مقدار l4p پروتکل HTTP است. Sip آدرس مبدآ جریان، dip آدرس مقصد جریان و dport آدرس درگاه مقصد جریان است. در اینجا از درگاه مبدأ استفاده نشده است تا همه جریانهایی که از درگاههای مبدأ مختلف به یک درگاه مقصد وصل میشوند