چگونه میتوان تروجانها را دقیقتر شناسایی کرد؟
پژوهشی جدید نشان میدهد که موفقیت در شناسایی بدافزارهای تروجان بیش از آنکه به مدلهای پیچیده هوش مصنوعی وابسته باشد، به انتخاب دقیق ویژگیهای رفتاری بستگی دارد.
تحلیلگران بدافزار زمان زیادی را صرف تشخیص این موضوع میکنند که کدام سیگنالهای بهدستآمده از اجرای یک نمونه در محیط سندباکس ارزش نگهداری دارند.
یک نمونه که در محیطی کنترلشده اجرا میشود، میتواند صدها ویژگی قابل اندازهگیری در حوزههایی مانند ساختار فایل، تغییرات رجیستری، رفتار پردازشها و ترافیک شبکه تولید کند.
با این حال، بسیاری از این ویژگیها تنها باعث ایجاد نویز میشوند. مطالعهای جدید این چالش را بهصورت دقیق بررسی کرده است و بخشی که بیش از مدل یادگیری عمیق مورد استفاده توجه مدافعان سایبری را جلب میکند، فرآیند انتخاب ویژگیها (Feature Selection) است.
هدف پژوهش چه بود؟
تیم پژوهشی یک چارچوب تشخیص برای دروازههای مبتنی بر ویندوز در حوزه اینترنت اشیا (IoT) و اینترنت اشیای صنعتی (IIoT) طراحی کرد. آنها مجموعهای شامل ۳ هزار فایل اجرایی ویندوزی را گردآوری کرده، هر نمونه را در سندباکس ANY.RUN اجرا کردند و دادههای رفتاری، ایستا (Static) و شبکهای مربوط به هر نمونه را ثبت نمودند.
نمونهها در سه دسته «سالم»، «مشکوک» و «مخرب» برچسبگذاری شدند. پژوهشگران از میان خروجی خام، ابتدا ۱۴۶ ویژگی استخراج کردند و سپس این تعداد را به ۳۳ ویژگی کلیدی کاهش دادند. در ادامه، یک شبکه عصبی اختصاصی با نام TrDNN وظیفه طبقهبندی نمونهها را بر عهده گرفت و عملکرد آن با ۱۰ مدل رایج یادگیری ماشین و یادگیری عمیق مقایسه شد.
نتایج طبقهبندی بسیار امیدوارکننده بود. با این حال، از نگاه متخصصان امنیت سایبری، ارزشمندترین بخش پژوهش نه خود مدل، بلکه نحوه انتخاب این ۳۳ ویژگی و تصویری است که آنها از تاکتیکهای امروزی بدافزارهای تروجان ارائه میدهند.
مجموعه ویژگیها؛ بازتابی از مراحل حمله یک تروجان
ویژگیهای انتخابشده تقریباً تمامی مراحل آلودگی توسط یک تروجان را پوشش میدهند.
نشانههای ماندگاری (Persistence) شامل ایجاد کلیدهای Autorun در رجیستری، زمانبندی وظایف (Scheduled Tasks)، نصب سرویسهای ویندوز و تغییر پوشههای Startup است.
در بخش اجرا و فرار از شناسایی (Execution & Evasion) نیز مواردی مانند تزریق کد به پردازشهای قابل اعتماد نظیر explorer.exe و svchost.exe، فراخوانی توابع تخصیص حافظه، اجرای پنجرههای مخفی و دستکاری سازوکار User Account Control (UAC) مشاهده میشود.
فعالیتهای فرماندهی و کنترل (C2) از طریق شاخصهایی مانند ارسال بیکنهای دورهای با نوسان زمانی کم، الگوهای HTTP POST و PUT مرتبط با خروج دادهها، ارسال دستهای دادههای رمزگذاریشده به خارج از شبکه و تمرکز ترافیک روی تعداد محدودی مقصد شناسایی میشوند.
در سطح فایل اجرایی نیز شاخصهایی مانند ناهنجاری در هدرهای PE، آنتروپی بالای بخشهای مختلف فایل و وجود فایلهای اجرایی بدون امضای دیجیتال در مسیرهای سیستمی مورد توجه قرار گرفتهاند.
ویژگیهای حذفشده نیز نکات مهمی را آشکار میکنند
نکته جالب توجه این است که پژوهشگران برخی رفتارها را عمداً کنار گذاشتهاند؛ از جمله:
دستکاری توکنهای دسترسی (Privilege Token Manipulation)
زنجیرههای ارتباطی عمومی مبتنی بر HTTP
سوءاستفاده از ابزارهای قانونی سیستمعامل موسوم به Living-off-the-Land Binaries مانند PowerShell و regsvr32
اگرچه این رفتارها در جریان تحقیقات امنیتی اهمیت بالایی دارند، اما در بسیاری از انواع تهدیدات از جمله باجافزارها، کرمها و ابزارهای تیم قرمز نیز مشاهده میشوند. به همین دلیل، قدرت تفکیککنندگی آنها برای شناسایی اختصاصی تروجانها کاهش مییابد.
این موضوع یادآور یک اصل مهم در حوزه تشخیص تهدیدات است: یک شاخص میتواند در تحلیل امنیتی ارزشمند باشد، اما الزاماً برای تمایز دادن یک خانواده خاص از بدافزارها مناسب نباشد.
در واقع، این فهرست ۳۳ ویژگی را میتوان بهعنوان یک دانش عملیاتی قابل انتقال برای شکار تهدیدات (Threat Hunting)، تنظیم سامانههای EDR و تدوین قوانین تشخیص، مستقل از هر مدل یادگیری ماشین، مورد استفاده قرار داد.
ادعاهای مربوط به استقرار عملیاتی نیازمند بررسی دقیقتر هستند
پژوهشگران این چارچوب را بهصورت یک چرخه پایش مستمر مبتنی بر خط فرمان ویندوز پیادهسازی کردهاند. ابزارهای داخلی ویندوز مانند tasklist، netstat و wmic برای فهرستبرداری از پردازشها، استخراج ۳۳ ویژگی منتخب و ارسال آنها به مدل آموزشدیده مورد استفاده قرار گرفتهاند.
بر اساس گزارش ارائهشده، سامانه روی یک ایستگاه کاری استاندارد سازمانی مجهز به پردازنده Intel Core i7 و ۳۲ گیگابایت حافظه RAM، بدون نیاز به GPU یا سختافزار تخصصی، عملکرد پایداری داشته است. چرخه پایش نیز هر سه دقیقه یکبار اجرا میشود؛ بازهای که پس از انجام آزمونهای فشار (Stress Test) انتخاب شده است.
این موضوع برای محیطهای صنعتی که شامل ایستگاههای اپراتوری، رابطهای انسان و ماشین (HMI) و سامانههای نظارتی هستند اهمیت ویژهای دارد؛ زیرا استفاده از سختافزار موجود، موانع پیادهسازی را به میزان قابل توجهی کاهش میدهد.
محدودیتهای پژوهش
نویسندگان پژوهش بهصراحت به محدودیتهای کار خود اشاره کردهاند.
نخست اینکه مجموعه داده مورد استفاده از نظر حجم متوسط بوده و تنها از یک منبع سندباکس تهیه شده است. این موضوع پرسشهایی درباره توانایی مدل در مواجهه با نمونههای ناشناخته ایجاد میکند.
از سوی دیگر، تروجانهایی که برای مدت طولانی غیرفعال باقی میمانند، ممکن است در بازه زمانی پایش فعال نشده و از دید سامانه پنهان بمانند؛ زیرا چارچوب مورد نظر بر مشاهده رفتار واقعی بدافزار متکی است.
همچنین بدافزارهای پیشرفتهای که قادر به شناسایی محیطهای سندباکس هستند، میتوانند فعالیت خود را مخفی کرده و دادههای گمراهکنندهای در اختیار مدل قرار دهند.
اما مهمترین محدودیت عملیاتی، وابستگی این راهکار به سیستمعامل ویندوز است. بخش قابل توجهی از تجهیزات IoT بر پایه لینوکس تعبیهشده، سیستمعاملهای بلادرنگ (RTOS) یا میانافزارهای مبتنی بر میکروکنترلر اجرا میشوند و اسکریپتهای مورد استفاده در این پژوهش بهراحتی روی چنین محیطهایی قابل انتقال نیستند.
بنابراین این چارچوب عمدتاً برای بخش ویندوزمحور محیطهای صنعتی مناسب است و لایههای تعبیهشده همچنان به ابزارهای تخصصی دیگری نیاز خواهند داشت.
اهمیت انتخاب ویژگیها بیش از مدلهای بزرگتر
مهمترین درس این پژوهش فراتر از یک مدل خاص است. موفقیت در شناسایی تروجانها بیش از آنکه حاصل استفاده از یک معماری پیچیده یادگیری عمیق باشد، نتیجه انتخاب هدفمند و مبتنی بر دانش تخصصی ویژگیهایی است که مستقیماً با چرخه حیات این تهدیدات ارتباط دارند.
مدافعان سایبری نیز میتوانند همین رویکرد را در سامانههای خود بهکار بگیرند: سیگنالهایی را شناسایی کنند که به مراحل مختلف فعالیت یک تهدید مرتبط هستند، شاخصهایی را که تقریباً در همه دستههای بدافزاری مشاهده میشوند کنار بگذارند و منطق تشخیص را به شکلی حفظ کنند که برای تحلیلگرانی که مسئول نگهداری آن هستند، شفاف و قابل فهم باقی بماند.