HackCert
Intermediate 11 min read May 25, 2026

Process Doppelganging: অ্যান্টিভাইরাস সফটওয়্যারকে ধোঁকা দিতে ম্যালওয়্যারের অ্যাডভান্সড মেমোরি ট্রিকস!

Process Doppelganging কীভাবে Windows-এর Transactional NTFS অপব্যবহার করে অ্যান্টিভাইরাস বাইপাস করে এবং প্রতিরক্ষা কৌশল জানুন।

Imran Hossain Chowdhury
Malware Analyst
share
Process Doppelganging: অ্যান্টিভাইরাস সফটওয়্যারকে ধোঁকা দিতে ম্যালওয়্যারের অ্যাডভান্সড মেমোরি ট্রিকস!
Overview

আধুনিক অ্যান্টিভাইরাস এবং EDR সিস্টেমগুলো প্রতিদিন লক্ষ লক্ষ ফাইল স্ক্যান করে, প্রক্রিয়ার আচরণ পর্যবেক্ষণ করে, এবং সন্দেহজনক কার্যকলাপ ব্লক করে। তবে ম্যালওয়্যার লেখকরা থেমে থাকেন না—তারা ক্রমাগত নতুন কৌশল আবিষ্কার করেন যা এই প্রতিরক্ষা ভেদ করতে পারে। ২০১৭ সালে BlackHat Europe-এ enSilo-র Tal Liberman এবং Eugene Kogan একটি উদ্ভাবনী কৌশল প্রকাশ করেছিলেন—Process Doppelganging। এটি Windows-এর একটি বৈশিষ্ট্য Transactional NTFS (TxF) অপব্যবহার করে এমন একটি প্রক্রিয়া তৈরি করে যা দেখতে বৈধ কিন্তু আসলে ক্ষতিকর কোড চালায়। সবচেয়ে ভয়ঙ্কর বিষয়—এই কৌশলে ডিস্কে কোনো ম্যালওয়্যার ফাইলের চিহ্ন থাকে না, ফলে স্বাক্ষর-ভিত্তিক সনাক্তকরণ সম্পূর্ণ অর্থহীন হয়ে যায়। SynAck Ransomware ২০১৮ সালে এই কৌশল ব্যবহার করে প্রমাণ করেছিল এটি তাত্ত্বিক নয়, বাস্তব হুমকি। এই আর্টিকেলে আমরা Process Doppelganging-এর প্রযুক্তিগত গভীরতা, কার্যপ্রণালী, এবং প্রতিরক্ষা আলোচনা করবো।

Process Doppelganging: মূল ধারণা

Process Doppelganging হলো একটি Process Injection কৌশল যেখানে আক্রমণকারী Windows Transactional NTFS (TxF)-এর Race Condition প্রকৃতি অপব্যবহার করে। সাধারণ Process Hollowing-এর সাথে এর সাদৃশ্য রয়েছে কিন্তু গুরুত্বপূর্ণ পার্থক্যও আছে। Process Hollowing-এ একটি বৈধ প্রক্রিয়া সাসপেন্ডেড অবস্থায় তৈরি করে তার Memory খালি করে ম্যালওয়্যার কোড লোড করা হয়—কিন্তু এই পদ্ধতি আধুনিক EDR দ্বারা ব্যাপকভাবে শনাক্তযোগ্য।

Process Doppelganging-এ আক্রমণকারী একটি Transaction-এর ভেতরে একটি বৈধ ফাইল ক্ষতিকর কন্টেন্ট দিয়ে প্রতিস্থাপন করেন, সেই Transactional ফাইল থেকে একটি Section Object তৈরি করেন, তারপর Transaction Rollback করেন। ফলাফল—ডিস্কে মূল বৈধ ফাইল অপরিবর্তিত থাকে কিন্তু Memory-তে একটি Section Object থাকে যা ক্ষতিকর কোড ধারণ করে। সেই Section থেকে প্রক্রিয়া তৈরি করলে সিস্টেম মনে করে প্রক্রিয়াটি বৈধ ফাইল থেকে এসেছে।

এই কৌশলের শক্তি কয়েকটি বিষয়ে। প্রথমত, কোনো ক্ষতিকর ফাইল কখনো ডিস্কে দৃশ্যমান হয় না—Fileless Attack-এর একটি বিশুদ্ধ রূপ। দ্বিতীয়ত, প্রক্রিয়ার Image Name Windows কাছে বৈধ ফাইলের নাম হিসেবে রিপোর্ট হয়। তৃতীয়ত, NTFS Transaction Microsoft-এর একটি অ-প্রচলিত API—অনেক নিরাপত্তা সফটওয়্যার এটি পর্যবেক্ষণ করে না।

