تحلیل بدافزارها برای ارزیابی عملکرد و فرایند آلودهسازیشان کار چندان سادهای نیست. در این مطلب ابزارها، راهنماهای تحلیل بدافزار و سایر اطلاعات مفید در این زمینه را به صورت کامل بررسی میکنیم.
تحلیل بدافزار چیست؟
تحلیل بدافزار شامل فرایند تحلیل نمونههای خانوادههای بدافزار مثل تروجان، ویروس، روتکیت، باجافزار و جاسوسافزارها در یک محیط ایزوله و با هدف تشخیص نوع، نحوه آلودهسازی، هدف و عملکرد بدافزارها است. محققان امنیتی با استفاده از روشهای مختلف و براساس رفتار بدافزار ابتدا انگیزه بدافزار و سپس روش مناسب برای مقابله با آن را مشخص میکنند.
راهنمای تحلیل بدافزار
در این راهنما انواع تحلیلها و ابزارهای مربوط به بررسی بدافزار را بررسی میکنیم. این روشها و ابزارها عبارتند از:
- تحلیل ایستای بدافزار
- تحلیل پویای بدافزار
- بازرسی امنیتی حافظه
- تحلیل دامنه وب
- تحلیل تعاملات شبکه
- دیباگ (اشکال زدایی) و دیباگر
- تحلیل لینکهای مخرب
- تکنیک سندباکس
تحلیل ایستای بدافزار
این فرایند شامل استخراج و بررسی اجزای باینری مختلف و رفتارهای ایستای یک فایل اجرایی بدون اجرای آن است از جمله هدرهای API و DLLهایی که به آنها ارجاع شده، قسمتهای PE و سایر اطلاعات مشابه. در بررسی ایستا هرگونه رفتار غیرعادی ثبت شده و بر اساس آن تصمیمگیری میشود. تحلیل ایستا بدون اجرای بدافزار و تحلیل پویا با اجرای آن در یک محیط کنترل شده انجام میشود.
- دیساسمبلی[1]: میتوان از طریق کامپایل کد در یک محیط متفاوت، نرمافزارها را به پلتفرمهای کامپیوتری جدید منتقل کرد.
- انگشتنگاری فایل: راهکارهای پیشگیری از نشت دادههای شبکه و شناسایی و پیگیری دادهها در سطح یک شبکه.
- اسکن ویروس: ابزارهای اسکن ویروس و دستورالعملهایی برای حذف بدافزار، ویروس، جاسوسافزار و سایر انواع تهدیدات. مثال: VirusTotal، Payload Security.
- تحلیل آثار ایجاد شده در حافظه: حین بررسی اطلاعات و رویدادهای درون حافظه [مثل تخلیه رم، sys و hiberfile.sys] بازرس میتواند فرایند شناسایی پردازش غیرموجه را شروع کند.
- تشخیص پکر[2] (Packer): از تشخیص پکر برای شناسایی پکرها، کامپایلرها، الحاقکنندهها، نصبکنندهها و غیره استفاده میشود.
ابزارهای تحلیل ایستای بدافزار
Hybrid-analysis
Virustotal.com
BinText
Dependency Walker
IDA
Md5deep
PEiD
Exeinfo PE
RDG Packer
D4dot
PEview
تحلیل پویای بدافزار چیست؟
تحلیل پویا باید اولین روش مورد استفاده تحلیلگر برای شناسایی عملکرد بدافزار باشد. در تحلیل پویا، یک ماشین مجازی ایجاد و از آن برای تحلیل بدافزار استفاده میشود. همچنین بدافزار با استفاده از محیط سندباکس و فرایند نظارت بر بدافزار و تحلیل بستههای تولید شده توسط بدافزار مورد بررسی قرار میگیرد.
در محیط مجازی ایجاد شده، جداسازی محیط برای پیشگیری از گریز بدافزار بسیار مهم است. لذا موارد ذیل بایستی در نظر گرفته شود:
- بررسی تک مسیر (ردیابی اجرا)
- شفافیت محیط تجزیه و تحلیل
- جامعیت محیط تحلیل
- مسائل مقیاس پذیری
- امکان بازیابی سریع محیط تجزیه و تحلیل
- قابل تشخیص مشکلات مجازی سازی x86
ابزارهای تحلیل پویای بدافزار
Procmon
Process Explorer
Anubis
Comodo Instant Malware Analysis
Process MonitorRegshot
ApateDNS
OllyDbg
Regshot
Netcat
Wireshark
بازرسی امنیتی حافظه
حافظه فرّار میتواند حاوی اطلاعات ارزشمندی درباره وضعیت سیستم باشد و امکان برقراری ارتباط بین آن و اطلاعات به دست آمده از تحلیل بازرسی امنیتی به روش سنتی (بر روی شبکه، فایل سیستم، رجیستری) وجود دارد.
- ایجاد تصویر (ایمیج) از کل محدوده حافظه سیستم (بدون استفاده از فراخوانی API)؛
- ایجاد تصویر از فضای آدرس کل یک پردازش از جمله فایلهای DLL و EXE، هیپها و پشتههای بارگذاری شده توسط پردازش؛
- ایجاد تصویری از یک درایور مشخص یا همه درایورهای بارگذاری شده در حافظه بر روی دیسک؛
- هش کردن فایلهای EXE و DLLها در فضای آدرس پردازش (MD5, SHA1, SHA256)؛
- اعتبارسنجی امضاهای دیجیتال فایلهای EXE و DLL (بر اساس دیسک)؛
- خروجی همه رشتهها در حافظه به صورت پردازش محور.
ابزارهای مفید
- WinDbg: دیباگر کرنل برای سیستمهای ویندوزی
- Muninn: اسکریپتی برای اتوماسیون بخشهایی از تحلیل با استفاده از Volatility
- DAMM: تحلیل افتراقی بدافزار در حافظه، ساخته شده در Volatility
- FindAES: پیدا کردن کلیدهای رمزنگاری AES در حافظه
- Volatility: فریم ورکی پیشرفته برای بازرسی امنیتی حافظه
تشخیص بدافزار
امضا محور یا تطبیق الگو: امضا یک الگوریتم یا هش (عددی که از یک رشته متنی به دست آمده) است که یک ویروس خاص را به صورت متمایز مشخص میکند.
تحلیل هیوریستیک یا دفاع فعال: اسکن هیوریستیک مشابه اسکن امضا است با این تفاوت که اسکن هیوریستیک به جای جستجوی امضاهایی خاص، به دنبال دستورالعملها یا فرمانهایی خاص در یک نرمافزار است که معمولاً در نرمافزارها مشاهده نمیشود.
مبتنی بر قاعده: قسمتی از موتور هیوریستیک که تحلیل را انجام میدهد، قواعد را از یک فایل استخراج کرده و این قواعد با مجموعهای از قوانین که برای کد مخرب تعیین شده، مقایسه میشوند.
مسدود کردن رفتاری: این روش که بر اساس نظارت بر رفتارهای مشکوک کار میکند، به دنبال شناسایی ویروسهای شناخته شده نیست بلکه بر رفتار همه نرمافزارها نظارت دارد.
وزن-محور: یک موتور هیوریستیک بر اساس سیستم وزن-محور که پس از شناسایی هر عملکرد، بر اساس درجه خطر آن یک وزن خاص انتساب میدهد. این روش کاملاً قدیمی است
سندباکس: فایل را در یک سیستم مجازی کنترل شده (به نام سندباکس) اجرا میکند تا محققان عملکرد آن را بررسی کنند.
ابزارهای مهم برای تحلیل بدافزار
- YARA: یک ابزار تطبیق الگو برای تحلیلگران است.
- مولد قواعد Yara: قواعد YARA را بر اساس یک مجموعه بدافزار تولید میکند. همچنین برای پیشگیری از تشخیص مثبت کاذب، شامل پایگاه دادهای از رشتههای درست و غیرمخرب است.
- فریم ورک اسکن فایل: یک راهکار پیمانهای و بازگشتی برای اسکن فایل.
- hash deep: هشهای digest را با الگوریتمهای مختلف محاسبه میکند.
- Loki: اسکنر مبتنی بر میزبان برای تشخیص نشانههای نفوذ
- Malfunction: مشخصات بدافزارها را در سطح عملکردی ارزیابی و مقایسه میکند.
- MASTIFF: فریم ورک تحلیل ایستا
تحلیل دامنه وب
در این فرایند، مهندس نرمافزار با اطلاعات زمینهای آشنا شده و دامنهها و آیپیها را بررسی میکند. تحلیل دامنه باید شامل خلاصهای از اطلاعات به دست آمده باشد به همراه ارجاعاتی که به دیگران برای پیدا کردن این اطلاعات کمک میکنند.
ابزارهای مهم
- SpamCop: لیست مسدودی اسپم بر اساس آیپی
- SpamHaus: لیست مسدودی بر اساس دامنه و آیپی
- Sucuri SiteCheck: اسکنر امنیت و بدافزار رایگان برای سایتها
- TekDefense Automatic: ابزار OSINT برای جمعآوری اطلاعات درباره لینکها، آیپیها یا هشها
- URLQuery: اسکنر URL رایگان
- IPinfo: با جستجوی منابع آنلاین، درباره یک آیپی یا دامنه، اطلاعات جمعآوری میکند.
- Whois: جستجوی آنلاین رایگان دامنه
- mail checker: کتابخانه تشخیص ایمیل موقت چند زبانه
تحلیل بدافزار بر اساس تعاملات شبکه
در این روش همزمان با تمرکز بر امنیت شبکه، تحلیل کلیتری از ترافیک شبکه هم انجام میشود. یک ابزار ضبط و بررسی شبکه به روش غیرفعال به منظور تشخیص سیستمعاملها، نشستها، نام میزبانها، پورتهای باز و غیره بدون ایجاد ترافیک در شبکه.
IPv4/6، TCP، UDP، ICMPv4/6، IGMP و Raw بر روی اترنت، PPP، SLIP، FDDI، توکن رینگ و همه رابطها و منطق فیلتر BPF را به روشی مشابه با بویش بسته که رایجتر است، بررسی میکند.
ابزارهای مهم
- Tcpdump: ترافیک شبکه را جمعآوری میکند.
- tcpick: جریانات TCP را از ترافیک شبکه پیگیری و دوباره سرهم میکند.
- tcpxtract: فایلها را از ترافیک شبکه استخراج میکند.
- Wireshark: ابزار تحلیل ترافیک شبکه
- CapTipper: کاوشگر ترافیک مخرب HTTP
- chopshop: فریم ورک کدگشایی و تحلیل پروتکل
- CloudShark: ابزار تحت وب برای تشخیص ترافیک بدافزار و تحلیل بسته
دیباگ و دیباگر (اشکالزدایی)
دیباگرها امکان تحلیل کد در سطح بسیار پایین را فراهم میکنند. یکی از مهمترین ویژگیهای دیباگر، وجود یک نقطه شکست (یا انفصال) است. وقتی برنامه به نقطه شکست برسد، اجرای آن متوقف شده و کنترل برنامه در اختیار دیباگر قرار میگیرد تا امکان تحلیل محیط در آن لحظه فراهم شود.
دیباگر نرمافزاری است که از یکسری قابلیتهای خاص پردازنده که به صورت اختصاصی برای این کار ساخته شده، استفاده میکند. دیباگر درباره نحوه انجام کارهای یک نرمافزار به کاربر اطلاعات میدهد تا کاربر بتواند کنترل اجرای برنامه را در اختیار بگیرد. همچنین دیباگر امکان دسترسی به محیط نرمافزار دیباگ شده را فراهم میکند. این قابلیت برای تحلیل بدافزار بسیار مفید است چون به تحلیلگر امکان میدهد که دستکاریها و استفاده از دستورالعملهای زبالهای را تشخیص دهد.
ابزارهای مهم
- obj dump: بخشی از GNU Binutils برای تحلیل ایستای باینریهای لینوکس
- OllyDbg: یک دیباگر سطح اسمبلی برای فایلهای اجرایی ویندوز
- FPort: از پورتهای UDP و TCP/IP در یک سیستم زنده گزارش گرفته و آنها را به برنامه کاربردی مربوطه نگاشت میکند.
- GDB: دیباگر GNU
- IDA Pro: دیباگر و دیساسمبلر ویندوز با یک نسخه ارزیابی رایگان
- Immunity Debugger: دیباگر برای تحلیل بدافزار و غیره با یک API پایتون
تحلیل لینکهای مخرب
امروزه سایتها در معرض تهدیدات مختلفی هستند. هکرها با هدف سوءاستفاده از آسیبپذیریهای سایتها، آنها را تحت کنترل میگیرند. برای مثال، از تغییر مسیر (ریدایرکت) URL برای اجرای مخفیانه حملات تحت وب استفاده میشود. ریدایرکت به جایگزینی خودکار مقصد نهایی لینک گفته میشود و به طور کلی در وب توسط یک پروتکل HTTP کنترل میشود.
علاوه بر این روش از روشهای دیگری هم برای دسترسی خودکار به محتوای خارجی وب استفاده میشود؛ مثل تگ iframe که بسیار کاربردی است به ویژه برای حملات تحت وب.
ابزارهای مهم
- Firebug: افزونه فایرفاکس برای توسعه وب
- Java Decompiler: برنامههای نرمافزاری نوشته شده به زبان جاوا را دیکامپایل و بررسی میکند.
- jsunpack-n: یک آنپکر جاوا اسکریپت که عملکرد مرورگر را شبیهسازی میکند.
- Krakatau: دیکامپایلر، اسمبلر و دیساسمبلر جاوا
- Malzilla: صفحات وب مخرب را تحلیل میکند.
تکنیک سندباکس
سندباکس یکی از سیستمهای امنیتی مهم است که نرمافزارها را از هم تفکیک میکند تا از آسیب رسیدن به سایر بخشهای کامپیوتر توسط نرمافزارهای مخرب پیشگیری کند. محیط سندباکس کارهای قابل انجام توسط یک کد را محدود میکند و فقط دسترسیهای لازم را در اختیار آن قرار میدهد نه دسترسیهایی که امکان سوءاستفاده از آنها وجود دارد.
ابزارهای مهم
- firmware.re: تقریباً هر پکیج میانافزاری را آنپک، اسکن و تحلیل میکند.
- Hybrid Analysis: ابزار تحلیل بدافزار آنلاین، براساس VxSandbox
- IRMA: یک پلتفرم تحلیل ناهمگام و قابل سفارشیسازی برای بررسی فایلهای مشکوک
- Cuckoo Sandbox: یک سیستم تحلیل خودکار و سند باکس اپن سورس
- cuckoo-modified: نسخه اصلاح یافته سندباکس Cuckoo که تحت GPL منتشر شده است.
- PDF Examiner: تحلیل فایلهای پی دی اف مشکوک
- ProcDot: یک جعبه ابزار تحلیل بدافزار به صورت گرافیکی
- Recomposer: یک اسکریپت helper که برای بارگذاری امن باینریها به سایتهای سندباکس طراحی شده است.
- Sand droid: یک سیستم تحلیل برنامههای کاربردی اندرویدی به صورت خودکار و جامع
نتیجهگیری
در این مطلب به بررسی روشهای مختلف تحلیل بدافزار و ابزارهای قابل استفاده برای این کار پرداختیم.
[1] Disassembly
[2] یک ابزار منبع باز برای ایجاد imageهای ماشینی یکسان برای پلتفرمهای مختلف از یک فایل پیکربندی واحد است.
منبع: gbhackers