در این مطلب در مورد چگونگی تشخیص بدافزار خواهیم گفت، امروزه Machine Learning به طور معمول در شناسايی هجوم به شبکه و برنامههای مخرب استفاده میشود، در بیشتر رویکردهای مبتنی بر Machine Learning هر نمونه تحلیل (مانند یک برنامه اجرایی، یک سند اداری، یا درخواست شبکه) تحلیل میشود و تعدادی از ویژگیها استخراج میشوند. برای مثال، در مورد یک برنامه Binary، ممکن است نام توابع کتابخانهای استناد شده، طول بخشهای قابل اجرا و غیره را استخراج کنیم.
ویژگی های جدید Splunk Machine Learning Toolkit Version 4.0 چیست؟
ویدیوهای بیشتر درباره امنیت
سپس یک الگوریتم یادگیری ماشینی به عنوان ورودی مجموعهای از نمونههای مخرب شناخته شده ارائه میشود، الگوریتم مدلی را ایجاد میکند که بر اساس مقادیر ویژگیهای موجود در نمونهها، مجموعه داده Ground Truth است و سپس این مدل می تواند نمونه های شناخته شده را به درستی طبقهبندی کند. اگر مجموعه دادههایی که الگوریتم از آنها آموخته است نماینده دامنه دنیای واقعی باشد، و اگر ویژگیها برای تشخیص بین برنامههای خوب و بد مرتبط باشند، احتمال این وجود دارد که مدل یادگیری شده نمونههای مخربی را که قبلا دیده نشده اند آشکار کند.
نقش Feature Engineering یا مهندسی ويژگی در تشخیص بدافزارها
حتی اگر توضیحات بالا، ساده سازی بیش از حد فرآیند واقعی باشد، نکته کلیدی این است که در تشخیص بدافزار برخی از ویژگی های مهندسی ضروری هستند. به عبارت دیگر، Data Scientistها باید تصمیم بگیرند که کدام ویژگیها باید از هر نمونه استخراج شوند و این تصمیم توسط دامنه دانش آنها هدایت میشود، یا به طور دقیقتر، با احساس درونی از این که چه ویژگیهایی واقعا برای تشخیص مفید هستند. اما اگر درست متوجه نشوند چه؟ به عنوان مثال، در یک آزمایش اخیر، برخی از متخصصان امنیتی قادر بودند با قرار دادن stringهايي در یک بازی ویدئویی مناسب، از سیستم تشخیص یک محصول امنیتی فرار کنند.
رویکرد جدید شناسایی بدافزار با استفاده ازتکنولوژی Sandbox
پژوهشی با یک رویکرد جدید به این صورت که برای شناسایی بدافزار، نیازی به Feature Engineering نداشته باشد صورت گرفت. این رویکرد متکی بر نمایش غنی از اطلاعات از برنامههاست یعنی، گزارش تولید شده توسط تکنولوژی Sandbox. این گزارشها جزییات اقدامات انجام شده توسط یک برنامه را زمانی که در یک محیط کنترل شده به نام Sandbox اجرا میشود، گزارش میدهند.
همه Sandboxها یکسان ایجاد نمیشوند، اما یک ویژگی مشترک دارند، به این صورت که به جای تمرکز بر جنبههای استاتیک یک برنامه (یعنی، کد آن، یا روشی که دادهها در آن بستهبندی میشوند)، sandboxها بر جنبههای دینامیک اجرای واقعی برنامه تمرکز میکنند برای مثال، کدام فایلها در دسترس بودند، کدام فرآیندها، کدام اتصالات شبکه ایجاد شدند.
بیشتر بخوانید: مقابله با بدافزارها به کمک قابلیتهای Microsoft Defender ATP
معرفی Neurlux و نحوه عملکرد آن در تشخیص بدافزار
Neurlux از اسناد به عنوان ورودی و از تکنیکهای Deep Learning برای ایجاد طبقه بندی استفاده میکند که قادر است بین برنامههای مخرب و برنامههای خوب تمایز قایل شود. به طور دقیقتر، Neurlux این گزارشها را مانند هر سند دیگری به عنوان یک سری کلمات تلقی میکند. این کلمات در فرآیندی به نام تعبیه شدن، به بردارها تبدیل میشوند. در نهایت، این بردارها به عنوان ورودی به یک شبکه عصبی یا Neural Network داده میشوند که چندین تکنیک را با هم ترکیب میکند، به لحاظ فني، یک Convolutional Neural Network یا CNN، يك Bidirectional Long Short-Term Memory Network يا BilSTM و يك Attention Network.
به منظور درک این که آیا این روش در تشخیص بدافزارها واقعا موثر است، ما Neurlux را با روش پیشرفته State-of-the-art که متکی بر مهندسی ویژگی است مقایسه کردیم. Neurlux دقت ۹۶.۸ % و State-of-the-art دقت ۸۹.۲ % را نشان دادند.
این نتایج نشان میدهند که رویکردی که متکی بر مهندسی ویژگی نباشد، میتواند در محیطهای دنیای واقعی بسیار موثر باشد. علاوه بر این، این واقعیت که هیچ انسانی در تعیین این که کدام ویژگیهای خاص باید استخراج و کد گذاری شوند، درگیر نبوده است، این امکان را میدهد که رویکرد، “Future-proof” باشد: اگر به طور ناگهانی جنبه جدیدی از اجرا با شناسايي برنامههای مخرب مرتبط شود، سیستم نیازی به اصلاح ندارد، بلکه به سادگی دوباره آموزش داده میشود. با توجه به این که این سیستمها در حالت آموزش مداوم کار میکنند تا چشمانداز تهدید همواره در حال تغییر را مورد توجه قرار دهند، رویکرد بدون ویژگی اثر بخشی بیشتری را بدون نیاز به متخصصان انسانی برای تغییر مداوم سیستم فراهم میکند.