Transactional NTFS: প্রযুক্তিগত পটভূমি

TxF Windows Vista-তে প্রবর্তিত একটি বৈশিষ্ট্য যা NTFS-এ Transaction সমর্থন যোগ করে—অনেকটা ডেটাবেস ট্র্যানজ্যাকশনের মতো। একটি Transaction শুরু করে একাধিক ফাইল অপারেশন সম্পাদন করা যায়, তারপর Commit করলে সব পরিবর্তন স্থায়ী হয় বা Rollback করলে সব পরিবর্তন বাতিল হয়। সফটওয়্যার Install/Update-এর Atomicity নিশ্চিত করতে এটি ডিজাইন করা হয়েছিল।

TxF-এর API CreateTransaction, CreateFileTransacted, WriteFile, এবং CommitTransaction/RollbackTransaction অন্তর্ভুক্ত করে। Transaction-এর ভেতরে ফাইল পরিবর্তন অন্য প্রক্রিয়া থেকে দৃশ্যমান নয়—এটি Isolation নীতির প্রকাশ।

তবে Microsoft TxF-এর জটিলতা এবং সীমিত গ্রহণযোগ্যতার কারণে এটি Deprecated ঘোষণা করেছে। নতুন কোডে এটি ব্যবহার নিরুৎসাহিত। কিন্তু পশ্চাদ-সংগতির জন্য API এখনো Windows 10/11-এ উপলব্ধ—এবং এটিই Process Doppelganging-এর সুযোগ সৃষ্টি করে।

NTFS Section Object Windows Kernel-এর একটি মৌলিক কাঠামো যা Memory-mapped File-কে প্রতিনিধিত্ব করে। Process Loader একটি Executable File-কে Section Object হিসেবে লোড করে। NtCreateSection API একটি File Handle থেকে Section তৈরি করে। গুরুত্বপূর্ণ বিষয়—Section তৈরির পর ফাইলের Content পরিবর্তিত হলেও Section-এর কন্টেন্ট অপরিবর্তিত থাকে কারণ এটি Memory-এ Cache হয়ে যায়।

NtCreateProcessEx (Undocumented API) একটি Section Object থেকে সরাসরি প্রক্রিয়া তৈরি করতে পারে—এটি CreateProcess-এর চেয়ে নিম্ন-স্তরের API। এই API-গুলোর সমন্বয়ে Doppelganging সম্ভব হয়।

Process Doppelganging-এর ধাপসমূহ

Process Doppelganging সম্পাদন সাতটি প্রধান ধাপে বিভক্ত। প্রথম ধাপ—CreateTransaction API-এর মাধ্যমে একটি নতুন Transaction তৈরি। এটি একটি Handle ফিরিয়ে দেয় যা পরবর্তী অপারেশনে ব্যবহৃত হয়।

দ্বিতীয় ধাপ—একটি বৈধ Windows Executable (যেমন svchost.exe, notepad.exe, calc.exe) Transactional Mode-এ CreateFileTransacted দিয়ে খোলা হয়। ফাইলটি Read-Write Access সহ এবং Transaction Handle-এর সাথে সংযুক্ত। গুরুত্বপূর্ণ—এই পরিবর্তন শুধু Transaction-এর ভেতরে দৃশ্যমান, ডিস্কের প্রকৃত ফাইল অপরিবর্তিত।

তৃতীয় ধাপ—আক্রমণকারীর ক্ষতিকর Executable-এর কন্টেন্ট WriteFile দিয়ে বৈধ ফাইলে Overwrite করা হয়। মনে রাখবেন, এই Overwrite শুধুমাত্র Transaction-এর ভেতরে—অন্যান্য প্রক্রিয়া এখনো মূল বৈধ ফাইল দেখে।

চতুর্থ ধাপ—NtCreateSection API দিয়ে Transactional File Handle থেকে একটি Section Object তৈরি করা হয়। SEC_IMAGE ফ্ল্যাগ ব্যবহার করে এটি একটি Executable Section হিসেবে চিহ্নিত হয়। এখন Memory-তে একটি Section আছে যা ক্ষতিকর কোড ধারণ করে।

পঞ্চম ধাপ—RollbackTransaction API ডাকা হয়। Transaction-এর সব পরিবর্তন বাতিল হয়। মূল বৈধ ফাইল অপরিবর্তিত থাকে। কিন্তু Section Object Memory-তে অবশিষ্ট থাকে—Memory Reference Counting-এর কারণে এটি Auto-cleanup হয় না।

