HackCert
Advanced 11 min read May 25, 2026

Memory Forensics: ভোলাটাইল মেমোরি থেকে সাইবার আক্রমণের ডিজিটাল প্রমাণ সংগ্রহ!

Advanced Memory Forensics কৌশল - Kernel Structure Analysis, Anti-Forensics Bypass এবং APT Investigation।

Rokibul Islam
Senior Digital Forensics Investigator
share
Memory Forensics: ভোলাটাইল মেমোরি থেকে সাইবার আক্রমণের ডিজিটাল প্রমাণ সংগ্রহ!
Overview

Digital Forensics-এর শিরোমণি হলো Memory Forensics। যেখানে Disk Forensics নিজের একটি পরিণত ক্ষেত্র, সেখানে Memory Forensics এখনও দ্রুত বিকশিত হচ্ছে। আধুনিক Advanced Persistent Threat বা APT গ্রুপ, যেমন APT28, APT29, Lazarus, এবং Sandworm, তাদের কার্যক্রম প্রায় সম্পূর্ণভাবে Memory-Resident রাখে। Disk-এ Minimal Footprint, In-Memory Code Execution, এবং Anti-Forensics কৌশল ব্যবহার করে তারা প্রথাগত Investigation এড়িয়ে যায়। তাদের শনাক্ত করতে Memory Forensics-এর কোনো বিকল্প নেই।

এই Advanced প্রবন্ধে আমরা Memory Forensics-এর গভীরতম দিক, Kernel Data Structure Analysis, Anti-Forensics Bypass, APT-Specific কৌশল, এবং বিশেষায়িত Tool আলোচনা করব। DFIR পেশাজীবী যারা Senior Level-এ পৌঁছাতে চান, তাদের জন্য এই ক্ষেত্রে দক্ষতা অপরিহার্য।

Memory Architecture-এর গভীর জ্ঞান

Memory Forensics-এ দক্ষ হতে হলে Operating System-এর Memory Management-এর গভীর জ্ঞান প্রয়োজন। Windows-এ Virtual Memory Manager Page Table Tree ব্যবস্থা ব্যবহার করে - PML4, PDPT, PD, PT। প্রতিটি Process-এর CR3 Register Page Directory Base-কে Point করে। Kernel-এর Address Space Top Half-এ থাকে এবং সব Process-এ Shared।

EPROCESS Structure Windows Process-এর Centralized Representation। এর মধ্যে PID, Image Filename, Parent PID, Token (Privilege Information), VAD Tree (Virtual Address Descriptor), Object Table, এবং বহু গুরুত্বপূর্ণ Pointer। ETHREAD Thread-এর জন্য একই কাজ করে।

Object Manager Windows Kernel-এর একটি Core Component যা সব Kernel Object Manage করে - Process, Thread, File, Registry Key, Event, Mutex। এই Object-গুলো একটি Hierarchical Namespace-এ থাকে এবং Handle Table-এর মাধ্যমে User Mode-এ Accessible।

KPCR (Kernel Processor Control Region) প্রতিটি CPU-এর জন্য একটি Structure যা Current Thread, IDT, GDT, এবং অন্যান্য Per-CPU Data ধারণ করে। Memory Forensics-এ KPCR Identify করা Initial Step, কারণ এটি অন্যান্য Kernel Structure-এর Entry Point।

Linux-এ task_struct Process-এর Representation, এবং mm_struct Memory Map। vm_area_struct প্রতিটি Memory Region Describe করে। Kernel-এর Symbol Table System.map বা vmlinux-এ থাকে এবং Forensic Analysis-এ এটি Critical।

Profile এবং Symbol Table

Volatility 2-এর Profile একটি Operating System Version-এর জন্য Memory Layout এবং Structure Definition সংগ্রহ। Volatility 3-এ এটি Symbol Table দ্বারা প্রতিস্থাপিত। PDB (Program Database) File থেকে Microsoft Symbol Server-এর মাধ্যমে এই Symbol Table পাওয়া যায়।

