Malware Analysis: ম্যালওয়্যারের সোর্স কোড এবং আচরণ বিশ্লেষণ করার সাইবার পদ্ধতি!
Static এবং Dynamic Malware Analysis কৌশল, Reverse Engineering, Sandbox এবং YARA Rule তৈরির বিস্তারিত গাইড।
প্রতিদিন বিশ্বব্যাপী 560,000-এর বেশি নতুন ম্যালওয়্যার ভেরিয়েন্ট তৈরি হয়, যার মধ্যে রয়েছে Ransomware, Stealer, Banking Trojan, RAT, এবং Wiper। AV-TEST Institute-এর তথ্য অনুযায়ী 2024 সালে শনাক্ত হওয়া মোট ম্যালওয়্যার নমুনার সংখ্যা 1.4 বিলিয়ন ছাড়িয়েছে। এই বিশাল হুমকির বিরুদ্ধে কার্যকরভাবে প্রতিরক্ষা গড়তে হলে Malware Analyst-এর প্রয়োজন - যারা প্রতিটি নমুনাকে বিশ্লেষণ করে তার কার্যপ্রণালী, লক্ষ্য, এবং Indicator of Compromise বা IoC বের করেন।
এই বিস্তৃত প্রবন্ধে আমরা Malware Analysis-এর সম্পূর্ণ Workflow আলোচনা করব। Static Analysis থেকে শুরু করে Dynamic Sandboxing, Reverse Engineering, YARA Rule Creation, এবং Threat Intelligence Reporting - প্রতিটি ধাপ Cover করা হবে। DFIR এবং Threat Research-এর জগতে যারা প্রবেশ করতে চান, তাদের জন্য এই গাইড একটি Solid Foundation প্রদান করবে।
Malware Analysis-এর প্রকার
Malware Analysis প্রধানত চারটি বিভাগে বিভক্ত। Basic Static Analysis-এ ম্যালওয়্যার Execute না করে File-এর বৈশিষ্ট্য পরীক্ষা করা হয় - File Hash, Strings, Imported Function, Header Information ইত্যাদি। এটি দ্রুত এবং নিরাপদ, কিন্তু Obfuscated বা Packed Malware-এর ক্ষেত্রে সীমিত তথ্য দেয়।
Basic Dynamic Analysis-এ একটি Controlled Environment-এ ম্যালওয়্যার Execute করা হয় এবং তার আচরণ পর্যবেক্ষণ করা হয়। File System Change, Registry Modification, Network Communication, এবং Process Creation - এই সব আচরণ Capture করা হয়। Sandbox এবং Monitoring Tool এই কাজে ব্যবহৃত হয়।
Advanced Static Analysis বা Reverse Engineering-এ Disassembler বা Decompiler ব্যবহার করে Binary-র Assembly Code পড়া হয়। এটি সবচেয়ে সময়সাপেক্ষ কিন্তু গভীর তথ্য সরবরাহ করে - ম্যালওয়্যারের সম্পূর্ণ Algorithm, Encryption Key, C2 Protocol Detail ইত্যাদি।
Advanced Dynamic Analysis-এ Debugger ব্যবহার করে Runtime-এ ম্যালওয়্যার-এর Execution Trace করা হয়। Memory-তে Decryption Routine চলার পরে Plaintext String, Network Communication-এর আগে C2 URL Resolve হওয়ার মুহূর্ত - এসব দেখা যায় Debugging-এর মাধ্যমে।
Static Analysis Tool এবং কৌশল
Static Analysis-এর প্রথম ধাপ হলো File Identification। file কমান্ড File Format শনাক্ত করে। PE Studio, CFF Explorer, এবং Detect It Easy (DIE) Windows Executable-এর Header পরীক্ষা করে এবং Packer/Compiler শনাক্ত করে। UPX, ASPack, Themida, এবং VMProtect হলো Common Packer।
Strings Tool (এবং Floss-এর মতো Advanced Variant) Binary থেকে Readable String বের করে। URL, IP Address, File Path, Error Message, এবং Hardcoded Credential প্রায়ই String-এ পাওয়া যায়। FLARE Team-এর FLOSS Floss Obfuscated Strings-ও Decode করে, যেমন XOR-Encoded String।
PE Header Analysis Windows Malware-এর জন্য অপরিহার্য। DOS Header, NT Header, Section Header, এবং Import Address Table পর্যালোচনা করা হয়। Suspicious Import যেমন CreateRemoteThread, VirtualAllocEx, WriteProcessMemory (Process Injection-এর সংকেত), CryptEncrypt (Encryption Activity), এবং InternetOpen/HttpSendRequest (Network Communication) চিহ্নিত করা হয়।
CAPA একটি Open Source Tool যা FireEye/Mandiant তৈরি করেছে। এটি Binary-র Capability স্বয়ংক্রিয়ভাবে শনাক্ত করে - যেমন "encrypt data using AES", "create a service", "inject into another process"। বড় Sample-Set-এর প্রাথমিক Triage-এ এটি অসাধারণ। YARA Rule এবং Hash Lookup (VirusTotal, MalwareBazaar) সমন্বয়ে দ্রুত Classification সম্ভব।
Dynamic Analysis এবং Sandbox
Dynamic Analysis-এর জন্য একটি Isolated, Instrumented Environment প্রয়োজন। Cuckoo Sandbox, ANY.RUN, Joe Sandbox, Hybrid Analysis, এবং Triage-এর মতো জনপ্রিয় Platform রয়েছে। অনেক প্রতিষ্ঠান Custom Sandbox তৈরি করে নিজস্ব VM Infrastructure-এ।
Sandbox একটি Sample Execute করে এবং নিম্নলিখিত Telemetry Capture করে - File System Activity (Create, Modify, Delete), Registry Activity, Process Activity (Created, Terminated), Network Communication (DNS Query, HTTP Request, TCP Connection), এবং API Call Trace। Procmon, Process Hacker, এবং Sysmon Manual Dynamic Analysis-এ এই কাজ করে।
আধুনিক ম্যালওয়্যার Sandbox Detection-এ পারদর্শী। তারা CPU Core Count, RAM Size, Username, Domain Membership, Mouse Movement, Recent Document-এর মতো Indicator পরীক্ষা করে Virtual Environment শনাক্ত করতে। Sandbox Detect করলে তারা Benign আচরণ করে বা Exit করে।
এই কারণে Bare Metal Sandbox এবং Anti-Anti-Analysis Plugin ব্যবহার করা হয়। FLARE-VM এবং REMnux হলো জনপ্রিয় Pre-Configured Malware Analysis VM। FLARE-VM Windows-Based এবং Reverse Engineering Tool-এ সমৃদ্ধ। REMnux Linux-Based এবং Network Analysis, Memory Forensics-এ শক্তিশালী।
INetSim এবং FakeNet-NG Tool Network Communication Simulate করে। ম্যালওয়্যার যখন C2 Server-এ Connect করার চেষ্টা করে, এই Tool Bogus Response দেয়, যা ম্যালওয়্যারকে স্বাভাবিক আচরণ করতে বাধ্য করে। DNS, HTTP, FTP, SMB-এর মতো Protocol এরা Simulate করে।
Reverse Engineering Tools
Disassembler এবং Decompiler Reverse Engineering-এর মূল Tool। IDA Pro বহু বছর ধরে Industry Standard, কিন্তু এর License Cost অনেক বেশি। NSA-এর Ghidra Open Source এবং সমানভাবে শক্তিশালী, বিশেষ করে Decompiler-এ। Binary Ninja এবং radare2 (এর GUI Cutter) অন্যান্য জনপ্রিয় বিকল্প।
Ghidra-এর Decompiler Assembly Code-কে C-Like Pseudocode-এ Convert করে, যা Analysis দ্রুত করে। Function Naming, Variable Renaming, Type Definition - এই সব Reverse Engineer ম্যানুয়ালি করেন যাতে কোড পড়া সহজ হয়।
Debugger Dynamic Analysis-এর সঙ্গে Reverse Engineering মিশ্রিত করে। x64dbg Windows-এর জন্য সবচেয়ে জনপ্রিয় Open Source Debugger, এবং WinDbg Microsoft-এর Official Tool যা Kernel Debugging সমর্থন করে। GDB Linux Malware-এর জন্য Standard।
Breakpoint Set করা, Memory Inspect করা, Register Modify করা, এবং Single-Step Execution - এই সব Debugger-এর প্রাথমিক বৈশিষ্ট্য। Anti-Debugging কৌশল যেমন IsDebuggerPresent, NtQueryInformationProcess, এবং Timing Check Bypass করার জন্য ScyllaHide-এর মতো Plugin ব্যবহৃত হয়।
Memory Analysis এবং Volatility
ম্যালওয়্যার Execute হওয়ার পরে Memory-তে অনেক Critical Information থাকে - Unpacked Code, Decrypted String, Injected Process, Network Connection Cache। এই কারণে Memory Forensics ম্যালওয়্যার বিশ্লেষণে অপরিহার্য।
Volatility এবং Rekall হলো Memory Forensics-এর প্রধান Tool। Volatility 3 Python 3-এ লেখা এবং Modern Operating System সমর্থন করে। Memory Dump সংগ্রহ করতে DumpIt (Comae), MagnetRAM Capture, বা Belkasoft Live RAM Capturer ব্যবহার করা হয়।
Volatility-র গুরুত্বপূর্ণ Plugin-এর মধ্যে রয়েছে pslist (Running Process), pstree (Parent-Child Relationship), netscan (Network Connection), malfind (Suspicious Memory Region), apihooks (API Hooking Detection), এবং dlllist (Loaded DLL)। এই Plugin-গুলো একসাথে ব্যবহার করে Memory-তে লুকানো ম্যালওয়্যার শনাক্ত করা যায়।
Process Hollowing, Process Doppelgänging, Atom Bombing, Module Stomping-এর মতো Advanced Injection কৌশল শনাক্ত করতে Memory Analysis অত্যন্ত উপযোগী। কারণ এই কৌশলগুলোতে On-Disk File স্বাভাবিক দেখায়, কিন্তু In-Memory Code আলাদা।
YARA Rule এবং Detection
YARA হলো ম্যালওয়্যার শনাক্তকরণের একটি Pattern-Matching Engine, যা VirusTotal-এর Founder Victor Manuel Alvarez তৈরি করেছেন। YARA Rule-এ String Pattern, Hex Pattern, এবং Boolean Logic দিয়ে ম্যালওয়্যার Family Define করা হয়।
একটি সাধারণ YARA Rule-এ Meta Section (Author, Description, Reference), Strings Section (যা Match করতে হবে), এবং Condition Section (Logic) থাকে। Strings-এ Plaintext, Hex, এবং Regex সমর্থিত। Condition-এ "all of them", "any of them", "2 of ($a*)" - এই ধরনের Logical Expression ব্যবহার করা যায়।
ভালো YARA Rule লেখার জন্য কিছু Best Practice অনুসরণ করা উচিত। Generic Strings (যেমন "kernel32.dll") এড়িয়ে Unique Indicator ব্যবহার করা। False Positive কমাতে Multiple Condition Combine করা। File Size, PE Header Property, এবং Behavioral Indicator-এর মাধ্যমে Context যোগ করা।
YARA Rule শুধু File-এ নয়, Memory এবং Network Traffic-এও Apply করা যায়। Loki, Thor, Fenrir, এবং YayaSec-এর মতো Tool Endpoint Scanning-এ YARA Rule ব্যবহার করে। SIEM Solution যেমন Elastic Security এবং Crowdstrike Falcon এ Custom YARA Rule যোগ করা যায়।
C2 Communication Analysis
আধুনিক ম্যালওয়্যার-এর জন্য C2 (Command and Control) Communication একটি কেন্দ্রীয় বৈশিষ্ট্য। HTTP/HTTPS, DNS, TLS, ICMP, এবং Custom Protocol ব্যবহৃত হয়। Cobalt Strike, Sliver, Mythic, এবং Brute Ratel-এর মতো Commercial Tool-এর Beacon Communication বিশ্লেষণ Red Team Detection-এ গুরুত্বপূর্ণ।
C2 URL এবং Domain শনাক্ত করতে Sandbox Output এবং Network Trace ব্যবহার করা হয়। Domain Generation Algorithm বা DGA ব্যবহার করে এমন ম্যালওয়্যার (যেমন Conficker, Locky) Daily হাজারো Domain Generate করে। Reverse Engineering-এর মাধ্যমে DGA Reconstruct করে আগে থেকেই Domain ব্যবহার করা যায় - এই কাজে Sinkholing করা হয়।
Encrypted Communication বিশ্লেষণে SSL/TLS Interception প্রয়োজন। Mitmproxy, Burp Suite, এবং Fiddler এই কাজে ব্যবহৃত হয়। ম্যালওয়্যার যদি Certificate Pinning ব্যবহার করে, Reverse Engineering-এর মাধ্যমে সেই Pinning Bypass করতে হয়।
Beacon Pattern Detection-এ Periodicity, Jitter, এবং Data Size Analysis করা হয়। Cobalt Strike-এর Default Profile-এর Specific JARM Fingerprint এবং URI Pattern Identify করা যায়। Modern Malware Analyst-দের কাছে JA3/JA3S, JARM, এবং HTTP Header Fingerprinting অপরিহার্য কৌশল।
বিখ্যাত ম্যালওয়্যার Family
কিছু ম্যালওয়্যার Family-এর Analysis একজন নতুন Analyst-এর জন্য Learning Resource হিসেবে চমৎকার। Emotet একটি Modular Banking Trojan যা পরবর্তীতে Loader হিসেবে কাজ করেছে। এর Multi-Stage Architecture, JavaScript Loader, এবং Encrypted Payload Analysis-এর জন্য ভালো Practice।
TrickBot Emotet-এর সাথে প্রায়ই দেখা যায় এবং Ryuk/Conti Ransomware ছড়াত। এর Plugin Architecture, Lateral Movement Capability, এবং SSL-Based C2 Communication Detail-এ চমৎকার Study Material।
LockBit, BlackCat (ALPHV), এবং সাম্প্রতিক RansomHub-এর মতো Ransomware Family আধুনিক Encryption Implementation এবং Anti-Forensics কৌশল প্রদর্শন করে। তাদের Affiliate Model এবং Double Extortion Tactics বোঝা Threat Intelligence-এর জন্য গুরুত্বপূর্ণ।
Stealer Category-তে RedLine, Lumma, Vidar, এবং Atomic Stealer (macOS) উল্লেখযোগ্য। এই ম্যালওয়্যার Browser Credential, Crypto Wallet, এবং Session Cookie চুরি করে। তাদের তুলনামূলকভাবে সরল Architecture নতুন Analyst-এর জন্য সহজ Entry Point।
Reporting এবং Intelligence Sharing
ম্যালওয়্যার বিশ্লেষণের পর একটি Comprehensive Report তৈরি করা অপরিহার্য। Report-এ Executive Summary, Sample Identification (Hash, Filename, Source), Technical Analysis (Capabilities, IoC, TTPs), MITRE ATT&CK Mapping, এবং Recommendations থাকা উচিত।
MITRE ATT&CK Framework ব্যবহার করে ম্যালওয়্যার-এর Tactics, Techniques, এবং Procedures (TTPs) Mapping করা একটি Standard Practice। প্রতিটি Behavior-কে ATT&CK Technique ID (যেমন T1055 Process Injection, T1027 Obfuscated Files) দিয়ে চিহ্নিত করা হয়।
IoC Sharing-এর জন্য STIX/TAXII Standard ব্যবহৃত হয়। MISP (Malware Information Sharing Platform) একটি জনপ্রিয় Open Source Platform যেখানে Organization-গুলো IoC এবং Threat Intelligence শেয়ার করে। VirusTotal Intelligence এবং Hybrid Analysis-এও Findings Share করা যায়।
প্রতিরোধ ও প্রতিকার
Malware Analysis-এর জ্ঞান শুধু Analyst-এর জন্য নয়, Defender-এর জন্যও মূল্যবান। YARA Rule, Sigma Rule, এবং Snort/Suricata Signature তৈরি করে Endpoint এবং Network Level-এ ম্যালওয়্যার Detect করা যায়।
EDR সমাধান যেমন Microsoft Defender, CrowdStrike, SentinelOne, এবং Elastic Endpoint Behavioral Detection-এ পারদর্শী। তারা Process Injection, Suspicious Parent-Child Relationship, এবং Living-off-the-Land Binary Use শনাক্ত করতে পারে।
Application Allowlisting (যেমন Windows Defender Application Control, AppLocker) ম্যালওয়্যার Execution-কে গোড়াতেই থামাতে পারে। Macro Disable করা, JavaScript Restriction, এবং Office-এর Mark of the Web Enforce করা Initial Access Vector ব্লক করে।
Email Filtering, Network Segmentation, Privileged Access Management, এবং Regular Patching - এই Foundation-গুলো ম্যালওয়্যার-এর Impact কমায়। User Awareness Training, বিশেষ করে Phishing-এর বিরুদ্ধে, এখনও সবচেয়ে Cost-Effective Defense।
Malware Analysis সাইবার নিরাপত্তার সবচেয়ে আকর্ষণীয় এবং চ্যালেঞ্জিং শাখাগুলোর একটি। প্রতিটি নতুন নমুনা একটি নতুন পাজল, এবং প্রতিটি Family একটি ভিন্ন বিশ্ব। Static Analysis, Dynamic Sandboxing, Reverse Engineering, এবং Memory Forensics-এর সমন্বয়ে একজন Analyst ম্যালওয়্যার-এর গভীরতম রহস্য উন্মোচন করতে পারেন। FLARE-VM, REMnux, Ghidra, x64dbg, Volatility, এবং YARA-এর মতো Tool আজ Free এবং Open Source, যা এই ক্ষেত্রে প্রবেশ সহজ করেছে। Practical Malware Analysis বই (Sikorski & Honig), SANS FOR610, এবং Crowdstrike-এর Reverse Engineering Series এই ক্ষেত্রে দক্ষতা অর্জনের জন্য চমৎকার সংস্থান। প্রতিদিন নতুন হুমকি আসছে, এবং Analyst-দেরও সমান গতিতে শিখতে হবে।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Malware Analysis MCQ Quiz-টি দিন!
Related articles
Packer Development: Techniques for Packing Malware Code to Evade Antivirus Detection!
8 min
AMSI Patching: Deconstructing the Art of Disabling Antivirus via Memory Manipulation
8 min
API Unhooking: How Malware Evades EDR System Surveillance
8 min
Bootkit Analysis: Detecting Malware Intrusion Before the Operating System Boots
8 min