ষষ্ঠ ধাপ—NtCreateProcessEx বা RtlCreateProcessParametersEx + NtCreateThreadEx দিয়ে Section Object থেকে একটি নতুন প্রক্রিয়া তৈরি করা হয়। PEB এবং TEB কাঠামো সঠিকভাবে কনফিগার করতে হয়—প্রকৃত আক্রমণকারীরা Image Path, Command Line, এবং Working Directory যেন স্বাভাবিক দেখায় সেভাবে সেট করেন।

সপ্তম এবং শেষ ধাপ—Thread Start। প্রক্রিয়া সক্রিয় হয় এবং ক্ষতিকর কোড কার্যকর হয়। Task Manager এবং Process Explorer এই প্রক্রিয়াটিকে বৈধ Image Name (svchost.exe বা যা ব্যবহার করা হয়েছে) দিয়ে দেখায়। প্রক্রিয়ার Image Path বৈধ ফাইল নির্দেশ করে—যদিও Memory-তে চলমান কোড সম্পূর্ণ ভিন্ন।

আবিষ্কারের পর প্রভাব ও Variant

২০১৭ সালে enSilo যখন Process Doppelganging প্রকাশ করেছিল, তখন তারা পরীক্ষা করে দেখেছিলেন এটি প্রায় সব প্রধান AV/EDR—Symantec, McAfee, Kaspersky, Windows Defender—বাইপাস করতে পারে। এই উন্মোচন নিরাপত্তা শিল্পে আলোড়ন সৃষ্টি করেছিল।

SynAck Ransomware ২০১৮ সালের মে মাসে Kaspersky কর্তৃক বিশ্লেষিত হয়—এটি ছিল প্রথম পরিচিত ম্যালওয়্যার যা Process Doppelganging বাস্তব আক্রমণে ব্যবহার করেছিল। SynAck-এর Variant US, Kuwait, Germany, এবং Iran-এ ক্ষতিগ্রস্ত লক্ষ্যবস্তু দেখেছিল। এর জটিলতা প্রমাণ করেছিল যে আধুনিক Crime-ware-ও অত্যাধুনিক Academic কৌশল গ্রহণ করতে দ্রুততায় সক্ষম।

Process Doppelganging-এর Variant এবং উন্নত সংস্করণ দ্রুত উদ্ভূত হয়েছে। Process Herpaderping (২০২০, Johnny Shaw উন্মোচন করেছিলেন) একটি অনুরূপ কৌশল যেখানে Transaction-এর পরিবর্তে সরাসরি ফাইল Overwrite করা হয় Process Creation-এর পরে কিন্তু Image Load Notification-এর আগে। ফলে Image Load Callback-এ EDR দেখে পরিবর্তিত ফাইল—কিন্তু প্রক্রিয়া চলছে মূল কন্টেন্ট থেকে।

Process Ghosting (২০২১, Gabriel Landau) আরো উন্নত। এতে ফাইল Delete-pending অবস্থায় সেট করে প্রক্রিয়া তৈরি করা হয়। এটি একটি ভিন্ন কৌশল কিন্তু একই উদ্দেশ্য—File-on-disk এবং In-memory Image-এর মধ্যে অমিল সৃষ্টি করে EDR ব্যর্থ করা।

Atom Bombing—যা enSilo-র একই গবেষকরা প্রকাশ করেছিলেন—Windows Atom Table অপব্যবহার করে Code Injection-এর আরেকটি অভিনব পদ্ধতি। এই ধরনের কৌশল সমষ্টিগতভাবে প্রমাণ করে—Windows-এর বহু-দশকের API পৃষ্ঠে এখনো অসংখ্য অপব্যবহারযোগ্য সুযোগ রয়েছে।

আক্রমণের প্রভাব এবং বাস্তবায়ন

Process Doppelganging-এর সবচেয়ে বড় প্রভাব হলো Signature-based Detection-এর সম্পূর্ণ ব্যর্থতা। যেহেতু ক্ষতিকর কন্টেন্ট কখনো ডিস্কে লেখা হয় না, File Scanner কিছুই খুঁজে পায় না। Hash-ভিত্তিক Detection (VirusTotal Reputation), YARA Rule-এর সাথে File Scan—সবই অর্থহীন।

Process Reputation-ভিত্তিক Detection-ও বিভ্রান্ত হয়। যখন EDR দেখে svchost.exe চলছে, এটি বৈধ মনে করে। Image Path বৈধ ফাইলকে নির্দেশ করে যার Hash পরিচিত এবং বিশ্বস্ত। Microsoft-স্বাক্ষরিত Binary-র Reputation কাজে লাগিয়ে ম্যালওয়্যার নিজেকে বৈধ হিসেবে উপস্থাপন করে।