Linux-এর জন্য Symbol Table তৈরি করতে dwarf2json Tool ব্যবহৃত হয়। Kernel Debug Symbol (vmlinux বা module.ko) থেকে JSON Format-এ Convert করে Volatility-Compatible করা হয়। প্রতিটি Distribution এবং Kernel Version-এর জন্য আলাদা Symbol প্রয়োজন।

Custom Operating System বা Embedded System-এর Memory Analysis-এ Profile তৈরি করা একটি Significant Effort। PDB ছাড়া Symbol Reverse Engineer করতে IDA Pro বা Ghidra ব্যবহার করতে হয়। এই কাজে Hands-On Kernel Knowledge অপরিহার্য।

Volatility 3-এর Symbol Cache স্বয়ংক্রিয়ভাবে Microsoft Symbol Server থেকে Download করে। Air-Gapped Forensic Lab-এ Symbol Pack পূর্বেই Download করে রাখা উচিত। Mitre এবং Volatility Foundation এই Symbol Pack নিয়মিত Publish করে।

Kernel Structure Walk

Advanced Memory Forensics-এ Investigator সরাসরি Kernel Structure Walk করেন। Volatility-র উপর নির্ভর না করে Raw Memory Dump থেকে Structure Read করা একটি Important Skill, কারণ Custom Plugin তৈরিতে বা Anti-Forensics-এর সম্মুখে এটি প্রয়োজন।

PsActiveProcessHead Pointer থেকে শুরু করে EPROCESS Linked List Walk করা যায়। প্রতিটি EPROCESS-এর ActiveProcessLinks Field Next এবং Previous EPROCESS-কে Point করে। কোনো EPROCESS এই List থেকে Unlink হলে (DKOM), windows.pslist এ দেখা যাবে না।

PsLoadedModuleList Kernel Module-এর Linked List। LDR_DATA_TABLE_ENTRY Structure প্রতিটি Module-এর জন্য। DKOM-এর মাধ্যমে Module Hide করা হলে এই List অসম্পূর্ণ হবে। Pool Scan এই Hide Bypass করার একটি কার্যকর Technique।

VAD Tree প্রতিটি Process-এর Virtual Memory Allocation Track করে। Self-Balancing Binary Tree, যেখানে প্রতিটি Node একটি Memory Range Describe করে। malfind Plugin VAD Tree Traverse করে Suspicious Permission এবং Content যুক্ত Node খুঁজে বের করে।

Object Header এবং Object Body Memory-তে পাশাপাশি থাকে। Object Type Index Header-এ থাকে এবং Object Type Definition (যেমন Process Type, File Type) Pool-এ। এই Structure Walk করে Hidden Object খুঁজে বের করা সম্ভব।

Pool Tag Scanning এবং DKOM Detection

Windows Kernel Memory Allocation-এর সময় Pool Tag ব্যবহার করে। প্রতিটি Pool Allocation-এর সাথে একটি 4-Byte Tag যুক্ত থাকে যা Allocator-কে Identify করে। উদাহরণ - Proc (Process), File (File Object), Even (Event Object), Thrd (Thread)।

Pool Tag Scanning-এর মাধ্যমে Linked List Walk-এর Limitation Bypass করা যায়। DKOM-এর মাধ্যমে একটি Process EPROCESS List থেকে Unlink হলেও, Pool-এ এটি এখনও Allocated থাকবে। windows.psscan এই কাজ করে।

PoolMon-এর মতো Live Tool এই Pool Tag-এর Usage Real-Time Monitor করে, যা Memory Leak এবং Suspicious Allocation শনাক্ত করে। Forensic Analysis-এ pooltag Plugin সমস্ত Pool Allocation তালিকা করে।

Lookaside List এবং Slab Allocator-এর কারণে কিছু Object Memory-তে দীর্ঘ সময় Cached থাকে এমনকি Free হওয়ার পরেও। এই Stale Object-গুলো গুরুত্বপূর্ণ Forensic Evidence সরবরাহ করতে পারে - যেমন Closed Process-এর Information।

Anti-Forensics এবং Bypass কৌশল

আধুনিক ম্যালওয়্যার Anti-Forensics Aware। তারা Memory-তে Detection এড়াতে বিভিন্ন কৌশল ব্যবহার করে। Self-Erasing Code-এ ম্যালওয়্যার Execute হওয়ার পরে নিজের Code Zero বা Random Data দিয়ে Overwrite করে।

