ניתוח תוכנות זדוניות

מהו ניתוח תוכנות זדוניות?

ניתוח תוכנות זדוניות הוא תהליך של בחינת קוד זדוני כדי להבין את התנהגותו, יכולותיו, מקורו ומטרותיו. הוא חיוני ל-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