یادگیری عمیق و هش فازی به شناسایی بدافزارها کمک میکنند
امروزه سازندگان بدافزارها با ایجاد تغییرات اندک در کد منبع بدافزار سعی میکنند ضدویروسها را گمراه کنند. یکی از روشهای مقابله با این ترفند استفاده از هوش مصنوعی است.
امروزه سازندگان بدافزارها با ایجاد تغییرات اندک در کد منبع بدافزار سعی میکنند ضدویروسها را گمراه کنند. یکی از روشهای مقابله با این ترفند استفاده از هوش مصنوعی است. اخیراً تیم تحقیقاتی Microsoft 365 Defender یک پست وبلاگی در این باره منتشر کرده است که در این مطلب به آن میپردازیم. یکی از روشهای رایج در فناوریهای تشخیص بدافزار مقایسه «هش» فایلها است. هش، تابعی ریاضی است که یک فایل یا یک رشته از بایتها را به عنوان ورودی دریافت میکند و یک رشته کوتاه و با طول ثابت را برمیگرداند. اگر دو فایل دقیقاً یکسان باشند، هش آنها نیز یکسان خواهد بود. توابع مختلفی وجود دارند که میتوان از آنها به عنوان هش استفاده کرد، مثل SHA256 و MD5. |
هش فازی |
وقتی بدافزاری کشف میشود، ضدویروسها هش آن را به پایگاه داده خود اضافه میکنند. هنگام اسکن یک فایل مشکوک، هش آن را با هشهای موجود در پایگاه داده خود مقایسه میکنند. اما یکی از ویژگیهای تابع هش این است که اگر دو فایل تفاوت کوچکی (حتی در حد یک بایت) داشته باشند، هش آنها به کلی متفاوت خواهد بود. این ویژگی به سازندگان ویروس کمک میکند ضدویروسها را دور بزنند. زیرا کافی است تغییر کوچکی در کد ویروس ایجاد کنند به طوری عملکرد آن ثابت بماند ولی هش آن عوض شود. به چنین ویروسهایی چندریختی یا polymorphic گفته میشود. برای مقابله با این ترفند گریز، میتوان از نوعی هش دیگر به نام «هش فازی» استفاده کرد. هش فازی این خاصیت را دارد که اگر دو فایل مشابه را دریافت کند، خروجیهای مشابهی تولید میکند. برای تولید هش فازی نیز الگوریتمهای مختلفی از قبیل Nilsimsa، TLSH و SSDEEP وجود دارد. مایکروسافت با استفاده از هش فازی و یادگیری عمیق موفق شد نمونهای از ویروس GoldMax را تشخیص دهد. اولین نمونه از این ویروس در سپتامبر 2020 در VirusTotal ثبت شده بود. اما در مارچ 2021، Microsoft 365 Defender با گونه جدیدی از آن مواجه شد و توانست آن را به عنوان تهدید شناسایی کند. همان طور که در شکل زیر دیده میشود، این دو فایل هشهای فازی مشابهی دارند.
|
یادگیری عمیق و تشخیص تهدیدات |
اما لزوماً همه شباهتهایی که بین هشهای فازی وجود دارد مهم نیستند. مایکروسافت برای تشخیص اینکه چه شباهتهایی مهمتر هستند، از شبکههای عصبی عمیق استفاده کرده است. شبکههای عصبی مصنوعی، نوعی ابزار یادگیری ماشین هستند که با الهام از ساختار مغز انسان ساخته شدهاند. همان طور که مغز از شبکهای از سلولهای عصبی تشکیل شده، شبکه عصبی مصنوعی نیز از اتصال اجزائی به نام نورون ایجاد میشود. شبکه عصبی با دریافت مثالهای زیاد میتواند نحوه حل مسائل را یاد بگیرد. برای مثال، شبکه میتواند یاد بگیرد که چه طور به سؤالات کاربران پاسخ دهد (مثل چتبات). طی سالهای اخیر، استفاده از شبکههای عصبی با لایههای زیاد که شبکه عمیق نامیده میشوند، بسیار رواج پیدا کرده است و در حوزههای مختلفی مثل پردازش تصویر و پردازش زبان طبیعی موفقیتهای چشمگیری کسب کردهاند. محققان مایکروسافت از حوزه پردازش زبان طبیعی الهام گرفتهاند که ورودی شبکه از دنبالهای از کلمات تشکیل شده است. آنها بخشهای مختلف هش فازی را به عنوان کلمه در نظر گرفته و هش را به صورت دنبالهای از کلمات به شبکه عصبی دادهاند. شبکه با دیدن مثالهای زیاد میتواند یاد بگیرد که چه بخشهایی از هش مهمتر هستند. روشی که شرح داده شد، تنها یک مثال از کاربرد یادگیری عمیق در فناوریهای امنیتی استفاده میکند. فناوریهای مبتنی بر هوش مصنوعی بسیاری به Microsoft 365 Defender کمک میکنند حجم زیادی از داده را با سرعت تحلیل کرده و تهدیدات را شناسایی کند.
|
منبع: مایکروسافت |