Code Signing Validation-ও আংশিকভাবে ব্যর্থ হয়। প্রকৃত Image বৈধভাবে স্বাক্ষরিত হলে সিস্টেম বিশ্বাস করে—যদিও Memory-তে চলমান কোড সম্পূর্ণ ভিন্ন। কিছু আধুনিক EDR এই অমিল সনাক্ত করতে পারে কিন্তু সকল বাস্তবায়ন এই গভীর যাচাই করে না।

লক্ষণীয়—Process Doppelganging-এর জন্য Administrator অধিকার প্রয়োজন নয়। Standard User-এর অ্যাক্সেস যথেষ্ট। এটি Privilege Escalation-এর সাথে সমন্বিত হলে প্রায়শই EDR-পূর্ণ পরিবেশেও পরিপূর্ণ Compromise সম্ভব।

আক্রমণের চেইনে Process Doppelganging সাধারণত Stage 2 হিসেবে ব্যবহৃত হয়। প্রথম Stage একটি সাধারণ Loader (Phishing Document Macro, Exploit-driven Payload) যা মেমোরিতে Doppelganging-এর Implementation কোড আনে। তারপর Doppelganging-এর মাধ্যমে চূড়ান্ত Payload (Ransomware, RAT, Info-stealer) "বৈধ" প্রক্রিয়ার ছদ্মবেশে চালু হয়।

সনাক্তকরণ চ্যালেঞ্জ এবং কৌশল

Process Doppelganging সনাক্তকরণ চ্যালেঞ্জিং কিন্তু সম্ভব। প্রথম স্তরের সনাক্তকরণ Transactional NTFS API পর্যবেক্ষণ। CreateTransaction এবং RollbackTransaction API কল ট্র্যাক করুন। বৈধ অ্যাপ্লিকেশনে এই API অত্যন্ত বিরল—অস্বাভাবিক ব্যবহার সন্দেহজনক চিহ্ন।

দ্বিতীয় স্তর হলো Image Verification at Runtime। যখন একটি প্রক্রিয়া তৈরি হয়, EDR PsSetCreateProcessNotifyRoutineEx বা PsSetLoadImageNotifyRoutine ব্যবহার করে কলব্যাক পায়। সেই কলব্যাকে প্রক্রিয়ার Memory-তে লোডকৃত Image-এর Hash গণনা করে ডিস্কের ফাইলের Hash-এর সাথে তুলনা করা যায়। অমিল Process Doppelganging বা অনুরূপ আক্রমণের শক্তিশালী সূচক।

তৃতীয় স্তর হলো Section Object Tracing। NtCreateSection-এর আর্গুমেন্ট পরীক্ষা করে Transactional ফাইল থেকে Section তৈরি সনাক্ত করুন। Sysmon-এর Event ID 23 (FileCreateStreamHash) এবং নতুন Event এই বিশ্লেষণে সাহায্য করে।

চতুর্থ স্তর হলো Behavioral Detection। Process Doppelganging-এর মাধ্যমে চালু হওয়া Payload-এর আচরণ সাধারণত সন্দেহজনক—অপ্রত্যাশিত Network Connection, File Encryption Pattern, Process Injection, ইত্যাদি। Defender for Endpoint, CrowdStrike Falcon, SentinelOne-এর মতো আধুনিক EDR এই Multi-stage বিশ্লেষণে দক্ষ।

মাইক্রোসফট ২০১৯ সালে Process Doppelganging-এর জন্য নির্দিষ্ট Mitigation যোগ করেছে। Anti-Malware Scan Interface (AMSI) ২.০ এবং Defender-এর Tamper Protection এই কৌশলের কিছু Variant সনাক্ত করতে পারে। তবে নতুন Variant এবং Combination Attack চ্যালেঞ্জ অব্যাহত রাখে।

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

প্রথমে—Microsoft Defender for Endpoint বা সমতুল্য আধুনিক EDR ব্যবহার করুন। CrowdStrike Falcon, SentinelOne, Carbon Black, Trend Micro Apex One—এদের সবগুলোতে Process Doppelganging-এর জন্য নির্দিষ্ট Detection রয়েছে। শুধু Traditional Antivirus অপর্যাপ্ত।

Sysmon (System Monitor) স্থাপন করুন উন্নত Telemetry-র জন্য। SwiftOnSecurity-র Sysmon Config বা Olaf Hartong-এর modular-sysmon-config থেকে শুরু করুন। প্রসেস তৈরি, Image Load, এবং File Activity বিস্তারিতভাবে লগ করুন। SIEM-এ এসব ডেটা সংগ্রহ এবং বিশ্লেষণ করুন।

Application Control এবং Whitelisting বাধ্যতামূলক করুন। Microsoft Defender Application Control (WDAC) বা AppLocker দিয়ে শুধুমাত্র অনুমোদিত Code চলতে দিন। যদিও Doppelganging বৈধ Executable-এর Image ব্যবহার করে, Code Integrity Policy Memory-তে লোডকৃত Code যাচাই করতে পারে।

Attack Surface Reduction (ASR) Rule সক্রিয় করুন। "Block credential stealing from the Windows local security authority subsystem", "Block process creations originating from PSExec and WMI commands", "Block executable content from email client and webmail"—এসব ASR Rule অনেক আক্রমণ Chain ব্যাহত করে।

Memory Protection প্রযুক্তি ব্যবহার করুন। Windows-এর Memory Integrity (HVCI), Credential Guard, এবং Hypervisor-protected Code Integrity আক্রমণকারীদের জন্য Process Injection কঠিন করে। যদিও এসব Process Doppelganging সম্পূর্ণ রোধ করে না, ক্ষতিকর Payload-এর কার্যকারিতা সীমিত করে।

Threat Hunting-এ Process Doppelganging-নির্দিষ্ট Hypothesis অন্তর্ভুক্ত করুন। অস্বাভাবিক Parent-child Process Relationship, বৈধ Windows Binary থেকে অপ্রত্যাশিত Network Connection, একটি Image Path-এর বিরুদ্ধে Memory Hash অমিল—এসব সক্রিয়ভাবে অনুসন্ধান করুন। MITRE ATT&CK Technique T1055.013 (Process Doppelganging) এবং T1055.015 (ListPlanting) সম্পর্কিত TTPs বিবেচনা করুন।

Patch Management গুরুত্বপূর্ণ। Microsoft নিয়মিত নিরাপত্তা আপডেট রিলিজ করে যা Process Injection কৌশলগুলো প্রশমিত করে। নিয়মিত Windows আপডেট প্রয়োগ করুন এবং নতুন Mitigation সক্রিয় রাখুন।

ক্লাউড পরিবেশে Cloud Workload Protection Platform (CWPP) স্থাপন করুন। Microsoft Defender for Cloud, Prisma Cloud, Aqua Security—এসব সমাধান Container এবং VM Workload-এ Process-level Visibility প্রদান করে।

বিকাশকারী এবং সিস্টেম প্রশাসকদের সচেতন করুন। অনেক প্রশাসক Transactional NTFS API সম্পর্কে অবগত নন—অস্বাভাবিক Sysmon Alert আসলে এটি পরীক্ষা করার গুরুত্ব বুঝতে পারেন না। নিরাপত্তা প্রশিক্ষণে আধুনিক Evasion কৌশল অন্তর্ভুক্ত করুন।

Key Takeaways

Process Doppelganging Windows Internals-এর গভীর জ্ঞান এবং Transactional NTFS-এর সৃজনশীল অপব্যবহারের একটি চমৎকার উদাহরণ। এটি প্রমাণ করেছে—একটি বৈধ Microsoft API-ও অপ্রত্যাশিত উপায়ে অপব্যবহার করা যেতে পারে। স্বাক্ষর-ভিত্তিক সনাক্তকরণের সম্পূর্ণ ব্যর্থতা প্রদর্শন করে এই কৌশল EDR শিল্পকে আচরণগত এবং Memory-ভিত্তিক সনাক্তকরণে স্থানান্তরিত হতে বাধ্য করেছে। SynAck Ransomware-এর মাধ্যমে এটি একাডেমিক গবেষণা থেকে বাস্তব হুমকিতে পরিণত হয়েছিল, এবং পরবর্তী Variant—Process Herpaderping, Process Ghosting, Module Stomping—এই ধারণাকে আরো এগিয়ে নিয়েছে। আধুনিক প্রতিরক্ষায় Multi-layered Approach অপরিহার্য—Behavioral Analytics, Memory Scanning, Application Control, এবং Threat Hunting-এর সমন্বিত প্রয়োগ। যে সংস্থা শুধু পুরনো Antivirus-এর উপর নির্ভর করে, তারা এই ধরনের আধুনিক হুমকির বিরুদ্ধে অরক্ষিত। নিরাপত্তা একটি চলমান অস্ত্র প্রতিযোগিতা—Process Doppelganging সেই বাস্তবতার একটি স্পষ্ট প্রতিফলন।

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

Related articles

back to all articles