
تیم بنفش
زمان مطالعه :5 دقیقه
آنتی ویروس، از نحوه کارکرد تا نحوه Bypass!
سیستم دفاعی آنتیویروس دقیقاً چگونه کار میکند؟ بررسی کامل روشهای شناسایی و تکنیکهای دور زدن آنها
در دنیای امروز، مقابله با بدافزارها و تهدیدات سایبری به یکی از دغدغههای اصلی سازمانها و کاربران بدل شده است. سیستمهای دفاعی آنتیویروس نقشی کلیدی در محافظت از دادهها و زیرساختهای فناوری اطلاعات ایفا میکنند. اما این سؤال مطرح است که آنتیویروسها دقیقاً چگونه کار میکنند؟ چه تکنیکهایی برای شناسایی و مقابله با تهدیدات مدرن استفاده میشود؟ و در مقابل، مهاجمان چه روشهایی برای دور زدن این سیستمهای پیشرفته به کار میبرند؟ در این مقاله، به طور جامع و فنی به این موضوعات خواهیم پرداخت و ضمن بررسی روشهای شناسایی، تکنیکهای دفاعی و راهکارهای مهاجمان برای عبور از سد آنتیویروسها، به مفاهیم روز حوزه امنیت سایبری خواهیم پرداخت. این مقاله برای کارشناسان امنیت، دانشجویان حوزه فناوری اطلاعات و علاقهمندان به تحلیل بدافزار به صورت کاربردی و حرفهای آماده شده است.
درک ماهیت سیستمهای آنتیویروس و سازوکار آنها
سیستمهای آنتیویروس مدرن در حقیقت مجموعهای از فناوریها و الگوریتمهای پیچیده هستند که وظیفه آنها شناسایی، مسدودسازی و حذف بدافزارها است. این سیستمها اغلب به صورت دوگانه فعالیت میکنند: برخی فایلها و برنامهها را قبل از اجرا یا حین ذخیرهسازی (On-Disk) بررسی میکنند و برخی دیگر رفتار برنامههای در حال اجرا را در حافظه (In-Memory) پایش میکنند. با ترکیب این دو روش، پوشش مناسبی در مقابل انواع تهدیدات ایجاد میشود.
شناسایی On-Disk: در این روش، فایلها قبل از اجرا، دانلود یا انتقال بررسی میشوند. آنتیویروس با اسکن دیسک سخت یا دیگر رسانههای ذخیرهسازی، فایلهای مشکوک را بر اساس پایگاه داده امضاها، الگوریتمهای تحلیلی یا رفتارشناسی مورد بررسی قرار میدهد. این قابلیت برای شناسایی بسیاری از بدافزارهای شناختهشده موثر است اما در مقابل تهدیدات پیچیدهتر (مانند بدافزارهای بدون فایل یا Fileless Malware) گاهی ناکارآمد است.
شناسایی In-Memory: امروزه بسیاری از بدافزارهای پیشرفته تنها در حافظه اجرا میشوند و اثری از خود روی دیسک باقی نمیگذارند. آنتیویروسهای مدرن با پایش فرآیندهای سیستم، حافظه و رفتار برنامههای در حال اجرا، تلاش میکنند چنین تهدیداتی را نیز شناسایی و متوقف کنند. این روش نیازمند الگوریتمهای دقیق رفتارشناسی، تحلیل حافظه و استفاده از تکنیکهای پیشرفته است.
بررسی تکنیکهای شناسایی در آنتیویروسهای مدرن
۱. شناسایی مبتنی بر امضا (Signature-Based Detection)
این روش یکی از قدیمیترین و پرکاربردترین راهکارهای آنتیویروسها است. در این تکنیک، هر فایل، برنامه یا قطعهای از دادهها با پایگاه دادهای از امضاهای شناختهشده بدافزاری مقایسه میشود. امضاها میتوانند شامل بخشهایی از کد، توابع خاص، هش فایل یا الگوهای دودویی مشخص باشند. اگر تطابقی یافت شود، فایل به عنوان مخرب شناسایی شده و مسدود یا حذف میشود.
مزیت این روش سرعت و دقت بالای آن برای تهدیدات شناختهشده است اما نقطه ضعف اصلی آن عدم توانایی در شناسایی بدافزارهای جدید یا تغییر یافته (Zero-Day یا Polymorphic Malware) است.
۲. تحلیل رفتاری (Heuristic Analysis)
تحلیل رفتاری، بهجای جستجوی امضاهای ثابت، به بررسی ساختار و رفتار فایلها میپردازد. آنتیویروس به دنبال الگوها، دستورات مشکوک، یا توالیهایی میگردد که معمولاً در بدافزارها دیده میشود؛ برای مثال، کدهایی که سعی میکنند فایلهای سیستمی را تغییر دهند یا به حافظه مناطق غیرمجاز دسترسی پیدا کنند.
این روش میتواند بسیاری از تهدیدات جدید را پیش از آنکه امضای مشخصی برایشان ایجاد شود شناسایی کند. با این حال، ممکن است نرخ خطای مثبت بالاتری داشته باشد و فایلهای سالم را نیز گاهی اشتباهاً مخرب اعلام کند.
۳. تحلیل رفتاری پویا (Behavioral Analysis)
در این تکنیک، آنتیویروس برنامه را در محیطی کنترلشده اجرا میکند و رفتار واقعی آن را مورد بررسی قرار میدهد. برای مثال، اگر برنامهای پس از اجرا اقدام به رمزنگاری فایلها، ارسال اطلاعات به سرورهای خارجی یا ایجاد تغییرات مشکوک در رجیستری کند، به عنوان بدافزار شناسایی میشود.
این نوع تحلیل، به ویژه برای مقابله با بدافزارهای ناشناخته و تهدیدات هدفمند موثر است اما نیازمند منابع محاسباتی بالاتری است و باید به نحوی پیادهسازی شود که کارایی سیستم تحت تأثیر قرار نگیرد.
۴. تحلیل در محیط ایزوله (Sandbox Analysis)
یکی از روشهای پیشرفته شناسایی، اجرای برنامههای مشکوک در یک محیط ایزوله و شبیهسازیشده (Sandbox) است. در این محیط، رفتار برنامه بدون هیچ خطری برای سیستم واقعی مورد ارزیابی قرار میگیرد. اگر برنامه در Sandbox رفتار مخربی مانند تلاش برای اتصال به آدرسهای خارجی یا اجرای دستورات سیستمی غیرمجاز نشان دهد، به عنوان تهدید علامتگذاری میشود.
این تکنیک بهویژه در راهکارهای امنیتی سازمانی و برای تحلیل فایلهای ناشناس کاربرد زیادی دارد و بسیاری از آنتیویروسهای سازمانی مجهز به Sandbox داخلی یا ابری هستند.
۵. استفاده از یادگیری ماشین و هوش مصنوعی (Machine Learning & AI-Based Detection)
نسل جدید آنتیویروسها، از مدلهای یادگیری ماشین برای شناسایی تهدیدات ناشناخته بهره میبرند. این مدلها، با تجزیه و تحلیل دادههای گسترده از بدافزارها و برنامههای سالم، قادر به تشخیص الگوها و تفاوتهای ظریف میان کدهای مخرب و سالم هستند. برای مثال، رفتار برنامه، ساختار کد، امضاهای غیرمستقیم و تعاملات سیستمی مورد ارزیابی قرار میگیرد.
آنتیویروسهایی مانند Microsoft Defender ATP و راهکارهای امنیتی سازمانی مانند CrowdStrike، به طور گسترده از یادگیری ماشین برای شناسایی تهدیدات Zero-Day و حملات پیچیده استفاده میکنند. پژوهشهای متعددی مانند تحقیقات شرکت Symantec و Trend Micro بر کارایی این مدلها تأکید داشتهاند.
۶. اسکن حافظه و پایش بلادرنگ (Memory Scanning & Real-Time Protection)
با پیشرفتهتر شدن بدافزارها، بسیاری از آنها بدون ذخیرهسازی روی دیسک، مستقیماً در حافظه اجرا میشوند (In-Memory Malware یا Fileless Malware). برای مقابله با این تهدیدات، آنتیویروسها از اسکن حافظه و پایش بلادرنگ رفتار فرآیندها بهره میبرند. هرگونه رفتار غیرمعمول مانند اجرای کد از مناطق مشکوک حافظه، تزریق کد به فرآیندهای سیستمی یا دسترسی به APIهای حساس میتواند به عنوان نشانهای از بدافزار شناسایی شود.
برای مثال، اگر فرآیندی اقدام به تزریق کد به فرآیند دیگری کند، معمولاً توسط سیستم به عنوان Process Injection علامتگذاری میشود. این تکنیک در چارچوب MITRE ATT&CK با شناسه T1055 معرفی شده است.
تکنیکهای دور زدن آنتیویروس و روشهای AV Evasion
مهاجمان و توسعهدهندگان بدافزار همواره به دنبال راههایی برای دور زدن سیستمهای دفاعی آنتیویروس هستند. در ادامه به مهمترین تکنیکهای مورد استفاده آنها اشاره میشود:
۱. مبهمسازی و رمزنگاری (Obfuscation & Packing)
یکی از متداولترین روشها برای دور زدن اسکن مبتنی بر امضا، استفاده از پکرها (Packers) یا رمزنگاری کد بدافزار است. در این روش، کد بدافزار به صورت فشرده یا رمزنگاری شده در میآید و هنگام اجرا، از حالت فشرده یا رمزگشایی شده خارج میشود. این تکنیک در چارچوب MITRE ATT&CK با شناسه T1027 (Obfuscated Files or Information) معرفی شده است. مهاجم میتواند هر بار ساختار کد را تغییر دهد تا توسط امضاهای آنتیویروس شناسایی نشود.
۲. تزریق کد (Code Injection)
تکنیکهای تزریق کد، مانند Process Hollowing یا DLL Injection، به مهاجم اجازه میدهد کد مخرب را درون فرآیندهای مجاز و مورد اعتماد سیستم (مانند explorer.exe یا svchost.exe) بارگذاری کند. در این حالت، آنتیویروس به سختی میتواند میان کد سالم و کد مخرب تمایز قائل شود، زیرا کد بدافزار در حافظه فرآیند مجاز اجرا میشود. این رفتار در MITRE ATT&CK با شناسه T1055 (Process Injection) بهخوبی توصیف شده است.
۳. اجرای بدون فایل (In-Memory or Fileless Malware)
برخی از بدافزارها بدون ایجاد هیچگونه فایل روی دیسک، مستقیماً در حافظه اجرا میشوند. این تهدیدات با بهرهگیری از PowerShell، WMI یا آسیبپذیریهای سیستمی، کد خود را از راه دور بارگذاری و اجرا میکنند. به همین دلیل، بسیاری از آنتیویروسها نیاز به اسکن بلادرنگ حافظه و پایش رفتارهای مشکوک دارند. این روش در چارچوب MITRE ATT&CK با شناسه T1105 (Ingress Tool Transfer) و T1055 مطرح است.
۴. دور زدن EDR و Unhooking API
برخی بدافزارها تلاش میکنند با دستکاری یا Unhook کردن توابع کلیدی سیستم (مانند ZwCreateFile یا NtReadVirtualMemory)، پایش ابزارهای EDR (Endpoint Detection & Response) را غیرفعال کنند. این حملات بسیار پیشرفته بوده و معمولاً در حملات هدفمند علیه سازمانها مورد استفاده قرار میگیرند. در این حملات، بدافزار سعی میکند قلابهای (Hooks) نصبشده توسط آنتیویروس یا EDR را شناسایی و حذف کند تا بتواند فعالیت مخرب خود را بدون پایش ادامه دهد.
۵. پلیمورفیسم و متامورفیسم (Polymorphism & Metamorphism)
بدافزارهای پلیمورفیک هر بار که اجرا میشوند یا حتی در هر کپی، ساختار خود را تغییر میدهند. این تغییر میتواند در رمزنگاری، توابع، نام متغیرها و حتی منطق کد صورت گیرد. متامورفیسم گام را فراتر میگذارد و نه تنها کد بلکه کل ساختار برنامه را بازنویسی میکند. این ویژگی باعث میشود هر نسخه از بدافزار کاملاً منحصر به فرد به نظر برسد و به سختی توسط آنتیویروسهای مبتنی بر امضا شناسایی شود.
۶. استفاده از باینریهای سیستم عامل (Living Off the Land Binaries – LOLBins)
در این روش، مهاجم از ابزارها و برنامههای بومی ویندوز (مانند powershell.exe، regsvr32.exe یا mshta.exe) برای اجرای کد مخرب یا بارگذاری فایلهای خود استفاده میکند. این رفتار که در MITRE ATT&CK با شناسه T1218 (Signed Binary Proxy Execution) آمده است، باعث میشود آنتیویروسها و حتی تیمهای دفاعی نتوانند به راحتی میان رفتار مجاز و مخرب تفاوت قائل شوند، چرا که فرآیندها و برنامههای بومی اغلب در لیست مجاز و قابل اعتماد قرار دارند.
۷. جابجایی و انتقال ابزار (Tool Transfer)
در بسیاری از حملات، مهاجمان ابزارها یا کدهای مخرب را به طور مستقیم روی سیستم قربانی منتقل نمیکنند، بلکه از روشهایی مانند بارگذاری فایل از راه دور (Remote File Download) یا استفاده از حافظه برای اجرای آنی استفاده میکنند. این روشها در چارچوب MITRE ATT&CK با شناسه T1105 به عنوان Ingress Tool Transfer شناخته میشوند و چالشی جدی برای شناسایی و مسدودسازی توسط AVها به حساب میآیند.
نمونههای عملی برای فهم بهتر مفاهیم
فرض کنید یک بدافزار از طریق ایمیل فیشینگ وارد سیستم میشود. فایل اجرایی مخرب به نحوی بستهبندی و رمزنگاری شده که امضای آن با هیچیک از امضاهای شناختهشده در دیتابیس آنتیویروس تطابق ندارد (تکنیک Obfuscation). بلافاصله پس از اجرا، با استفاده از تکنیک Process Injection، کد خود را به درون فرآیند قانونی svchost.exe تزریق میکند (تکنیک T1055). حال بدافزار، بدون باقی گذاشتن فایل روی دیسک و با اجرای دستورات خود از طریق PowerShell، فایلهای حساس را به سرور مهاجم ارسال میکند (تکنیک Fileless Malware). در این حالت، تنها راه شناسایی چنین تهدیدی، تحلیل رفتار فرآیندها، اسکن بلادرنگ حافظه و پایش شبکه توسط ابزارهای پیشرفته EDR است.
برای کسب اطلاعات بیشتر و دقیقتر درباره مباحث مطرح شده در این مقاله، میتوانید به منابع زیر مراجعه کنید:
۱. پایگاه رسمی MITRE ATT&CK: https://attack.mitre.org/ در این منبع میتوانید تمامی تکنیکهای شناسایی و دور زدن AVها، مثالها و گزارشهای مربوط به تهدیدات واقعی را مطالعه کنید.
۲. مستندات Microsoft Defender: https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint در این مستندات، سازوکار Microsoft Defender و ابزارهای EDR سازمانی و تکنیکهای مقابله با بدافزارها بهخوبی شرح داده شده است.
۳. گزارشهای امنیتی شرکت CrowdStrike در زمینه AV Evasion و دفاع پیشرفته: https://www.crowdstrike.com/cybersecurity-101/malware/antivirus-evasion-techniques/ این مقالات تحلیل کاملی از روند پیشرفت بدافزارها و مقابله با تکنیکهای دفاعی آنتیویروسها ارائه میدهد.
همچنین در مقاله https://huntlearn.com/blogs/Undetectable-Reverse-Shell-Attack-Defense به طور عملی نحوه دور زدن آنتی ویروس ها و شناساییشون رو بررسی کردیم!

سیستمهای دفاعی آنتیویروس، روز به روز هوشمندتر و پیچیدهتر میشوند تا بتوانند با حجم گسترده و متنوع تهدیدات مدرن مقابله کنند. اما مهاجمان نیز همواره در تلاشاند تا با نوآوری، رمزنگاری و بهرهگیری از تکنیکهای پیشرفته، سد این سیستمها را بشکنند. درک عمیق سازوکار آنتیویروسها، شناسایی روشهای دفاعی و شناخت تکنیکهای دور زدن آنها، میتواند به متخصصان امنیت کمک کند تا استراتژیهای قویتر و اثربخشتری برای مقابله با تهدیدات سایبری طراحی و اجرا کنند. آگاهی از چارچوب MITRE ATT&CK، بهرهگیری از منابع معتبر و بروز نگهداشتن اطلاعات، نقش مهمی در موفقیت برنامههای دفاع سایبری خواهد داشت.

امیرمحمد ایرجی مقدم
مشاهده مقاله های بیشتر