هفته خوبی شروع شد؛ با یک بررسی فارنزیک نسبتاً چالشبرانگیز که از همان ابتدا نشانههایی از یک رخداد غیرمعمول در آن دیده میشد. همانطور که معمولاً در تحلیلهای فارنزیک اتفاق میافتد، در نگاه اول همهچیز واضح و قطعی نبود. شواهد اولیه پراکنده بودند، بعضی Artifactها با هم همخوانی داشتند و برخی دیگر، تصویر متفاوتی از رفتار سیستم نشان میدادند. همین ناهماهنگیها باعث شد بررسی را با دقت بیشتری ادامه دهیم و فرضیههای مختلفی را درباره نحوه اجرای پردازشها و احتمال دستکاری در Image اجرایی آنها مطرح کنیم.
در جریان این بررسی، تمرکز اصلی روی مقایسه میان Artifactهای دیسک، رفتار Processها و Timeline سیستم قرار گرفت. در یک رخداد عادی، انتظار میرود میان فایلهای موجود روی دیسک، زمان ایجاد یا تغییر آنها، اجرای پردازشها و لاگهای مربوط به سیستمعامل، نوعی همبستگی منطقی وجود داشته باشد. برای مثال، زمانی که یک فایل اجرایی روی دیسک ایجاد یا اصلاح میشود و سپس بهعنوان یک Process اجرا میگردد، معمولاً ردپاهای آن در چند نقطه مختلف سیستم قابل مشاهده است. اما در این پرونده، برخی از این روابط به شکل مورد انتظار دیده نمیشد.
در Timeline سیستم، بازههایی وجود داشت که در نزدیکی زمان ایجاد یا اجرای برخی Processها، تغییرات غیرعادی روی فایلهای مرتبط مشاهده شده بود. این تغییرات از نظر زمانی با فعالیت Processها همپوشانی داشتند، اما ترتیب رویدادها و نوع Artifactهای ایجادشده، با یک اجرای معمولی و ساده مطابقت کامل نداشت. همین موضوع احتمال استفاده از تکنیکهایی را مطرح کرد که در دسته کلی Process Manipulation یا دستکاری پردازش قرار میگیرند؛ تکنیکهایی که هدف آنها پنهانسازی رفتار واقعی کد مخرب، دورزدن ابزارهای امنیتی یا ایجاد ابهام در تحلیل فارنزیک است.
یکی از فرضیههایی که در این بررسی مطرح شد، احتمال استفاده از تکنیکهای مرتبط با Image Tampering بود. در این نوع تکنیکها، مهاجم تلاش میکند ارتباط قابل اعتماد میان فایل اجرایی روی دیسک و Imageای که در حافظه بهعنوان Process اجرا شده است را دچار اختلال کند. به بیان سادهتر، ممکن است آنچه روی دیسک دیده میشود، الزاماً همان چیزی نباشد که در زمان اجرا در حافظه فعال بوده است. این مسئله برای تحلیلگران امنیتی بسیار مهم است؛ زیرا بسیاری از ابزارهای دفاعی و فارنزیکی برای تشخیص رفتار مشکوک، میان فایل روی دیسک، امضای آن، هش فایل، مسیر اجرا و رفتار Runtime ارتباط برقرار میکنند.
در این پرونده، شواهد اولیه نشان میداد که میان Artifactهای موجود روی دیسک و رفتار اجرایی Processها همبستگی کامل وجود ندارد. این عدم همبستگی بهتنهایی برای اعلام قطعی استفاده از یک تکنیک خاص کافی نیست، اما از نظر تحلیلی نمیتوان آن را نادیده گرفت. در فارنزیک، یکی از خطاهای رایج این است که تحلیلگر با مشاهده یک نشانه، خیلی زود به یک نتیجه قطعی برسد. در حالی که رویکرد درست، ساختن فرضیه، آزمون شواهد و سپس رد یا تأیید تدریجی آنهاست. به همین دلیل، در این مرحله صرفاً میتوان گفت الگوهای مشاهدهشده با برخی تکنیکهای شناختهشده مانند Process Herpaderping، Process Hollowing یا سایر روشهای Process Manipulation همخوانی نسبی دارند.
تکنیک Process Hollowing یکی از روشهای شناختهشده در اجرای کد مخرب در قالب یک Process ظاهراً معتبر است. در این روش، معمولاً یک Process قانونی ایجاد میشود، سپس محتوای اصلی آن در حافظه دستکاری شده و کد دیگری جایگزین میگردد. نتیجه این است که در ظاهر، سیستم یک Process شناختهشده و معتبر را نشان میدهد، اما آنچه واقعاً در حافظه اجرا میشود، میتواند با فایل اصلی روی دیسک تفاوت داشته باشد. همین تفاوت میان ظاهر Process و محتوای واقعی آن، تحلیل را پیچیدهتر میکند.
در مقابل، Process Herpaderping رویکرد متفاوتی دارد و بیشتر بر ایجاد ابهام در ارتباط میان فایل روی دیسک و Image اجراشده تمرکز میکند. در این تکنیک، مهاجم تلاش میکند در زمانبندی میان ایجاد فایل، اجرای Process و تغییر یا جایگزینی محتوای فایل روی دیسک اختلال ایجاد کند. نتیجه این است که ابزارهای امنیتی ممکن است هنگام بررسی فایل روی دیسک، چیزی متفاوت از آنچه واقعاً برای ایجاد Process استفاده شده است مشاهده کنند. از دید فارنزیک، این نوع رفتار میتواند باعث ایجاد اختلاف میان Timeline، Artifactهای فایلسیستم و دادههای مربوط به Process شود.
البته باید تأکید کرد که مشاهده چنین ناهماهنگیهایی الزاماً به معنای وقوع قطعی Herpaderping یا Hollowing نیست. گاهی رفتار برخی نرمافزارهای قانونی، بهروزرسانیها، ابزارهای مدیریتی یا حتی مکانیزمهای محافظتی محصولات امنیتی نیز میتوانند Artifactهایی ایجاد کنند که در نگاه اول غیرعادی به نظر برسند. به همین دلیل، تحلیل باید با دقت و با در نظر گرفتن زمینه عملیاتی سیستم انجام شود. اینکه سیستم چه نقشی داشته، چه نرمافزارهایی روی آن فعال بودهاند، چه سیاستهای امنیتی اعمال شده و چه فعالیتهایی در همان بازه زمانی در شبکه رخ داده، همگی در نتیجهگیری نهایی اثرگذار هستند.
در بررسی انجامشده، یکی از نقاط مهم، Correlation دقیق Timeline بود. Timeline در فارنزیک فقط فهرستی از زمانها نیست؛ بلکه روایت رخداد است. اگر این روایت بهدرستی ساخته شود، میتواند نشان دهد که کدام فایل ابتدا ایجاد شده، چه زمانی تغییر کرده، چه Processهایی در همان بازه فعال شدهاند، چه ارتباطات شبکهای برقرار شده، چه کلیدهای رجیستری تغییر کردهاند و کدام لاگهای امنیتی با این فعالیتها همزمان بودهاند. در پروندههایی که احتمال Process Manipulation وجود دارد، دقت زمانی اهمیت دوچندان پیدا میکند؛ زیرا گاهی فاصله میان ایجاد، اجرا و تغییر فایلها بسیار کوتاه است.
از طرف دیگر، بررسی صرف Artifactهای دیسک برای رسیدن به نتیجه قطعی کافی نیست. در چنین مواردی، Memory Artifactها نقش بسیار مهمی دارند. حافظه میتواند اطلاعاتی را نشان دهد که روی دیسک دیگر قابل مشاهده نیستند یا عمداً تغییر داده شدهاند. بررسی ساختار Process در حافظه، ماژولهای بارگذاریشده، Threadها، نواحی حافظه با مجوزهای اجرایی، اختلاف میان Image روی دیسک و محتوای حافظه، Handleها و ارتباطات شبکهای فعال میتواند به روشنتر شدن موضوع کمک کند. اگر Processای در ظاهر به یک فایل مشخص روی دیسک اشاره کند، اما بخشهایی از حافظه آن با Image اصلی همخوان نباشد، این موضوع میتواند نشانه مهمی برای ادامه تحلیل باشد.
همچنین بررسی Telemetryهای Process اهمیت بالایی دارد. دادههایی مانند Parent Process، Command Line، مسیر Image، Hash فایل در زمان اجرا، امضای دیجیتال، زمان ایجاد Process، رفتار فرزندزایی، دسترسی به فایلها، تغییرات رجیستری و ارتباطات شبکهای میتوانند تصویر دقیقتری از رفتار واقعی ارائه دهند. اگر این Telemetryها از منابع مختلف مانند EDR، Sysmon، SIEM و لاگهای سیستمعامل جمعآوری شده باشند، امکان مقایسه و اعتبارسنجی متقابل فراهم میشود. در این نوع پروندهها، یک منبع داده بهتنهایی معمولاً کافی نیست و ارزش اصلی در همبستگی چندمنبعی دادههاست.
نکته مهم دیگری که در این بررسی مورد توجه قرار گرفت، پرهیز از انتساب زودهنگام بود. در تحلیل رخدادهای سایبری، بهویژه زمانی که تکنیکهای پیشرفته مطرح میشوند، وسوسه زیادی وجود دارد که سریعاً رخداد را به یک تکنیک مشخص یا حتی یک گروه تهدید خاص نسبت دهیم. اما تحلیل حرفهای نیازمند احتیاط است. تا زمانی که شواهد کافی از حافظه، لاگها، رفتار Process و Timeline بهدست نیامده باشد، بهتر است نتیجهگیری در سطح «احتمال» یا «همخوانی نسبی با الگوهای شناختهشده» باقی بماند.
بر اساس شواهد فعلی، توصیه من انجام بررسی عمیقتر در سه محور اصلی بود: نخست، تحلیل دقیق Memory Artifactها برای شناسایی هرگونه اختلاف میان Image اجرایی در حافظه و فایل متناظر روی دیسک؛ دوم، جمعآوری و بررسی کامل Telemetryهای Process از منابع امنیتی موجود؛ و سوم، بازسازی دقیق Timeline رخداد با تمرکز بر توالی ایجاد، اجرا، تغییر و حذف فایلها. این سه محور میتوانند در کنار هم، امکان رد یا تأیید فرضیه Image Tampering را فراهم کنند.
جمعبندی این بررسی تا این مرحله این است که با یک رخداد ساده و خطی مواجه نیستیم. ناهماهنگی میان شواهد دیسک، رفتار Processها و Timeline سیستم، نشانهای است که باید جدی گرفته شود. هرچند هنوز نمیتوان با قطعیت از بهکارگیری یک تکنیک خاص صحبت کرد، اما الگوهای مشاهدهشده ارزش بررسی عمیقتر را دارند و میتوانند به کشف یک روش پنهانکارانه در اجرای کد یا دورزدن مکانیزمهای تشخیص منجر شوند.
هفته با چنین پروندهای شروع شد؛ پروندهای که بار دیگر یادآوری کرد در فارنزیک، جزئیات کوچک میتوانند مسیر تحلیل را تغییر دهند. گاهی یک اختلاف زمانی، یک Artifact ناقص یا یک رفتار غیرمنتظره در Process، همان سرنخی است که پشت آن یک تکنیک پیچیده پنهان شده است.