لوگوی ارتباط افزار افق
بستن

بررسی تکنیک‌های Detection Evasion؛ بدافزارها چگونه مخفی می‌شوند؟

بررسی تکنیک‌های Detection Evasion

فهرست مطالب

در دنیای امنیت سایبری امروز، وظیفه راهکارهای ضد بدافزاری در شناسایی و جلوگیری از بدافزارها به نقطه بسیار حساسی رسیده است. توسعه بدافزارها و باج افزارهای مختلف بسیار پیچیده شده و هکرها با استفاده از تکنیک‌های مختلف در تولید آن، سعی در دور زدن راهکارهای امنیتی و گریز از تشخیص توسط آنتی ویروس‌ها دارند. بدافزارها با بهره گیری از تکنیک‌های Detection Evasion، مکانیزم‌های شناسایی آنتی ویروس‌ها را فریب داده و بر اثر می‌کنند تا بتوانند با ایجاد بستر مناسبی به صورت پایدار در سیستم قربانی باقی بمانند. تکنیکی که یک بدافزار معمولی را به یک تهدید پیشرفته پایدار (APT) تبدیل می‌کند.

روش‌های Detection Evasion

تکنیک Detection Evasion انواع مختلفی دارد که هرکدام با هدف از کار انداختن و بی اثر کردن روش‌های شناسایی بدافزار راهکارهای امنیتی است. آنتی ویروس‌ها به طور کلی از دو روش شناسایی استاتیک و داینامیک برای شناسایی بدافزارها استفاده می‌کنند و در مقابل روش‌های Detection Evasion برای گریز از هر دو روش وجود دارد که در ادامه به آن‌ها خواهیم پرداخت.

تکنیک Signature-based Evasion

تشخیص توسط پایگاه امضاء جزء روش‌های شناسایی استاتیک می‌باشد که با استفاده از امضاء از پیش تعیین شده و الگوهایی فایل‌های مخرب را تشخیص می‌دهد . این تکنیک به مجرمان سایبری امکان رد شدن از مکانیزم‌های شناسایی آنتی ویروس‌های معمول و سیستم‌های تشخیص نفوذ را می‌دهد.

بدافزارهای چند شکلی و دگردیسی (Polymorphic and Metamorphic): بدافزارهای چند شکل (Polymorphic) نرم افزارهای مخربی هستند که توانایی تغییر کدها و ظاهر خود (آیکون و یا نام پردازه) را با هر با تکثیر دارند. که ویژگی باعث می‌شود بدافزار در هر سیستم دارای یک محتوا، امضاء و نام متقاوت باشد که شناسایی آن سخت می‌کند. این تکنیک گریز از شناسایی شامل ایجاد تغییر در ساختار بدافزار یا روش‌های رمزنگاری آن است که در نتیجه نمونه‌های جدیدی از بدافزار تولید می‌کند. در مقابل بدافزارهای متامورفیک (Metamorphic) همین مفهوم یک قدم بیشتر به جلو برده و علاوه بر تغییر ظاهر، کدهای اصلی و اساسی خود را نیز تغییر می‌دهد. این تغییرات پویای، شناسایی را پیچیده می‌کند، چراکه هیچ امضاء ثابتی برای مطابقت وجود ندارد و برای شناسایی آن نیاز به روش‌های مدرن‌تری برای مقابله با این تهدیدات نیاز است.

رمزگذاری فایل: رمزگذاری در بدافزار به معنای کدگذاری بروی کدهای مخرب برای مبهم سازی هدف اصلی آن است تا بتواند از شناسایی فرار کند. هدف این روش جلوگیری از شناسایی و تحلیل فنی بدافزار است. مکانیزهای شناسایی بر اساس امضاء، کارایی خود را از دست خواهند داد چون امضاء بدافزار در بین محتوای رمزگذاری شده پنهان شده است.

Packer and Crypters: پکرهای ابزارهایی هستند که کدهای مخرب بدافزار را رمزنگذاری و فشرده می‌کنند و یک فایل اجرایی جدید تولید می‌کنند که نیاز به اجرای فرآیند خاصی unpacking دارد و به این طریق محتوای مخرب را مخفی نگه می‌دارد. در مقابل Crypters بروی رمزگذاری فایل‌ها تمرکز می‌کنند  با ایجاد فرآیند مخصوص رمزگشایی محتوای اصلی بدافزار را از شناسایی در امان نگه می‌دارد.

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

تکنیک‌های Behaviour-based Evasion

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