Hooking Detection Evasion-এ ম্যালওয়্যার আধুনিক Hooking-এর বদলে Direct System Call ব্যবহার করে। NTDLL.dll-এর সাথে Indirect Interaction এড়িয়ে সরাসরি syscall Instruction চালানো হয়। এই কারণে Hook-Based Detection ব্যর্থ হয়।

Code-Cave Hiding-এ ম্যালওয়্যার একটি Legitimate Module-এর মধ্যে Unused Space বা Code Cave-এ নিজের Code Hide করে। Memory-তে এটি Legitimate Module-এর অংশ হিসেবে দেখায়। Manual Inspection এবং Module-এর Original Copy-এর সাথে তুলনা ছাড়া শনাক্ত করা কঠিন।

Memory Encryption এবং Just-in-Time Decryption আধুনিক ম্যালওয়্যার-এর কৌশল। Payload Encrypted অবস্থায় Memory-তে থাকে এবং শুধু Execute হওয়ার মুহূর্তে Decrypt হয়। Memory Dump-এর সময় Specific Window-এর বাইরে Plaintext পাওয়া যায় না।

Timing-Based Anti-Analysis-এ ম্যালওয়্যার Memory Acquisition Tool-এর উপস্থিতি Detect করে এবং নিজেকে Cleanup করে। RDTSC Instruction-এর সাথে Timing Check, এবং কিছু Tool-Specific Process-এর জন্য PID Enumeration এই কাজে ব্যবহৃত হয়।

APT-Specific কৌশল বিশ্লেষণ

APT Group-এর কৌশল প্রায়ই Common Crimeware-এর চেয়ে Sophisticated। APT29 (Cozy Bear)-এর WellMess এবং WellMail Tool Memory-Resident এবং Custom C2 Protocol ব্যবহার করে। SolarWinds-এ ব্যবহৃত Sunburst এবং Teardrop-ও Memory-Centric।

Lazarus Group-এর Tool যেমন AppleJeus, FudModule, এবং BLINDINGCAN আধুনিক Anti-Forensics কৌশল ব্যবহার করে। তাদের Custom Cryptography, Domain Generation Algorithm, এবং Layered Encoded Payload-গুলোর প্রতিটি Layer Memory Analysis-এ Decode করতে হয়।

Equation Group (NSA-Affiliated)-এর GrayFish এবং DoubleFantasy বহু বছর ধরে অজানা ছিল কারণ তাদের Footprint প্রায় সম্পূর্ণ Memory-তে এবং Firmware-এ। Kaspersky-র গবেষকরা যখন এই Tool খুঁজে পান, এটি Memory Forensics-এর জন্য একটি Wake-up Call ছিল।

Cobalt Strike Beacon Red Team-এর সবচেয়ে জনপ্রিয় Tool, এবং Threat Actor-রাও ব্যাপকভাবে ব্যবহার করে। Beacon-এর Configuration Memory-তে Encoded থাকে। CobaltStrikeParser, BeaconHunter, এবং Volatility-র CobaltStrikeScan-এর মতো Tool এই Configuration Extract করতে পারে।

Hypervisor এবং Virtual Machine Forensics

Cloud-First এবং Container-Centric যুগে VM Memory Forensics ক্রমবর্ধমান গুরুত্বপূর্ণ। VMware-এর vmem এবং vmss File, Hyper-V-এর VMRS এবং BIN File, এবং VirtualBox-এর Sav File - প্রতিটির নিজস্ব Format রয়েছে।

Volatility 3 অনেক VM Memory Format Natively Support করে। VMware Snapshot থেকে Memory Extract করতে vmss2core বা libvmi ব্যবহৃত হয়। Live VM-এর জন্য Hypervisor-Based Introspection একটি শক্তিশালী Technique।

LibVMI Hypervisor-Level Memory Introspection Library, যা Xen এবং KVM সমর্থন করে। এটি Guest OS-এ কোনো Agent ছাড়াই Memory পড়তে পারে, যা Stealthy Forensic Analysis সম্ভব করে। Drakvuf এই Technology-র উপর ভিত্তি করে Dynamic Malware Analysis Platform।

Container Memory Forensics একটি নতুন এবং চ্যালেঞ্জিং ক্ষেত্র। Docker Container Host Kernel শেয়ার করে, তাই Container Process Host Memory-তে দৃশ্যমান। Cgroup এবং Namespace-এর মাধ্যমে Container-Specific Process Identify করা যায়।

Memory Carving এবং Custom Parser

Standard Volatility Plugin-এর বাইরে অনেক সময় Custom Parser লিখতে হয়। Memory Carving হলো Memory-তে Specific Pattern বা Structure Search করা। File Header Signature (যেমন PNG-এর 89 50 4E 47), URL Pattern, Cryptographic Constant - এই সব Search করে অনেক তথ্য Extract করা যায়।

Foremost এবং Scalpel Disk-Based File Carving Tool, কিন্তু Memory Dump-এও কাজ করে। bulk_extractor Memory-Optimized এবং Email, URL, Credit Card, Phone Number-এর মতো PII Extract করে।

Custom Volatility Plugin লেখা Advanced Skill। Python-এ Volatility-র Plugin Framework অনুসরণ করে নিজস্ব Analysis লেখা যায়। প্রতিটি Engagement-এ Specific কোনো Pattern থাকলে এটি Cost-Effective Approach।

KAPE (Kroll Artifact Parser and Extractor) Memory-র বাইরে Disk Artifact-এর জন্য, কিন্তু Memory Triage-এর সাথে Combine করে Comprehensive Investigation সম্ভব। Plaso এবং log2timeline Super Timeline তৈরি করে যেখানে Memory এবং Disk Artifact একসাথে Correlated।

YARA এবং Sigma Rule

YARA Rule Memory Dump-এর বিরুদ্ধে অত্যন্ত কার্যকর। Volatility-র yarascan Plugin (Vol 2) বা equivalent Vol 3 Functionality প্রতিটি Process Memory-তে Rule Apply করে। Known Malware Family-এর Quick Identification এবং Customized Rule-এর মাধ্যমে Specific Behavior Detection।

YARA-X একটি Modern Rewrite যা Performance এবং Feature উন্নত করেছে। Loki, Thor, এবং Fenrir-এর মতো YARA-Based Scanner Endpoint-এ চালানো যায় এবং Memory Scan সমর্থন করে।

Sigma Rule SIEM-এর জন্য, কিন্তু Memory Analysis-এর Findings থেকে Sigma Rule Generate করা যায়। Process Lineage, Suspicious Command Line, এবং Network IoC থেকে Detection Rule তৈরি করে Future Incident-এর জন্য SIEM-এ Apply করা।

CAR (Cyber Analytics Repository) এবং Splunk Security Essentials Open Source Detection Content সরবরাহ করে যা Memory Forensics Findings-এর সাথে Aligned। ATT&CK Technique-এর Reverse Mapping করে Detection Coverage উন্নত করা।

Cloud এবং Modern Architecture-এ Memory Forensics

AWS, Azure, এবং GCP-তে Instance Memory Acquisition প্রায়ই চ্যালেঞ্জিং। AWS EBS Snapshot Memory অন্তর্ভুক্ত করে না, কিন্তু Suspended EC2 Instance-এর Memory পাওয়া যেতে পারে। AWS Forensic Acquisition Solution বা SANS-এর Open Source Tool এই কাজে সাহায্য করে।

Azure Bastion এবং AWS Systems Manager-এর মাধ্যমে Live Memory Acquisition সম্ভব। PowerShell Remoting বা SSH-এর মাধ্যমে DumpIt বা WinPmem Execute করে S3/Blob Storage-এ Dump Upload করা হয়।

Kubernetes Forensics একটি বিকাশমান ক্ষেত্র। Pod Memory সাধারণত Ephemeral, কিন্তু eBPF-Based Tool যেমন Tetragon এবং Cilium Tetragon Real-Time Memory-Level Observability সরবরাহ করে। Falco এবং Sysdig-ও Similar Capability প্রদান করে।

Serverless Function (Lambda, Cloud Function) Memory Investigation আরও কঠিন। Execution Time Short এবং Container Reuse Unpredictable। CloudWatch Log এবং X-Ray Trace-এর উপর বেশি নির্ভর করতে হয়।

Reporting এবং Court Admissibility

Memory Forensic Report Disk Forensic Report-এর মতই Standard অনুসরণ করতে হয়। Chain of Custody, Hash Verification, Tool Version Documentation, এবং Methodology-এর Detailed Description।

Court Admissibility-র জন্য Daubert Standard (US) এবং সম঎কক্ষ আন্তর্জাতিক Standard প্রযোজ্য। Memory Forensic Tool-গুলো Peer Reviewed এবং Generally Accepted হওয়া উচিত। Volatility-র Open Source Nature এবং Academic Citation এই Acceptance-এ সাহায্য করে।

Expert Witness Testimony-এ Methodology Explain করার দক্ষতা গুরুত্বপূর্ণ। Memory Forensics-এর Technical Detail Layperson-এর কাছে ব্যাখ্যা করা একটি Skill। Visualization এবং Analogy ব্যবহার সহায়ক।

Documentation প্রতিটি Step-এ - Acquisition Time, Tool Used, Plugin Run, Output Saved। Reproducibility Forensic Evidence-এর Core Principle। অন্য একজন Investigator-এর একই Result পাওয়া উচিত।

প্রতিরোধ ও প্রতিকার

Memory Forensics একটি Reactive Capability, কিন্তু Proactive Defense-এর জন্য Critical Insight সরবরাহ করে। EDR সমাধান-এ Memory-Based Detection Module Mandatory হওয়া উচিত। CrowdStrike Falcon, Microsoft Defender for Endpoint, এবং SentinelOne এই দিকে Mature।

Memory Acquisition Capability প্রতিটি Mature SOC-এর অংশ হওয়া উচিত। Velociraptor, GRR, এবং Tanium-এর মতো Distributed Forensic Platform Remote Memory Acquisition সমর্থন করে। Tabletop Exercise-এ Memory Acquisition Drill অন্তর্ভুক্ত করা।

Threat Hunting Memory Forensics-এর Proactive Application। SOC Analyst নিয়মিতভাবে EDR Telemetry-তে Memory-Related Indicator Hunt করেন - Unusual Process Memory, Injection Pattern, Anomalous Network Connection।

Training-এ Investment - SANS FOR526, 13Cubed Memory Forensics Course, এবং Volatility Foundation-এর Workshop। OpenSecurityTraining-এর Free Course Excellent Introduction। প্রতিটি DFIR Team-এ অন্তত একজন Memory Forensics Specialist থাকা উচিত।

Key Takeaways

Memory Forensics আধুনিক DFIR-এর সর্বোচ্চ Skill Tier। APT, Fileless Malware, Anti-Forensics কৌশল, এবং Sophisticated Threat Actor-এর বিরুদ্ধে এটিই কার্যকর Investigation পদ্ধতি। Kernel Structure-এর গভীর জ্ঞান, Anti-Forensics Bypass কৌশল, এবং Custom Parser Development - এই সব দক্ষতা Senior Investigator-কে Junior থেকে আলাদা করে। Volatility Framework, Pypykatz, Bulk Extractor, এবং Custom YARA Rule-এর Combination একটি শক্তিশালী Investigation Arsenal তৈরি করে। SolarWinds, Stuxnet, এবং অসংখ্য APT Investigation Memory Forensics ছাড়া অসম্ভব ছিল। Modern Cloud এবং Container Environment-এ এই ক্ষেত্র ক্রমাগত পরিবর্তনশীল, এবং Investigator-দের সমান গতিতে Adapt করতে হয়। যে কোনো Mature Cybersecurity Program-এ Memory Forensics একটি Foundational Capability হওয়া উচিত - কারণ আজকের সবচেয়ে গুরুত্বপূর্ণ Evidence Disk-এ নয়, এটি RAM-এ।

আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Memory Forensics MCQ Quiz-টি দিন!

Related articles

back to all articles