آش و لاش کردن تشخیص ترافیک مخرب رمزگذاری‌شده با یه روش جدید و خفن!

ببین، امروزه هر چی بیشتر می‌گذره، ترافیک شبکه‌ها داره بیشتر و بیشتر رمزگذاری میشه. رمزگذاری هم یعنی اطلاعاتی که رد و بدل می‌شن، به شکلی درمیاد که فقط کسی که کلید داره می‌تونه بخونتش. خب این خوبه برای حریم خصوصی، ولی بدیش اینه که کار هکرها رو سخت‌تر نمی‌کنه؛ برعکس، کار مدافع‌ها رو سخت‌تر می‌کنه چون تشخیصِ حمله‌های شبکه‌ای وقتی دیتاها رمزگذاری‌ شدن واقعاً معضل شده!

تا الان، بیشتر روش‌هایی که برای تشخیص ترافیک مخرب رمزگذاری‌شده استفاده می‌کردن، معمولاً میومدن یه سری ویژگی آماری از ترافیک استخراج می‌کردن (مثل میانگین طول هر بسته یا همون packet length) و بعد با الگوریتم‌های یادگیری ماشین (یعنی مدل‌هایی که می‌تونن از داده‌ها یاد بگیرن و خودشون پیش‌بینی کنن) تست می‌کردن ببینن کدوم ترافیک احتمالاً مخربه. اما این رویکرد یه مشکل اساسی داره: اگه هکرها بیان و یه سری پکت تقلبی یا dummy packet اضافه کنن یا به اصطلاح نویز مصنوعی درست کنن، مدل‌ها راحت گول می‌خورن. یعنی یه راه مخفی‌کاری یا Obfuscation همینه، که هکرها با ایجاد نویز توی ترافیکِ ارسالی‌شون نمی‌ذارن راه‌های شناسایی درست جواب بده.

حالا این مقاله درباره یه روش جدید صحبت کرده که اسمش رو گذاشتن RobustDetector یا همون RD؛ یعنی شناساگری محکم و مقاوم. هدف این روش اینه که حتی اگه هکرها انواع و اقسام نویز رو بسازن و توی داده‌ها بذارن، باز بتونه ترافیک مخرب رو شناسایی کنه. حالا چطوری این کارو می‌کنه؟ اینا از یه تکنیک معروف به اسم dropout استفاده کردن. Dropout یه ترفنده توی یادگیری ماشین که موقع آموزش مدل، بخشی از اطلاعات ورودی یا ویژگی‌های مدل رو به‌صورت تصادفی حذف می‌کنه. این کار شبیه اینه که فرض کنیم یه سری از اطلاعات اصلی خراب یا حذف شدن، بعد مدل مجبور میشه یاد بگیره حتی اگه همه اطلاعات رو نداشته باشه هم نتیجه درست رو بده.

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

برای اینکه نشون بدن روششون واقعاً جواب می‌ده، اومدن کلی آزمایش روی دیتاست‌های عمومی (public datasets یعنی همون مجموعه‌ داده‌هایی که در دسترس عموم هستن و خیلی‌ها واسه تست روش‌های امنیتی و شبکه‌ای استفاده می‌کنن) انجام دادن. نتایجشون خیلی جالب بود: حتی وقتی توی دیتاها به احتمال ۵۰ درصد نویز تصادفی ریختن، مدل RD تونست به طور میانگین امتیاز F1 به اندازه ۹۰.۶۳ درصد بگیره! یه کم توضیح: امتیاز F1 یه معیار رایج توی یادگیری ماشین برای ارزیابی مدل‌هاست، که هم دقت (precision) و هم فراخوانی (recall) رو با هم ترکیب می‌کنه. بالاتر از ۹۰ درصد یعنی خیلی عالیه!

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

منبع: +