تشخیص سندباکس: Sandbox یکی از روش‌هایی است که با قرار دادن بدافزار در یک محیط ایزوله و مانیتور شده رفتارهای نرم افزار مشکوک را آنالیز کرده و تمامی ویژگی‌ها و توابع بدافزار را شناسایی و استخراج می‌کنند. بدافزاری که به قابلیت تشخیص سندباکس مجهز باشد، می‌تواند حضور ویژگی‌ها و رفتارهایی را تشخیص دهد که مرتبط با این محیط‌‌ها هستند؛ همچون مسیرهای مخصوص فایل‌ها، مقادیر رجیستری، پیکربندی کارت شبکه و غیره. در صورت تشخیص سندباکس بدافزار می‌تواند رفتار مخرب خود را انجام ندهد و یا در حالت غیرفعال باقی بماند و یا حتی فایل‌های خود را پاک کند و به طور کامل از محیط سندباکس حذف شود.

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

تزریق بدافزار

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

  • DLL Injection: در این نوع، بدافزار DLL مخرب خود را به درون پردازه‌ای که در حافظه مستقر شده و در حال اجرا است تزریق می‌کند که به آن اجازه اجرای فرآیندهای مخرب را با تحت کنترل گرفتن پردازه آلوده شده می‌دهد.
  • Code Injection: کدهای بدافزار به درون فضای حافظه یک برنامه قابل اطمینان تزریق شده و امکان دستکاری رفتار پردازه مذکور و انجام عملیات مخرب به بدافزار می‌دهد. این روش شامل استفاده از آسیب پذیری پردازه برای تزریق کد به درون آن است.
  • Thread Injection: در این روش کد مخرب یک ترد جدید از نرم افزار مجاز را ایجاد می‌کند و محتویات خود را به درون آن تزریق می‌کند. بدین طریق بدافزار منابع و دسترسی‌های خود را افزایش داده و تکنیک Detection Evasion را انجام می‌دهد.
  • Memory Allocating/Write: با استفاده از این تکنیک بدافزار به طور پویا درخواست اختصاص حافظه در فضای حافظه نرم افزار مجاز را می‌هد و سپس محتویات و کدهای مخرب خود را آن قسمت می‌نویسد تا توسط آن نرم افزار اجرا شود.

بدافزارهای بدون فایل

بدافزهای Fileless کدهای مخربی هستند که به طور کامل در حافظه سیستم فعالیت می‌کنند و هیچ ردی در فایل سیستم کامپیوتر باقی نمی‌گذارند. اگر فایل وجود نداشته باشد پس در واقع هیچ امضائی هم برای مطابقت با پایگاه امضاء آنتی ویروس‌ها وجود ندارد و به این ترتیب بدافزار بدون فایل بدون شناسایی به عملیات خود ادامه می‌دهد. این نوع بدافزارها با استفاده از آسیب پذیری‌ها و ابزارهای سیستمی قابل اعتماد تزریق انجام داده و محتوای مخرب را در حافظه سیستم نوشته و اجرا می‌کنند. استفاده از ابزارهای مجاز سیستمی همچون CMD یا پاورشل تکنیکی است که با نام Living-off-the-land شناخته می‌شود و شناسایی بدافزار را نه تنها برای راهکارهای رایج بلکه برای متخصصین امنیتی نیز سخت می‌کند.

نحوه تشخیص این بدافزارها

بدافزارهایی که از تکنیک‌های Detection Evasion برای گریز از شناسایی آنتی ویروس‌ها استفاده می‌کنند توسط ابزارهای رایج ضد ویروس شناسایی نمی‌شوند. آن‌ها به تکنولوژی‌های جدیدتری نیاز دارند که توانایی مقابله با تکنیک‌های گریز را داشته باشد. آنتی ویروس‌ها با بهره‌گیری از مدل‌های هوش مصنوعی و یادگیری ماشین توانسته‌اند موتورهای قدرتمندتری در زمینه تشخیص بر اساس رفتار ایجاد کنند. همچنین استفاده از هیوریستیک و هوش مصنوعی در روش تشخیص بر اساس امضاء فایل نیز، این روش را قدرتمندتر کرده است. راهکارهای مبتنی بر هشدار و پاسخ همانند EDR،XDR نیز در خصوص تشخیص تهدیدات APT نیز بسیار کارآمد هستند و برای سازمان‌ها مفید واقع خواهند شد.

نتیجه گیری

همانگونه که توضیح داده شد، مجرمان سایبری از تکنیک Detection Evasion برای گریز از شناسایی ابزارهای امنیتی استفاده می‌کنند. برخی از این روش‌ها شناخته شده بوده و توسط راهکارهای امنیتی قابل تشخیص می‌باشند. همانگونه که بدافزارها پیچیده‌تر و پیشرفته‌تر می‌شوند، ابزارهای امنیتی نیز به مکانیزم‌های مدرن‌تری مجهز می‌شوند که توانایی تشخیص و مقابله با بدافزارهای جدید را دارد. به همین دلیل در انتخاب ابزارهای امنیتی بایستی به تکنولوژی‌ها و توانایی‌های آن در تشخیص و جلوگیری از بدافزارها توجه ویژه کرد.

0 دیدگاه

دیدگاهتان را بنویسید

Avatar placeholder

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *