ניתוח תוכנות זדוניות
מהו ניתוח תוכנות זדוניות?
ניתוח תוכנות זדוניות הוא תהליך של בחינת קוד זדוני כדי להבין את התנהגותו, יכולותיו, מקורו ומטרותיו. הוא חיוני ל-incident response, ל-threat intelligence ולפיתוח אמצעי נגד אפקטיביים.
סוגי ניתוח
1. ניתוח סטטי
בחינת התוכנה הזדונית מבלי להריץ אותה:
- ניתוח strings ומטא-נתונים
- זיהוי packers וערפול (obfuscation)
- ניתוח headers מסוג PE/ELF
- חתימות ו-hashes (MD5, SHA-256, SSDEEP)
- YARA rules matching
2. ניתוח דינמי
הרצה מבוקרת בסביבה מבודדת:
- Sandbox analysis (Cuckoo, Any.Run, Joe Sandbox)
- ניטור קריאות מערכת
- ניתוח תעבורת רשת
- שינויים ב-filesystem וב-registry
- תהליכים שנוצרו והזרקות קוד
3. הנדסה לאחור
ניתוח מעמיק של הקוד:
- Disassembly ו-decompilation
- Debugging וניתוח זרימה
- זיהוי אלגוריתמי הצפנה
- חילוץ תצורות ו-IOCs
כלים חיוניים
ניתוח סטטי
- • PEiD / Detect It Easy
- • PEStudio / CFF Explorer
- • Strings / FLOSS
- • VirusTotal / Hybrid Analysis
- • YARA / Capa
ניתוח דינמי
- • Cuckoo Sandbox
- • Any.Run
- • Process Monitor (Sysinternals)
- • Wireshark / tcpdump
- • Regshot
Reverse Engineering
- • IDA Pro / Ghidra
- • x64dbg / WinDbg
- • dnSpy (עבור .NET)
- • JD-GUI (עבור Java)
- • Radare2
זיכרון ופורנזיקה
- • Volatility Framework
- • Rekall
- • SANS SIFT Workstation
- • REMnux Distribution
מתודולוגיית ניתוח
שלב 1: מיון ראשוני
- חישוב hashes ובדיקתם מול מאגרי threat intelligence
- שליחה ל-sandboxes ציבוריים (VirusTotal, Hybrid Analysis)
- ניתוח מהיר של strings ו-imports
- קביעת סוג הקובץ וה-packer האפשרי
שלב 2: ניתוח התנהגותי
- הרצה ב-sandbox מבוקר
- ניטור יצירת קבצים ותהליכים
- לכידת תעבורת רשת וחיבורי C2
- זיהוי טכניקות persistence
שלב 3: ניתוח מעמיק
- Unpacking ו-deobfuscation
- Reverse engineering של פונקציות קריטיות
- חילוץ תצורות ו-IOCs
- זיהוי משפחות ווריאנטים
Indicators of Compromise (IOCs)
IOCs חיוניים שיש לחלץ:
- File-based: Hashes, שמות קבצים, נתיבים
- Network: IPs, domains, URLs, User-Agents
- Registry: מפתחות שנוצרו/שונו
- Behavior: Mutexes, named pipes, שירותים
- YARA rules: דפוסי זיהוי לשימוש חוזר
טכניקות התחמקות נפוצות
- Anti-VM/Sandbox: זיהוי סביבות מווירטואליות
- Anti-Debugging: טכניקות להתחמקות מניתוח
- Packing/Obfuscation: ערפול קוד
- Process Injection: DLL injection, process hollowing
- Rootkit Capabilities: הסתרת תהליכים וקבצים
- Fileless Malware: הרצה בזיכרון בלבד
MITRE ATT&CK Framework
מיפוי התנהגות התוכנה הזדונית לטכניקות של MITRE ATT&CK:
- Initial Access (phishing, exploit public-facing app)
- Execution (command and scripting, user execution)
- Persistence (registry run keys, scheduled tasks)
- Defense Evasion (obfuscation, process injection)
- Command and Control (web protocols, DNS)
- Exfiltration (exfiltration over C2, automated exfiltration)
המלצות אבטחה
- [OK] תמיד לנתח בסביבה מבודדת (air-gapped)
- [OK] להשתמש ב-snapshots של VMs לשחזור מהיר
- [OK] לתעד את כל הניתוח באופן מפורט
- [OK] לשתף IOCs עם הקהילה (MISP, OTX)
- [OK] לשמור על כלי הניתוח מעודכנים תמיד
- [OK] ליצור YARA rules לזיהוי עתידי
- [OK] לשלב את הממצאים עם פלטפורמות threat intelligence
