چگونه تحلیل رشتهها در حافظه به کشف حملات پیشرفته کمک میکند
یکی از نقاط عطف در تحول دفاع سایبری، زمانی بود که تیمهای امنیتی دریافتند بسیاری از حملات پیشرفته (APT) دیگر به فایل متکی نیستند. حملات گروه APT29 در بازه ۲۰۱6 تا ۲۰۱۸ نمونهای شاخص از این تغییر پارادایم هستند. این گروه در حملات علیه نهادهای دولتی و دیپلماتیک غربی، از تکنیکهای Fileless Malware و Execution in Memory استفاده کرد؛ بهگونهای که شواهد کلاسیک دیسکی عملاً وجود نداشت.
مرحله حمله
حمله معمولاً با یک فایل آفیس آلوده آغاز میشد که ماکروی آن PowerShell را اجرا میکرد. اما PowerShell هیچ کد مخربی را روی دیسک ذخیره نمیکرد. Payload بهشکل Base64 یا AES-encrypted از راه دور دریافت، در حافظه decrypt و بلافاصله اجرا میشد. بهمحض پایان کار، اسکریپتها از دیسک پاک میشدند یا اصلاً چیزی نوشته نمیشد.

در این نقطه:
- آنتیویروسهای مبتنی بر Signature عملاً شکست میخوردند
- IOCهای مبتنی بر Hash یا File path بیمعنا بودند
- لاگهای سیستم چیزی فراتر از اجرای PowerShell نشان نمیدادند
نقش حیاتی RAM String Analysis
تنها جایی که «حقیقت حمله» آشکار بود، حافظه زنده (Live RAM) سیستم بود. تحلیل رشتهها در Memory Dump فرآیندهایی مانند powershell.exe یا wmiPrvSE.exe نشانههایی را افشا کرد که روی دیسک هرگز وجود نداشتند:
نمونه رشتههای کشفشده:
- URLها و IPهای C2 (مثلاً masquerade شده به تصویر یا font)
- User-Agentهای سفارشی
- توابع حساس مانند:
- System.Net.WebClient
- Invoke-Expression
- FromBase64String
- بلوکهای طولانی Base64 که نشاندهنده payload رمزگذاریشده بودند
این رشتهها ثابت میکردند که:
PowerShell نه بهعنوان ابزار مدیریتی، بلکه بهعنوان Loader بدافزاری در حافظه عمل میکند.
چرا این تحلیل مؤثر بود؟
مهاجم میتواند:
- فایل را حذف کند
- Timestamp را دستکاری کند
- لاگ را دور بزند
اما تا زمانی که:فرآیند فعال است و ارتباط شبکه برقرار است و payload decrypt شده
رشتههای حافظه اجتنابناپذیرند.
تحلیل رشتهها، زمانی ارزشمند میشود که با Context رفتاری ترکیب شود:
PowerShell + deobfuscation in RAM + outbound traffic = Attack Intent