راهنمای جامع روش های تجزیه و تحلیل بدافزار برای کارشناسان امنیتی

راهنمای جامع روش های تجزیه و تحلیل بدافزار برای کارشناسان امنیتی

تجزیه و تحلیل بدافزار برای ارزیابی عملکرد و فرآیند آلودگی آنها کار آسانی نیست. در این مقاله ابزارهای تجزیه و تحلیل بدافزارها، راهنماها و سایر اطلاعات مفید در این زمینه را به طور کامل بررسی خواهیم کرد.

تجزیه و تحلیل بدافزار چیست؟

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

راهنمای تجزیه و تحلیل بدافزار

در این راهنما، ما به انواع تجزیه و تحلیل و ابزارهای دخیل در بررسی بدافزارها نگاه می کنیم. این روش ها و ابزارها عبارتند از:

  • تجزیه و تحلیل استاتیک بدافزار
  • تجزیه و تحلیل بدافزار پویا
  • بررسی امنیت حافظه
  • تجزیه و تحلیل دامنه وب
  • تجزیه و تحلیل تعاملات شبکه
  • اشکال زدایی و رفع اشکال
  • تجزیه و تحلیل لینک های مخرب
  • تکنیک جعبه شنی

تجزیه و تحلیل استاتیک بدافزار

این فرآیند شامل استخراج و بررسی مولفه‌های باینری مختلف و رفتارهای ثابت یک فایل اجرایی بدون اجرای آن، از جمله هدرهای API و DLLهای مرجع، بخش‌های PE و سایر اطلاعات از این قبیل است. در بررسی ایستا هرگونه رفتار غیرعادی ثبت می شود و بر اساس آن تصمیم گیری می شود. تجزیه و تحلیل استاتیک بدون اجرای بدافزار انجام می شود و تجزیه و تحلیل پویا با اجرای در یک محیط کنترل شده انجام می شود.

  1. جداسازی قطعات[۱]: نرم افزار را می توان با کامپایل کردن کد در محیطی متفاوت به پلتفرم های رایانه ای جدید منتقل کرد.
  2. اثر انگشت فایل: استراتژی های پیشگیری از اتلاف شبکه برای شناسایی و ردیابی داده ها در سطح شبکه.
  3. اسکن ویروس: ابزارهای اسکن ویروس و دستورالعمل‌هایی برای حذف بدافزارها، ویروس‌ها، جاسوس‌افزارها و انواع دیگر تهدیدات. مثال: VirusTotal، Payload Security.
  4. تجزیه و تحلیل مصنوعات ایجاد شده در حافظه: هنگام بررسی اطلاعات و رویدادها در حافظه [مثل تخلیه رم، sys و hiberfile.sys] بازرس می تواند فرآیند شناسایی پردازش نادرست را آغاز کند.
  5. کشف بسته بندان[۲] (بسته بندی): تشخیص بسته‌بندی برای شناسایی بسته‌کننده‌ها، کامپایلرها، اسمبلرها، نصب‌کننده‌ها، بسته‌کننده‌ها، رمزگذارها و غیره استفاده می‌شود.

ابزارهای تجزیه و تحلیل بدافزار استاتیک

تجزیه و تحلیل ترکیبی
Virustotal.com
BinText
واکر اعتیاد
IDA
Md5deep
PEID
Exeinfo PE
بسته بندی RDG
نقطه D4
PEview

تجزیه و تحلیل بدافزار پویا چیست؟

تجزیه و تحلیل پویا باید اولین روشی باشد که یک تحلیلگر برای شناسایی بدافزار استفاده می کند. تجزیه و تحلیل پویا یک ماشین مجازی ایجاد می کند که برای تجزیه و تحلیل بدافزار استفاده می شود. بدافزار همچنین با استفاده از محیط sandbox و فرآیند نظارت بر بدافزار و تجزیه و تحلیل بسته های تولید شده توسط بدافزار تجزیه و تحلیل می شود.

یک نکته مهم برای محیط های مجازی

جداسازی محیط برای جلوگیری از فرار بدافزار بسیار مهم است.

ابزارهای تحلیل بدافزار پویا

پروکمون
Process Explorer
آنوبیس
تجزیه و تحلیل بدافزار فوری Comodo
Regshot نظارت بر فرآیند
ApateDNS
OllyDbg
رگشات
نت کت
Wireshark

بررسی امنیت حافظه

حافظه فرار می تواند حاوی اطلاعات ارزشمندی در مورد وضعیت سیستم باشد و امکان برقراری ارتباط بین آن و اطلاعات به دست آمده از تجزیه و تحلیل اسکن امنیتی سنتی (در شبکه، سیستم فایل، رجیستری) وجود دارد.

  1. ایجاد یک تصویر (تصویر) از کل محدوده حافظه سیستم (بدون استفاده از فراخوانی API).
  2. تصویری از کل فضای آدرس یک فرآیند، از جمله فایل‌های DLL و EXE، پشته‌ها و پشته‌های بارگیری شده توسط فرآیند ایجاد کنید.
  3. ایجاد یک تصویر از یک درایور خاص یا همه درایورهای بارگذاری شده در حافظه دیسک؛
  4. هش کردن فایل های EXE و فایل های DLL در فضای آدرس پردازش (MD5، SHA1، SHA256).
  5. اعتبار سنجی امضای دیجیتال فایل های EXE و DLL (روی دیسک).
  6. خروجی تمام رشته ها در حافظه به روشی پردازش محور.

