Bootkit Analysis: অপারেটিং সিস্টেম চালুর আগেই ম্যালওয়্যারের অনুপ্রবেশ শনাক্তকরণ!
Bootkit Analysis নিয়ে বিস্তারিত আলোচনা—কীভাবে কাজ করে, কেন বিপজ্জনক, এবং কীভাবে শনাক্ত ও প্রতিরোধ করা যায়।
কম্পিউটারের পাওয়ার বাটনে চাপ দেওয়ার পর থেকে অপারেটিং সিস্টেম পুরোপুরি লোড হওয়া পর্যন্ত মাঝখানে কয়েক সেকেন্ডের একটি গোপন জগৎ থাকে, যেখানে ফার্মওয়্যার, বুটলোডার এবং কার্নেল ধাপে ধাপে নিয়ন্ত্রণ একে অপরের হাতে তুলে দেয়। এই অতি স্বল্প সময়ের মধ্যেই যদি কোনো ম্যালওয়্যার নিজেকে স্থাপন করতে পারে, তাহলে এটি অপারেটিং সিস্টেমের চেয়েও উচ্চ ক্ষমতায় চলবে এবং প্রায় সব এন্টিভাইরাসের নজরদারির বাইরে থাকবে। এই বিশেষ ধরনের ম্যালওয়্যারকেই বলা হয় Bootkit। আধুনিক APT গোষ্ঠী এবং রাষ্ট্র-পৃষ্ঠপোষিত হ্যাকাররা Bootkit-কে তাদের সবচেয়ে শক্তিশালী হাতিয়ার হিসেবে ব্যবহার করছে। এই আর্টিকেলে আমরা Bootkit-এর কারিগরি দিক ও বিশ্লেষণের পদ্ধতি বিস্তারিতভাবে দেখব।
Bootkit কী এবং কেন বিপজ্জনক
Bootkit হলো এক ধরনের Rootkit যা অপারেটিং সিস্টেম চালু হওয়ার আগেই এক্সিকিউট হয়। সাধারণ ম্যালওয়্যার OS লোড হওয়ার পর কাজ করে, কিন্তু Bootkit তার আগেই বুট প্রসেসে অনুপ্রবেশ করে। ফলে এটি OS-এর সিকিউরিটি কন্ট্রোল, যেমন Antivirus, EDR, এমনকি Secure Boot পর্যন্ত বাইপাস করতে সক্ষম।
Bootkit-এর সবচেয়ে ভয়ংকর দিক হলো এটি Persistence অর্জনে অসাধারণ দক্ষ। অপারেটিং সিস্টেম পুনরায় ইনস্টল করলেও Bootkit থেকে যায়, কারণ এটি ডিস্কের এমন একটি অংশে বা ফার্মওয়্যারে নিজেকে লুকিয়ে রাখে যা সাধারণ ফরম্যাট প্রক্রিয়ায় মুছে যায় না। কিছু উন্নত Bootkit সরাসরি SPI Flash চিপে লেখা থাকে, যা শুধুমাত্র বিশেষ হার্ডওয়্যার প্রোগ্রামার দিয়ে মুছে ফেলা সম্ভব।
বুট প্রসেস বোঝা
Bootkit বিশ্লেষণ করতে হলে আগে আধুনিক বুট প্রক্রিয়া বুঝতে হবে। প্রথমে CPU পাওয়ার পাওয়ার পর Reset Vector থেকে কোড এক্সিকিউট করা শুরু করে, যা সাধারণত মাদারবোর্ডের ROM-এ থাকা UEFI ফার্মওয়্যার। UEFI বিভিন্ন হার্ডওয়্যার ইনিশিয়ালাইজ করে এবং Boot Manager-এর কাছে নিয়ন্ত্রণ হস্তান্তর করে।
Boot Manager EFI System Partition (ESP) থেকে অপারেটিং সিস্টেমের বুটলোডার লোড করে। উইন্ডোজের ক্ষেত্রে এটি bootmgfw.efi এবং winload.efi, লিনাক্সের ক্ষেত্রে GRUB বা systemd-boot। বুটলোডার তারপর কার্নেল লোড করে, যা বাকি OS চালু করে। পুরোনো BIOS-ভিত্তিক সিস্টেমে Master Boot Record (MBR) এবং Volume Boot Record (VBR) এই কাজ করত।
প্রতিটি ধাপে Bootkit অনুপ্রবেশ করতে পারে। MBR Bootkit ডিস্কের প্রথম সেক্টর সংক্রমিত করে। VBR Bootkit পার্টিশনের প্রথম সেক্টর পরিবর্তন করে। UEFI Bootkit সরাসরি ESP পার্টিশনে বা SPI Flash-এ বসে। প্রতিটি স্তরের Bootkit-এর শনাক্তকরণের পদ্ধতি ভিন্ন।
কুখ্যাত Bootkit-এর উদাহরণ
ইতিহাসের সবচেয়ে আলোচিত Bootkit-গুলোর মধ্যে রয়েছে TDL4, যা ২০১১ সালে আবিষ্কৃত হয় এবং MBR সংক্রমিত করে কার্নেলে নিজস্ব ড্রাইভার লোড করত। Mebromi ছিল প্রথম পাবলিক BIOS Bootkit যা সরাসরি Award BIOS-এর Boot Block পরিবর্তন করত। Rovnix ব্যবহার করত VBR সংক্রমণের কৌশল।
আধুনিক যুগের সবচেয়ে অত্যাধুনিক Bootkit হলো LoJax, যা Sednit বা APT28 গোষ্ঠী দ্বারা ব্যবহৃত প্রথম জনসমক্ষে আসা UEFI Bootkit। এটি সরাসরি SPI Flash-এ লেখা হতো এবং অপারেটিং সিস্টেম পুনরায় ইনস্টল করলেও থেকে যেত। ২০২২ সালে আবিষ্কৃত BlackLotus আরও উন্নত, কারণ এটি Windows 11-এর Secure Boot বাইপাস করার ক্ষমতা রাখে। ESPecter এবং MoonBounce-এর মতো Bootkit-ও সম্প্রতি শনাক্ত হয়েছে।
Bootkit বিশ্লেষণের পদ্ধতি
Bootkit বিশ্লেষণ সাধারণ ম্যালওয়্যার বিশ্লেষণের চেয়ে অনেক জটিল। প্রথমে প্রয়োজন একটি Isolated Environment তৈরি করা, যা সাধারণত একটি নিবেদিত হার্ডওয়্যার বা QEMU-এর মতো ফুল-সিস্টেম এমুলেটর। VMware বা VirtualBox-এ Bootkit বিশ্লেষণ সম্ভব হলেও অনেক Bootkit ভার্চুয়াল পরিবেশ শনাক্ত করে নিজেকে নিষ্ক্রিয় রাখে।
বিশ্লেষণের প্রথম ধাপ হলো Static Analysis। chipsec টুল ব্যবহার করে SPI Flash ডাম্প নেওয়া হয় এবং UEFITool দিয়ে EFI ভলিউম স্ট্রাকচার পরীক্ষা করা হয়। সন্দেহজনক EFI মডিউল IDA Pro বা Ghidra-তে লোড করে রিভার্স ইঞ্জিনিয়ারিং করা হয়। বিশেষ মনোযোগ দিতে হয় Boot Services এবং Runtime Services-এর কলগুলোর প্রতি।
দ্বিতীয় ধাপ হলো Dynamic Analysis। QEMU-তে OVMF বা EDK2 ফার্মওয়্যার ব্যবহার করে সংক্রমিত সিস্টেম চালানো হয় এবং GDB দিয়ে ডিবাগ করা হয়। efiSeek এবং efiXplorer-এর মতো বিশেষায়িত Ghidra প্লাগইন UEFI বিশ্লেষণে অত্যন্ত কার্যকর। সংক্রমিত MBR বা VBR বিশ্লেষণের জন্য Bochs ইমুলেটর এবং তার বিল্ট-ইন ডিবাগার ব্যবহার করা হয়।
তৃতীয় ধাপে নেটওয়ার্ক ট্রাফিক মনিটর করা হয়। অনেক Bootkit C2 সার্ভারের সাথে যোগাযোগ করে আদেশ গ্রহণ করে। Wireshark বা INetSim-এর মতো টুল ব্যবহার করে এই কমিউনিকেশন ক্যাপচার ও বিশ্লেষণ করা যায়।
কোড-লেভেল বিশ্লেষণের উদাহরণ
একটি Bootkit সাধারণত নিম্নলিখিত প্যাটার্ন অনুসরণ করে। প্রথমে এটি একটি বৈধ EFI Driver-এর ছদ্মবেশ ধারণ করে এবং DXE বা BDS পর্যায়ে লোড হয়। তারপর এটি gBS->LocateProtocol কল করে গুরুত্বপূর্ণ প্রোটোকল হ্যান্ডেল খুঁজে বের করে। বিশেষ করে EFI_LOAD_FILE_PROTOCOL বা EFI_SECURITY_ARCH_PROTOCOL হুক করে এটি বুট চেইনের পরবর্তী পর্যায়ের কোড পরিবর্তন করতে পারে।
Windows বুটলোডার সংক্রমণের ক্ষেত্রে Bootkit OslArchTransferToKernel ফাংশনে হুক বসিয়ে কার্নেলে নিয়ন্ত্রণ স্থানান্তরের ঠিক আগে নিজস্ব শেলকোড এক্সিকিউট করে। এই শেলকোড সাধারণত PatchGuard নিষ্ক্রিয় করে বা Driver Signature Enforcement বাইপাস করে, যাতে পরবর্তীতে আনসাইনড ম্যালিশিয়াস ড্রাইভার লোড করা যায়।
প্রতিরোধ ও প্রতিকার
Bootkit থেকে সুরক্ষার প্রথম স্তর হলো UEFI Secure Boot সক্রিয় রাখা। Secure Boot নিশ্চিত করে যে শুধুমাত্র Microsoft বা OEM দ্বারা সাইনকৃত বুটলোডার এক্সিকিউট হবে। তবে BlackLotus-এর মতো Bootkit baton drop দুর্বলতা ব্যবহার করে এটিও বাইপাস করতে পারে, তাই নিয়মিত ফার্মওয়্যার আপডেট অত্যন্ত গুরুত্বপূর্ণ।
দ্বিতীয় স্তর হলো Measured Boot এবং Trusted Platform Module (TPM)। প্রতিটি বুট কম্পোনেন্টের হ্যাশ TPM-এ সংরক্ষিত হয় এবং Remote Attestation-এর মাধ্যমে এর অখণ্ডতা যাচাই করা যায়। Windows-এর Device Guard এবং BitLocker এই প্রযুক্তি ব্যবহার করে।
তৃতীয়ত, BIOS/UEFI অ্যাডমিন পাসওয়ার্ড সেট করা এবং SPI Flash Write Protection সক্রিয় রাখা জরুরি। চতুর্থত, Intel Boot Guard বা AMD Platform Secure Boot-এর মতো হার্ডওয়্যার-লেভেল সুরক্ষা ব্যবহার করা উচিত। পঞ্চমত, এন্টারপ্রাইজ পরিবেশে Microsoft Defender for Endpoint বা CrowdStrike Falcon-এর মতো EDR সলিউশন ব্যবহার করতে হবে যা UEFI স্ক্যানিং সমর্থন করে।
সংক্রমণ সন্দেহ হলে chipsec_main --module common.bios_wp কমান্ড দিয়ে BIOS Write Protection পরীক্ষা করা যায়। ESET-এর UEFI Scanner বা CHIPSEC ফ্রেমওয়ার্ক ব্যবহার করে পরিচিত Bootkit শনাক্ত করা সম্ভব। চূড়ান্ত সমাধান হিসেবে অনেক ক্ষেত্রে SPI Flash সম্পূর্ণ পুনঃপ্রোগ্রামিং প্রয়োজন হয়, যা মাদারবোর্ড প্রস্তুতকারকের ফার্মওয়্যার রিকভারি টুল দিয়ে করা যায়।
Bootkit Analysis সাইবার নিরাপত্তার সবচেয়ে কঠিন বিশেষায়িত শাখাগুলোর একটি। এটি শুধু সফটওয়্যার নয়, ফার্মওয়্যার, হার্ডওয়্যার এবং নিম্ন-স্তরের আর্কিটেকচারের গভীর জ্ঞান দাবি করে। আধুনিক APT হামলার পরিপ্রেক্ষিতে Bootkit সম্পর্কে সচেতনতা ও প্রস্তুতি প্রতিটি প্রতিষ্ঠানের জন্য অপরিহার্য। Secure Boot, TPM, এবং নিয়মিত ফার্মওয়্যার আপডেটের সমন্বয়ে একটি স্তরবদ্ধ প্রতিরক্ষা গড়ে তোলাই এই অদৃশ্য শত্রু থেকে রক্ষার একমাত্র কার্যকর উপায়।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Bootkit Analysis MCQ Quiz-টি দিন!
Related articles
AMSI Patching: Deconstructing the Art of Disabling Antivirus via Memory Manipulation
8 min
API Unhooking: How Malware Evades EDR System Surveillance
8 min
EDR Evasion Techniques: How Modern Malware Bypasses Security Systems
11 min
Hooking Detection: Monitoring Internal Processes and Identifying Malware Hooks
8 min

