با بیش از ۳۵۰۰۰۰ بدافزار جدید که هر روز ثبت میشوند، تجزیه و تحلیل بدافزار میتواند از بهرهوری کسبوکار و دادههای شهروندان حفاظت کند. در این مقاله با چگونگی این امر آشنا خواهیم شد.
تجزیه و تحلیل بدافزار چیست؟
بدافزار عبارت است از «نرمافزاری که برای نفوذ به یک سیستم رایانهای یا آسیب زدن به آن بدون رضایت آگاهانهی صاحب نرمافزار طراحی شده است. هر نرمافزاری که اقدامات مخربی از جمله سرقت اطلاعات، جاسوسی و… انجام دهد را میتوان بدافزار نامید.» درحالیکه وابستگی ما به تکنولوژی و تعداد Endpointهای متصل افزایش پیدا میکند، انواع بدافزارهای قدیمی مثل ویروس، Trojan یا کرم نیز در حال جهش پیدا کردن هستند. این امر باعث شکلگیری انواع جدید بدافزار میگردد که به شیوههای ناآشنایی به سیستمها حمله میکنند و بدون هیچ نشانهی واضحی موجب آسیب میشوند.
مثلاً امسال شاهد تولد یک خانواده باجافزار جدید به نام WastedLocker بودیم که به یک رشتهی شخصیسازیشده متصل میشود که هر فایل رمزگذاریشده حاوی کلمهی «wasted» است. برای رمزگشایی این فایل، تشکیلدهندهی بدافزار میتواند درخواست میلیونها دلار باج کند. براساس گزارش وضعیت بدافزار در سال ۲۰۲۰، کل فعالیت باجافزارها در مقابل کسبوکارها به بالاترین میزان خود در تاریخ رسیده است. در نتیجه حیاتی است که کسبوکارها و جامعهی هک اخلاقی درک خود را از نرمافزارهای مخرب بهبود بخشند تا یک قدم جلوتر از عاملان تهدید حرکت کنند.
به همین دلیل است که تجزیه و تحلیل بدافزار اهمیت پیدا میکند. تجزیه و تحلیل بدافزار عبارت است از: «فرایند بررسی و تشریح بدافزار برای درک اجزای هستهای و کد منبع آن، بررسی ویژگیها، عملکرد، منشأ و تأثیرگذاری آن جهت کاهش تهدید و پیشگیری از حوادث در آینده.»
بیایید تعریف تجزیه و تحلیل بدافزار و اهداف آن را دقیقتر بررسی کنیم:
- بدافزار را تشریح میکند: بخش بزرگی از تجزیه و تحلیل بدافزار ابهامزدایی از بدافزار و تهدیدات سایبری برای افزایش آگاهی است. بالاخره، بدافزار فقط یک برنامهی نرمافزاری است که با هدف مشخصِ ایجاد آسیب نوشته شده است. درک کردن کد و نحوهی کار آن برای مسدود کردن راه بدافزار یا حداقل گسترش آن روی اکوسیستم حیاتی است.
- ویژگیهای آن را بررسی میکند: هر نرمافزاری ردپای دیجیتال منحصربهفردی دارد و بدافزار نیز از این قاعده مستثنا نیست. یک نوع یا خانواده از بدافزار چه رویکردی به داده دارد؟ چگونه پخش میشود؟ سرعت همسانسازی و تاکتیک استتار آن چیست؟ شناخت ویژگیهای دقیق بدافزار باعث میشود که شناسایی آن سادهتر گردد.
- عملکرد آن را مشخص میکند: این عنصر، یکی از عناصر حیاتی تجزیه و تحلیل بدافزار است و درست انجام دادنش کار دشواری است. بدافزار معمولاً مخفیانه صبر میکند تا وقتی که زمان حمله فرا برسد. این امر بدین معناست که تا قبل از اینکه دیر شده باشد، عملکرد آن برای کاربر مشخص نمیشود. تجزیه و تحلیل بدافزار سعی میکند با بررسی کد نرمافزار، عملکرد موردنظر برای آن را تعیین کند.
- منشأ بدافزار را ردیابی میکند: ردیابی کردن بدافزارها میتواند بسیار دشوار باشد و هکرها با نگه داشتن داده برای دریافت باجهای هنگفت از این امر سوءاستفاده میکنند. تجزیه و تحلیل بدافزار سعی میکند از ناشناس بودن کدگذار عبور کرده و کد را تا مبدأ خود ردیابی کند؛ این مبدأ میتواند یک فرد، یک IP، یک مکان جغرافیایی یا حتی یک سازمان باشد. این امر به دخالت مراجع قانونی در طول حمله کمک میکند.
- سعی میکند تأثیر را پیشبینی کند: با کنار هم قرار دادن سرنخهای بالا، میتوان به درک مناسبی از تأثیرگذاری رسید. عملکرد، طبیعت سیستمهای هدف، سرعت رشد و کانالهای توزیع ترجیحی نشاندهندهی بدترین سناریوی تأثیر بدافزار هستند. این امر به شرکتها کمک میکند فرایندهای اصلاحی را پیادهسازی کنند.
تجزیه و تحلیل بدافزار مهارتی بسیار فنی و نیازمند سالها تجربه است. به همین دلیل است که متخصصانی مثل تحلیلگران بدافزار یکی از پردرخواستترین افراد در سازمان هستند. تحلیلگر بدافزار یکی از شغلهایی است که بهسرعت رو به رشد است و درخواست آن در ایالاتمتحده کشورهای دیگری که به بلوغ دیجیتال رسیدهاند در حال افزایش است. در ژوئن ۲۰۱۷، ۱۷۲۶ شغل برای تحلیلگران بدافزار وجود داشت که فقط ۵۲ کاندید برای آنها درخواست دادند. دلیلش این است که تجزیه و تحلیل بدافزار یک فرایند دشوار است و نیاز به دانش گسترده، صبر زیاد و گاهی اوقات تفکر هنجارشکن دارد.
فرایند تجزیه و تحلیل بدافزار
در ادامه بینش عمیقتری به فرایند تجزیه و تحلیل بدافزار ارائه میشود:
قدم ۱: گرفتن بدافزار
قبل از خودِ تجزیه و تحلیل، باید به یک کد مخرب با فرمت فشرده نشده دسترسی پیدا کرد. میتوان برای جذب بدافزار و گرفتن آن از ابزاری مثل HoneyDB با محیط کاربری سادهای استفاده کرد.
قدم ۲: ساختن آزمایشگاه بدافزار
یک آزمایشگاه تجزیه و تحلیل بدافزار محیط امنی است که میتوان درون آن عملکردهای بدافزار مختلف را تست کرد، بدون اینکه فایلهای نزدیک دچار ریسک شوند. معمولاً آزمایشگاههای بدافزار برای Sandbox کردن کل تجربه به ماشینهای مجازی اتکا میکنند.
قدم ۳: نصب ابزار خود
میتوان از چندین ابزار برای تجزیه و تحلیل بدافزار استفاده کرد، از جمله گزینههای متنباز و غیر رایگان. در GitHub میتوان پشتیبانی زیادی در این مورد پیدا کرد. همچنین میتوان از Cuckoo Sandbox و توانمندسازهای تجزیه و تحلیل معادل دیگر استفاده کرد. این ابزار باید در VMها نصب شوند.
قدم ۴: ثبت مبنا
قبل از اجرای بدافزار، باید محیط اجرایی را ارزیابی کرده و آن را بهعنوان مبنا ثبت کرد. ابزاری که در VM نصب شدهاند در اینجا مفید خواهند بود؛ اجرای این ابزار در آینده (پس از فعال شدن بدافزار) رفتار و تأثیرگذاری بدافزار را نشان میدهد.
قدم ۵: شروع تحقیق و بررسی
مرحلهی تحقیق و بررسی چندین قدم دارد. برخی از این قدمها نیازمند اقدامات دستی زیادی هستند، درحالیکه در قدمهای دیگر از ابزار خودکارسازی استفاده میشود. قبل از شروع این مراحل باید بدافزار را تجزیهوتحلیل کرد تا مشخصات آن در هر لایه معلوم شود.
قدم ۶: ثبت نتایج
بسته به نوع ابزار مورداستفاده، اطلاعات دقیقی در مورد رفتار و رویههای بدافزار و الگوهای تعاملی در محیط دیجیتال آن به دست خواهد آمد. باید این نتایج را در یک سند جامع کنار هم قرار داد که درواقع نتیجه تجزیه و تحلیل بدافزار خواهد بود.
امروز تجزیه و تحلیل بدافزار در قلب نوآوری امنیت سایبری قرار دارد. تحلیلگران میتوانند برای به دست آوردن دانش کافی در مورد بدافزار، با دولتها، سازمانهای غیرانتفاعی، موسسههای پژوهشی و شرکتها کار کنند.
انواع تجزیه و تحلیل بدافزار
بهطورکلی، دو نوع تجزیه و تحلیل بدافزار وجود دارد، ایستا و پویا. همچنین میتوان تجزیه و تحلیل بدافزار را براساس تلاشهای لازم دستهبندی کرد و تجزیه و تحلیل دستی یا خودکار را انتخاب کرد. یک تمرین تجزیه و تحلیل کامل تمام این انواع را ترکیب میکند تا بدافزار با جزئیات بررسی شده و واکنش آن نسبت به رویکردهای مختلف تست شود.
۱. تجزیه و تحلیل استاتیک بدافزار
کد بدافزار شامل دو نوع عنصر است – ایستا و پویا. این نوع تجزیه و تحلیل روی عنصر اول تمرکز میکند و ویژگیهای ایستا مثل فراداده، Headerها، داراییهای کارگذاری شده و غیره را بررسی میکند. یک تجزیه و تحلیل ایستای سریع معمولاً اطلاعات موردنیاز برای ایجاد یک نشانهی تهدید امنیتی (IOC) را افشا میکند؛ این نشانه میتواند طبیعت مخرب نرمافزار را مشخص کند. درصورتیکه نتایج تجزیه و تحلیل ایستا مثبت باشند، کد بهعنوان یک برنامهنویسی بد کنار گذاشته میشود و نیاز به بررسی بیشتر آن نسبت به بدافزار بودن نیست.
۲. تجزیه و تحلیل پویای بدافزار
تجزیه و تحلیل پویا به بدافزار اجازه میدهد که در یک محیط کنترل شده کار خودش را انجام دهد، درحالیکه رفتارش مشاهده میشود. VMها در هنگام انجام تجزیه و تحلیل پویا حیاتی هستند، زیرا احتمال زیادی دارد که بدافزار آسیب غیرقابل جبرانی را به محیط Host بزند.
در طول تجزیه و تحلیل پویای بدافزار، چندین سیگنال رفتاری نیازمند توجه هستند، از جمله تعاملات آن با ترافیک شبکه، الگوهای هدفگیری فایل سیستم و هر تغییری در Registry.
مثلاً، پلتفرم Dynamic Malware Analysis یا DMA یک ابزار هدفمند است که برای انجام این نوع تجزیه و تحلیل توسط مرکز پاسخ به حادثه رایانهای لوکزامبورگ (CIRCL) ساخته شده. معماری «Now, Near, Deep» متعلق به VMRAY برای فیلتر کردن فایلها تجزیه و تحلیل پویا و کارهای دیگری را انجام میدهد.
با مبنا قرار دادن محیط Host قبل و بعد از تجزیه و تحلیل پویا، میتوان آگاهی بیشتری از رویههای رفتاری بدافزار به دست آورد. به همین دلیل است که این نوع تجزیه و تحلیل تحت عنوان تجزیه و تحلیل رفتاری نیز شناخته میشود.
۳. تجزیه و تحلیل دستی بدافزار
در یک تجزیه و تحلیل دستی، ممکن است تحلیلگر تصمیم بگیرد که بهطور دستی با استفاده از ابزاری مثل Debuggerها، Decompilerها و ابزار رمزگشایی کد را موشکافی کند. تجزیه و تحلیل دستی معمولاً هدف استراتژیک پشت نرمافزارهای مخرب را افشا میکند؛ زیرا تحلیلگر منطق اصلی پشت الگوریتم را بررسی کرده و سعی میکند منطق پشت عناصری که در ابتدا غیرضروری به نظر میرسند را نیز پیشبینی کند.
تجزیه و تحلیل دستی تحت عنوان معکوس کردن کد نیز شناخته میشود، زیرا در حقیقت از نرمافزار نهایی شروع میکنیم و در جهت معکوس به کد و سپس به منطق اصلی میرسیم.
۴. تجزیه و تحلیل خودکارسازیشده بدافزار
تجزیه و تحلیل خودکارسازیشده از طریق یک جریان کاری خودکار از بدافزار عبور میکند، جایی که ویژگیهای رفتاری و ایستای آن در آنجا تست میگردد. شاید این امر بینشهایی را به منطق نرمافزار فراهم نکند، اما برای درک دستهبندی گستردهتر آن و اینکه به چه خانواده بدافزاری تعلق دارد مفید است.
خودکارسازی میتواند گزارشات دقیقی را ایجاد کند و دادههایی را به سیستم پاسخ به رخداد تزریق میکند که فقط ضروریترین سیگنالها را به تحلیلگر انسانی میرساند.
هر نوع از تجزیه و تحلیل بدافزار هدف خود را دارد. پیشنهاد میشود که همهی آنها در کنار هم اجرا شوند تا تصویر جامعی از قابلیتهای برنامهی کاربردی مخرب و نحوهی پیشگیری از ورود آن به سیستمهای کاربر تشکیل گردد. بهخصوص، رویکرد مهندسی معکوس کد بهطور دستی در رسیدن به ریشهی مشکل به ما کمک میکند؛ یعنی اینکه چرا بدافزار ساخته شده بود.
موارد استفاده تجزیه و تحلیل بدافزار
شناسایی بدافزار
مهاجمین از تکنیکهای پیچیدهتری استفاده میکنند تا از مکانیزمهای شناسایی قدیمی اجتناب کنند. با فراهم کردن تجزیه و تحلیل رفتاری عمیق و شناسایی زیرساخت، عملکرد مخرب و یا کد مشترک، میتوان با کارآمدی بیشتری تهدیدات را شناسایی کرد. بهعلاوه، یکی از خروجیهای تجزیه و تحلیل بدافزار استخراج IOCها است. سپس ممکن است IOCها به SEIMها، پلتفرمهای هوش تهدیدات یا TIPها و ابزار تنظیم امنیتی تزریق شوند تا در هشداردهی به تیمها در مورد تهدیدات در آینده کمک شود.
تجزیه و تحلیل بدافزار: چالشها
تیمهای امنیتی تحت فشار هستند | زمان کوتاه است | مهاجمین باهوشتر شدهاند |
فقط ۴ درصد هشدارها بررسی میشوند | ۶۷ درصد زمان به دلیل تجزیه و تحلیل غلط از دست میرود | بدافزارهای فرار و پیشرفته متداولتر شدهاند |
هشدارهای تهدید و اولویتبندی
راهکارهای تجزیه و تحلیل بدافزار، هشدارهایی با دقت بالاتر را در اوایل چرخه عمر حمله ارائه میدهند. در نتیجه تیمها میتوانند با اولویتبندی نتایج این هشدارها نسبت به تکنولوژیهای دیگر در زمان صرفهجویی کنند.
پاسخ به حادثه
هدف تیم پاسخ به رخداد یا IR این است که تجزیه و تحلیل ریشهی حمله را فراهم کند، میزان تأثیرگذاری را مشخص کند و در بازیابی و اصلاح موفق شود. فرایند تجزیه و تحلیل بدافزار در کارآمدی و بهرهوری این تلاش مفید است.
شکار تهدید
تجزیه و تحلیل بدافزار میتواند رفتار و مصنوعاتی (Artifact) را افشا کند که شکارچیان تهدید میتوانند با استفاده از آنها فعالیت مشابهی مثل دسترسی به یک اتصال، پورت یا دامین شبکه بهخصوص را پیدا کنند. با جستجوی لاگهای پراکسی و فایروال یا دادههای SIEM، تیمها میتوانند از این دادهها استفاده کرده و تهدیدات مشابهی را پیدا کنند.
تحقیقات در مورد بدافزار
پژوهشگران بدافزار آکادمیک یا صنعتی تجزیه و تحلیل بدافزار را انجام میدهند تا به درکی از آخرین تکنیکها، Exploitها و ابزار مورداستفادهی مهاجمین برسند.
تجزیهوتحلیل عمیق | مزایا | نتیجه |
مانیتورینگ در Kernel انجام میشود. تست و بررسی بهطور روزانه انجام میگیرد | غیرقابل شناسایی توسط اکثر بدافزارهای فرار | همیشه بهروز شناسایی تهدیدات Zero-day IOCهای کاربردی |
تجزیهوتحلیل Hybrid و تجزیهوتحلیل حافظهی دقیق | فعالیتها را تا CPU افشا کرده و IOCهای بیشتری را استخراج میکند | |
قابلیت دید جامع در مورد فعالیت شبکه | افشای اتصالات دامین و ترافیک شبکه |
مراحل کلیدی تجزیه و تحلیل بدافزار
میتوان تجزیه و تحلیل بدافزار را به سه مرحلهی کلیدی تقسیم کرد. این مراحل با انواع تجزیه و تحلیل بدافزار که بالاتر نامبرده شدند منطبق هستند و به ما دید دقیقتری به جوانب مختلف هویت و ویژگیهای بدافزار میدهند.
۱. مشاهدهی رفتار بدافزار
در مراحل اولیه، تحلیلگران بدافزار ابزار یا اقدامات دستی و کوتاهی را اجرا میکنند تا بدافزار را مجبور کنند واکنش نشان دهد. وقتی که بدافزار به محیط اطراف خود (روی یک VM) واکنش نشان داد، درک اینکه بیخطر است یا تهدید محسوب میشود تسهیل میگردد.
Wireshark یک ابزار محبوب است که برای مشاهدهی رفتار بدافزار مورداستفاده قرار میگیرد، ابزاری که شرایط مختلف شبکه را شبیهسازی میکند و رفتار بدافزار را در مواجهه با پروتکلهای مختلف بررسی میکند. مطالعات رفتاری میتواند بهسادگی اجرای آنتیویروس در محیط مجازی باشد با این هدف که پاسخهای بدافزار چک شود. با ترکیب استراتژیهای دستی و خودکار، میتوان از چارچوب تجزیه و تحلیل رفتاری استفاده کرد تا یک اسکریپت تجزیه و تحلیل ایجاد شود که در یک محیط مجازی زنده، بدافزار را تست میکند.
۲. موشکافی کد
موشکافی کد شامل تجزیه و تحلیل ایستا (جایی که به عناصر تغییرناپذیر کد بدافزار نگاه میشود) و همچنین منطق درونی آن است. موشکافی کد تا حد زیادی به تلاشهای دستی بستگی دارد، به همین دلیل است که پیشنهاد میشود تحلیلگران بدافزار دانش باینری و زبان اسمبلی داشته باشند. همچنین میتوان از Disassemblerهای آماده استفاده کرد تا برنامه بدافزار موشکافی شود و منطق آن از باینری اصلی به زبان اسمبلی تبدیل شود. معمولاً سه نوع ابزار میتوانند در این مرحله مفید باشند:
- یک دیساسمبلر ساختار بدافزار را میشکند و آن را به باینری ابتدایی خود تبدیل میکند و سپس آن را به زبان اسمبلی که برای تحلیلگر انسانی قابلدرک باشد بازسازی میکند.
- یک Debugger کد را بررسی کرده و عناصر مشکوک یا غیرعادی کد را که تحلیلگر بدافزار باید بیشتر بررسیاش کند مشخص میکند.
- یک Decompiler کد منبع اصلی یک برنامه را بازسازی میکند و میتواند به شناسایی اثرانگشت دیجیتال Coder تا مبدأ آن کمک کند.
دو مرحلهی اول روی هویت سطحی و رفتار محیطی بدافزار تمرکز میکند، درحالیکه مرحلهی بعدی تأثیرگذاری احتمالی آن را بررسی میکند.
۳. بررسی حافظه
در این مرحله، به سراغ Artifactهای جرمشناسی میرویم که توسط بدافزار روی حافظهی سیستم جا ماندهاند. سایز بدافزار بهطور متوسط ۱ MB یا کوچکتر است، پس مشاهدهی وضعیت حافظهی آن در محیطهای رایانشی روزمره دشوار است. آزمایشگاه تجزیه و تحلیل بدافزار شرایط ضروری را برای محک زدن وضعیت حافظه قبل از بدافزار، اجرای آن و سپس استخراج Artifactها از نتایج آن فراهم میکند.
تجزیه و تحلیل حافظه میتواند بسیار دشوار باشد، زیرا شما با یک برنامه کاربردی بسیار سبک که برای مخفیکاری طراحی شده است، بهدنبال بیشترین دقایق ردپای دیجیتال میگردید. خوشبختانه، چندین ابزار وجود دارد که در این مرحله به ما کمک میکنند، مثلاً Memoryze، یک ابزار رایگان که Imageهای حافظه را تجزیهوتحلیل میکند تا تمام فرایندهای در حال اجرا (از جمله موارد مخفی) را فهرست کند، درایورهای بارگذاریشده را شناسایی کند، Signatureها درایور را تائید کند و هر سوکت باز را نمایش دهد.
بهعبارتدیگر، حتی بعدازاینکه اجرای بدافزار متوقف شد، این مرحله اطلاعات بیشتری را در مورد رفتار فراهم میکند. در این سه مرحله هدف ما این است که بیشتر در مورد بدافزار، نحوهی کار آن و نحوهی پاسخ آن در سناریوهای مختلف بیاموزیم. برای تسهیل این فرایند، تحلیلگران بدافزار میتوانند مجموعهای از بهترین راهکارهای کلیدی را دنبال کنند.
شش راهکار برتر تجزیه و تحلیل بدافزار
درحالیکه تهدیدات سایبری پیچیدهتر میشوند، هکرهای اخلاقی و تحلیلگران بدافزار باید در کنار آنها تکامل پیدا کنند. فرایند تجزیه و تحلیل End-to-End میتواند پیچیده و نیازمند دانش نسبت به صنعت، تفکر نوآورانه و ابزار مناسب باشد. اما میتوان با راهکارهای زیر، آن را بهشدت تسهیل کرد:
۱. گسترش سایز نمونههای بدافزار بهطور مداوم
اگر به تعریف تجزیه و تحلیل بدافزار نگاه کنیم، میبینیم که قدم اول گرفتن نرمافزار در یک فرمت قابلکنترل است. نتایج تجزیه و تحلیل مستقیماً به نمونهی مورداستفاده بستگی دارند و هرچقدر نمونه ناآشناتر باشد، نتایج تجزیه و تحلیل نیز تأثیرگذارتر خواهد بود. باید به یاد داشت که تجزیه و تحلیل بدافزار یک فعالیت پس از حمله نیست که برای پیدا کردن راه حل بررسیهایی انجام شود. بلکه یک اقدام تحقیقی است که درک ما را از بدافزار و انواع مختلف خانوادههای بدافزار تقویت میکند. به همین دلیل است که تحلیلگران بدافزار باید به دنبال انواع جدید تهدید باشند و با هکرهای اخلاقی، سازمانها و شرکتهای امنیت سایبری همکاری کنند تا تازهترین حملات مشاهدهشده تجزیه و تحلیل گردد. در مقابل یک نمونهی کوچک و محدود همواره نتایج مشابهی را ارائه میدهد، بدون اینکه تأثیر معناداری ایجاد گردد.
۲. استفاده از خودکارسازی برای بهینهسازی تلاشها
با اینکه به دخالت دستی نیز نیاز خواهد شد، خودکارسازی میتواند به کاربر کمک کند زمان تجزیه و تحلیل خود را کوتاه کرده و اطمینان حاصل نماید که تلاشهایش در جهت درستی هستند. مثلاً، عناصر ایستای کد بدافزار را میتوان به آسانی با یک اسکریپت خودکارسازی چک کرد تا نیازی به تحلیلگر انسانی نباشد. بهطور مشابه، بازسازی دستی شرایط شبکه و ارائهی پروتکلهای ارتباطی مختلف به برنامهی کاربردی مخرب خیلی کارآمد نیست. ابزار خودکارسازیشده میتوانند به دستیابی به این موارد کمک کنند و به کاربر پروفایل دقیقی از رفتار بدافزار در شرایط عادی بدهند و همچنین ویژگیهای ایستایی را مشخص کنند که بهسادگی قابلتشخیص بوده و کمک میکنند که بدافزار در یک خانوادهی بهخصوص قرار گیرد. حال که نیازی به انجام این کارها نیست، میتوانیم به مهندسی معکوس کد بپردازیم تا به منطق زیرلایهای برنامه کاربردی برسیم. فقط با درک منطق هستهای بدافزار میتوان سیستمهایی کاملاً ایمن ساخت. ترکیب عاقلانهی تفکر انسانی و خلاقانه و خودکارسازی کارآمد میتواند در تسریع این مهم به ما کمک کند.
۳. استفاده از یک محیط ایمن برای اجرای بدافزار
اجازه دادن به اجرای بدافزار، همیشه سیستمی که روی آن Host شده است را خراب میکند. بهعلاوه، همیشه این ریسک وجود دارد که بدافزار خودش را به یک فایل Portable متصل کند و به محیطی خارج از محیط کنترلشده منتقل شود. ماشینهای مجازی میتوانند بهشدت در ایجاد محیط Sandbox که بهعنوان یک آزمایشگاه تجزیه و تحلیل بدافزار کار میکند مفید باشند. برنامه کاربردی فضای زیادی برای تعامل با اطراف خود دارد، ویژگیهای رفتاری بهخصوص را نمایش میدهد و خود را از طریق اقدامات خود آشکار میکند. یک VM همچنین اجرای جرمشناسی حافظه را تسهیل میکند، زیرا مرزهای مشخصی وجود دارد که تحقیقات باید در چارچوب آنها انجام گردد. اگر یک محیط فیزیکی داشته باشیم، باید سیستمهایی را مد نظر قرار دهیم که برای تجزیه و تحلیل بدافزار طراحی شدهاند.
۴. فقط بدافزارهایی باید تجزیه و تحلیل شوند که زیرساخت از راه دور آنها در حال اجرا است
اکثر انواع بدافزار از راه دور کنترل میشوند، دادهها را از سیستم کاربر ضبط میکنند و آنها را به عامل مخرب انتقال میدهند. اما اگر مدت زیادی باشد که برنامه کاربردی در یک آرشیو یا قرنطینه قرار داشته باشد، بهاحتمالزیاد زیرساخت از راه دور آن دیگر فعال نخواهد بود. این یکی از چالشهای متداول استفاده از نمونههای بدافزاری است که مدتی از عمرشان گذشته، زیرا زمانی که بدافزار دیگر پاسخ ندهد مرحلهی تجزیه و تحلیل منقطع میشود. اگر از این رویکرد استفاده کنیم، میتوانیم مجموعه نمونههای خود را به بهترین کاندیداها محدود کرده و برنامهی تجزیه و تحلیل بدافزار را بهصورت End-to-End در هر سه مرحله اجرایی کنیم.
۵. گرفتن و ذخیره کردن Snapshotهای VM Image
اکثر ماشینهای مجازی میتوانند Snapshot بگیرند و وضعیت کنونی خود را در یک Image ثبت و نگهداری کنند. درحالیکه محیط را برای تجزیه و تحلیل بدافزار آماده میکنیم، یعنی برنامه کاربردی را میگیریم، آن را وارد سیستم میکنیم و ابزار را نصب میکنیم باید بهصورت منظم Snapshot بگیریم. درحالیکه بدافزار را اجرا میکنیم و رفتار آن را در طول زمان مشاهده میکنیم، ذخیرهی این Snapshotها به ما این امکان را میدهد که به نسخهی قدیمیتری از محیط برگردیم. این باعث میشود بتوانیم تکنیک تجزیه و تحلیل بدافزار را به حالت بدون نقص برسانیم، هر خطایی را برطرف کنیم و در صورت نیاز دسترسی مجدد به محیط به دست آوریم.
۶. انجام تحقیقات و انتخاب بهترین ابزار تجزیه و تحلیل بدافزار
با تکامل بازار تجزیه و تحلیل بدافزار و معرفی ابزار جدید که کار تحلیلگر را آسان میکنند، این راهکار به یکی از راهکارهای ضروری تبدیل شده است.
در سال ۲۰۱۸، بازار تجزیه و تحلیل بدافزار در کل دنیا ۳.۲۷ میلیارد دلار ارزش داشت و انتظار میرود که این مقدار تا سال ۲۰۲۶ با نرخ رشد ۲۸.۵% به ۲۴.۱۵ میلیارد دلار برسد. با انجام تحقیقات، میتوان بهترین ابزار را برای پروژهی خود پیدا کرد و برای بدافزار موردنظر یک نمونهی دقیق ساخت.
در ادامه برخی از بهترین ابزار در سال ۲۰۲۱ معرفی میشود:
- پلتفرم CIRCL Dynamic Malware Analysis یا DMA – یک سرویس عمومی که به کاربران این امکان را میدهد که بدافزار را در یک محیط کنترلشده تجزیه و تحلیل کنند، بهطور ایمنی اسناد حساس را آپلود کنند و کارهای پیشرفتهای مثل جرمشناسی حافظه انجام دهند.
- Dinoflux – یک پلتفرم تجزیه و تحلیل بدافزار که رفتار را بررسی میکند، از تکنیکهای مهندسی معکوس استفاده میکند و نشانههای تهدیدات امنیتی را مشخص کرده و با مرکز عملیات امنیت یا SOC یکپارچهسازی میشود.
- Sandbox – یک پلتفرم تحقیقات در مورد بدافزار که از هوش مصنوعی یا AI و تجزیه و تحلیل درایور پیشرفته قدرت گرفته است و یک Agent نامرئی دارد که بدافزار را مجبور میکند عملکرد کامل خود را افشا کند.
حتی یک نگاه اجمالی به وضعیت امنیت سایبری امروز انواع مختلفی از بدافزار را نشان میدهد که تعدادشان هر روز بیشتر میشود. تخمین زده میشود که هر روز بیش از ۳۵۰۰۰۰ کد مخرب جدید شناسایی میگردد. درک تجزیه و تحلیل بدافزار، مراحل آن و بهترین راهکارهای آن برای جلو بودن از مجرمان و ایمن ماندن ضروری است.