ابزارهای مفید

  • WinDbg: یک دیباگر هسته برای سیستم های ویندوز
  • مونین: اسکریپتی برای خودکارسازی بخش‌هایی از تجزیه و تحلیل با استفاده از نوسانات
  • DAMM: تجزیه و تحلیل دیفرانسیل بدافزار درون حافظه که در Volatility تعبیه شده است
  • AES را پیدا کنید: کلیدهای رمزگذاری AES را در حافظه پیدا کنید
  • نوسان: یک چارچوب توسعه یافته برای بررسی امنیت حافظه

تشخیص بدافزار

مطابقت بر اساس امضا یا الگو: امضا یک الگوریتم یا هش (عددی مشتق شده از یک رشته متن) است که به طور منحصر به فرد یک ویروس خاص را شناسایی می کند.

تجزیه و تحلیل اکتشافی یا حفاظت فعال: اسکن اکتشافی شبیه به اسکن امضا است، با این تفاوت که اسکن اکتشافی به جای جستجوی امضاهای خاص، به دنبال دستورالعمل ها یا دستورات خاصی در نرم افزار می گردد که معمولاً در نرم افزار یافت نمی شوند.

مبتنی بر قانون: بخشی از موتور اکتشافی که تجزیه و تحلیل را انجام می دهد، قوانین را از یک فایل بازیابی می کند و آن قوانین را با مجموعه ای از قوانین تعریف شده برای کد مخرب مقایسه می کند.

انسداد رفتاری: این روش که بر اساس نظارت بر رفتارهای مشکوک کار می کند، به دنبال شناسایی ویروس های شناخته شده نیست، بلکه بر رفتار همه نرم افزارها نظارت می کند.

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

جعبه شنی: فایل را در یک سیستم مجازی کنترل شده (به نام sandbox) اجرا می کند تا محققان بتوانند اثربخشی آن را آزمایش کنند.

ابزارهای ضروری برای تجزیه و تحلیل بدافزار

  • YARA: ابزار تطبیق الگو برای تحلیلگران.
  • Yara Rule Generator: قوانین YARA را بر اساس مجموعه ای از بدافزارها ایجاد می کند. همچنین شامل یک پایگاه داده از رشته های صحیح و غیر مخرب برای جلوگیری از تشخیص مثبت کاذب است.
  • چارچوب اسکن فایل: یک راه حل اسکن فایل مقیاس پذیر و بازگشتی.
  • هش عمیق: هش ها را با الگوریتم های مختلف محاسبه می کند.
  • Loki: یک اسکنر تشخیص نفوذ مبتنی بر میزبان
  • خرابی: ویژگی های بدافزار را در سطح عملکردی ارزیابی و مقایسه می کند.
  • ماستیف: یک چارچوب تحلیل ایستا

تجزیه و تحلیل دامنه وب

در این فرآیند مهندس نرم افزار اطلاعات اولیه را یاد می گیرد و دامنه ها و آدرس های IP را بررسی می کند. تجزیه و تحلیل دامنه باید شامل خلاصه ای از اطلاعات به دست آمده، همراه با مراجعی باشد که به دیگران در یافتن این اطلاعات کمک کند.

ابزارهای مهم

  • SpamCop: فهرست بلاک اسپم بر اساس IP
  • SpamHaus: فهرست بلاک بر اساس دامنه و IP
  • Sucuri SiteCheck: امنیت سایت رایگان و اسکنر بدافزار
  • TekDefense Automatic: ابزار OSINT برای جمع آوری اطلاعات در مورد اتصالات، آدرس های IP یا هش
  • URLQuery: اسکنر URL رایگان
  • IPinfo: اطلاعات IP یا دامنه را با جستجو در منابع آنلاین جمع آوری می کند.
  • Whois: جستجوی دامنه آنلاین رایگان
  • mailcheck: یک کتابخانه موقت چند زبانه برای شناسایی ایمیل

تجزیه و تحلیل بدافزار بر اساس تعاملات شبکه

در این روش ضمن تمرکز بر امنیت شبکه، تحلیل کلی تری از ترافیک شبکه نیز انجام می شود. ابزار مانیتورینگ و ضبط شبکه غیرفعال برای کشف سیستم عامل ها، جلسات، نام هاست، پورت های باز و غیره بدون ایجاد ترافیک شبکه.

IPv4/6، TCP، UDP، ICMPv4/6، IGMP و Raw را از طریق اترنت، PPP، SLIP، FDDI، Token Ring و همه رابط‌ها و منطق فیلتر BPF را به شیوه‌ای مشابه با رایج‌تر sniffing بسته بازرسی می‌کند.

ابزارهای مهم

  • Tcpdump: ترافیک شبکه را جمع آوری می کند.
  • tcpick: جریان های TCP از ترافیک شبکه را انتخاب و دوباره جمع می کند.
  • tcpxtract: فایل ها را از ترافیک شبکه استخراج می کند.
  • Wireshark: ابزار تحلیل ترافیک شبکه
  • CapTipper: کاوشگر ترافیک HTTP مخرب
  • chopshop: یک چارچوب رمزگشایی و تجزیه و تحلیل پروتکل
  • CloudShark: یک ابزار تشخیص ترافیک بدافزار مبتنی بر وب و تجزیه و تحلیل بسته ها

اشکال زدایی و رفع اشکال (اشکالاتایناز کار انداختن)

دیباگرها امکان تجزیه و تحلیل کدهای سطح پایین را فراهم می کنند. یکی از مهمترین ویژگی های یک دیباگر وجود یک نقطه شکست (یا نقطه شکست) است. زمانی که برنامه به نقطه شکست رسید، اجرای آن متوقف می شود و کنترل برنامه به دیباگر داده می شود تا امکان تحلیل محیط در آن نقطه وجود داشته باشد.

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

ابزارهای مهم

  • obj dump: بخشی از GNU Binutils برای تجزیه و تحلیل استاتیک باینری های لینوکس
  • OllyDbg: یک دیباگر در سطح اسمبلی برای فایل های اجرایی ویندوز
  • FPort: پورت های UDP و TCP/IP را در یک سیستم فعال می خواند و آنها را با برنامه مربوطه مرتبط می کند.
  • GDB: دیباگر گنو
  • IDA Pro: دیباگر و جداسازی ویندوز با آزمایش رایگان
  • Immunity Debugger: یک دیباگر برای تجزیه و تحلیل بدافزار و موارد دیگر با یک API Python

تجزیه و تحلیل لینک های مخرب

امروزه وب سایت ها در معرض تهدیدات مختلفی قرار دارند. هکرها وب سایت ها را کنترل می کنند تا از آسیب پذیری های آنها سوء استفاده کنند. به عنوان مثال، تغییر مسیر URL برای انجام حملات وب مخفیانه استفاده می شود. تغییر مسیر به جایگزینی خودکار مقصد نهایی یک اتصال اشاره دارد و معمولاً در شبکه توسط پروتکل HTTP کنترل می شود.

علاوه بر این روش، روش های دیگری برای دسترسی خودکار به محتوای وب خارجی استفاده می شود. به عنوان یک برچسب iframe که مخصوصا برای حملات وب بسیار مفید است.

ابزارهای مهم

  • Firebug: افزونه فایرفاکس برای توسعه وب
  • Java Decompiler: برنامه های نرم افزاری نوشته شده در جاوا را کامپایل و بررسی می کند.
  • jsunpack-n: یک بازکننده جاوا اسکریپت که عملکرد مرورگر را شبیه سازی می کند.
  • Krakatau: Decompiler، Assembler و Disassembler جاوا
  • Malzilla: صفحات وب مخرب را تجزیه و تحلیل می کند.

تکنیک جعبه شنی

Sandbox یکی از سیستم های امنیتی مهمی است که نرم افزار را جدا می کند تا از آسیب دیدن سایر قسمت های کامپیوتر توسط نرم افزارهای مخرب جلوگیری کند. یک محیط sandbox کاری را که کد می تواند انجام دهد محدود می کند و فقط دسترسی مورد نیاز را به آن می دهد، نه دسترسی که می تواند سوء استفاده کند.

ابزارهای مهم

  • firmware.re: تقریباً هر بسته سفت‌افزاری را باز می‌کند، اسکن می‌کند و آنالیز می‌کند.
  • تجزیه و تحلیل ترکیبی: ابزار تجزیه و تحلیل بدافزار آنلاین بر اساس VxSandbox
  • IRMA: یک بستر تحلیل ناهمزمان و تطبیقی ​​برای بررسی پرونده های مشکوک
  • Cuckoo Sandbox: جعبه ماسهبازی منبع باز و سیستم تجزیه و تحلیل خودکار
  • cuckoo-modified: نسخه اصلاح شده جعبه شنی فاخته که تحت GPL منتشر شده است.
  • PDF Examiner: فایل های PDF مشکوک را تجزیه و تحلیل کنید
  • ProcDot: یک جعبه ابزار گرافیکی برای تجزیه و تحلیل بدافزار
  • Recomposer: یک اسکریپت کمکی که برای آپلود ایمن باینری ها در سایت های sandbox طراحی شده است.
  • Sand Droid: یک سیستم تجزیه و تحلیل خودکار و جامع برنامه اندروید

نتیجه

در این مقاله روش ها و ابزارهای مختلف تجزیه و تحلیل بدافزار را که می توان برای این کار مورد استفاده قرار داد، بررسی کردیم.

[۱] جداسازی قطعات

[۲] یک ابزار منبع باز برای ایجاد تصاویر ماشینی یکسان برای پلتفرم های مختلف از یک فایل پیکربندی واحد.

منبع: csoonline