৩২. থিওরি ও ডিফেন্স: কীলগার (Keylogger) এবং সিস্টেম মনিটরিং
সাইবার সিকিউরিটিতে ম্যালওয়্যার বা হ্যাকিং টুলস কীভাবে কাজ করে তা জানাটা খুবই জরুরি, কারণ এগুলো না জানলে আপনি সিস্টেমকে সুরক্ষিত রাখতে পারবেন না। এই চ্যাপ্টারে আমরা "কীলগার" (Keylogger) এর থিওরিটিক্যাল মেকানিজম এবং এটি থেকে বাঁচার উপায় নিয়ে আলোচনা করবো।
কীলগার (Keylogger) কী?
কীলগার হলো এমন একটি সফটওয়্যার বা হার্ডওয়্যার, যা কম্পিউটারের কিবোর্ডে টাইপ করা প্রতিটি অক্ষর (Keystroke) রেকর্ড করে। এথিক্যাল কাজে (যেমন: প্যারেন্টাল কন্ট্রোল বা কোম্পানির এমপ্লয়ি মনিটরিং) এটি ব্যবহৃত হলেও, হ্যাকাররা মূলত পাসওয়ার্ড, ক্রেডিট কার্ডের তথ্য এবং ব্যক্তিগত মেসেজ চুরি করার জন্য এটি ব্যবহার করে।
কীলগার কীভাবে কাজ করে? (Theoretical Mechanics):
অপারেটিং সিস্টেম (যেমন: Windows বা Linux) যখন কিবোর্ড থেকে কোনো ইনপুট পায়, তখন সেটি বিভিন্ন লেয়ার পার হয়ে অ্যাপ্লিকেশনে পৌঁছায়। কীলগারগুলো সাধারণত এই লেয়ারগুলোর মাঝখানে বসে ডেটা চুরি করে:
-
API Hooking (এপিআই হুকিং): উইন্ডোজ অপারেটিং সিস্টেমে
SetWindowsHookExনামে একটি API আছে। এর কাজ হলো সিস্টেমে কোনো ইভেন্ট (যেমন কিবোর্ড চাপলে বা মাউস নাড়ালে) ঘটলে তা ইন্টারসেপ্ট (Intercept) করা। কীলগারগুলো এই API ব্যবহার করে অপারেটিং সিস্টেমকে বলে, "কেউ কিবোর্ডে কিছু চাপলে মূল সফটওয়্যারকে জানানোর আগে আমাকে জানাবে।" -
Kernel-Level Keyloggers: এগুলো আরও ভয়ংকর! এরা সরাসরি অপারেটিং সিস্টেমের কোর (Core) বা কার্নেল লেভেলে কাজ করে। কিবোর্ডের ড্রাইভারের ভেতরেই এরা লুকিয়ে থাকে, ফলে সাধারণ অ্যান্টিভাইরাস এদের সহজে ধরতে পারে না।
-
Data Exfiltration (ডেটা পাচার): লুকিয়ে লুকিয়ে রেকর্ড করা ডেটাগুলোকে কীলগার একটি ফাইলে সেভ করে রাখে এবং পরবর্তীতে এনক্রিপ্ট (Encrypt) করে ইমেইল বা হ্যাকারের সার্ভারে আপলোড করে দেয়।
পাইথনে কিবোর্ড ইভেন্ট কীভাবে কাজ করে? (Benign Use-case)
পাইথনে pynput বা keyboard লাইব্রেরি ব্যবহার করে সিস্টেমের কিবোর্ড ইভেন্ট রিড করা যায়। এটি সাধারণত গেম বানানো, ম্যাক্রো (Macro) তৈরি করা বা অটোমেশনের কাজে ব্যবহৃত হয়।
একটি সাধারণ কিবোর্ড লিসেনার (অটোমেশন/গেমের জন্য):
নিচের কোডটি কোনো ম্যালওয়্যার নয়, এটি একটি সাধারণ প্রোগ্রাম যা আপনি কোন কি (Key) চাপছেন তা আপনার স্ক্রিনেই দেখাবে এবং Esc চাপলে বন্ধ হয়ে যাবে। এটি দিয়ে আপনি বুঝতে পারবেন সিস্টেম কীভাবে ইনপুট নেয়:
from pynput import keyboard
def on_press(key):
try:
# সাধারণ অক্ষরগুলো প্রিন্ট করবে
print(f"Alphanumeric key pressed: {key.char}")
except AttributeError:
# স্পেশাল কি (যেমন Shift, Ctrl) প্রিন্ট করবে
print(f"Special key pressed: {key}")
def on_release(key):
# 'Esc' বাটন চাপলে প্রোগ্রাম বন্ধ হয়ে যাবে
if key == keyboard.Key.esc:
print("Exiting program...")
return False
print("Keyboard listener started. Press 'Esc' to exit.")
# কীবোর্ড লিসেনার চালু করা
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
(বিঃদ্রঃ এই কোডটি শুধুমাত্র টার্মিনালে ইনপুট দেখাবে এবং এর কোনো ব্যাকগ্রাউন্ড এক্সিকিউশন বা ডেটা সেভ করার ক্ষমতা নেই।)
কীভাবে কীলগার ডিটেক্ট করবেন এবং সুরক্ষিত থাকবেন? (Defensive Security):
একজন সিকিউরিটি এক্সপার্ট বা সাধারণ ইউজার হিসেবে আপনার জানা উচিত কীভাবে কীলগার থেকে বাঁচবেন:
১. প্রসেস মনিটরিং (Process Monitoring):
টাস্ক ম্যানেজার (Task Manager) বা লিনাক্সের htop ব্যবহার করে আননোন (Unknown) ব্যাকগ্রাউন্ড প্রসেস খুঁজুন। ম্যালওয়্যারগুলো সাধারণত svchost.exe বা explorer.exe এর মতো ভুয়া নাম ধারণ করে ব্যাকগ্রাউন্ডে চলতে থাকে।
২. নেটওয়ার্ক মনিটরিং (Network Analysis):
কীলগারকে রেকর্ড করা ডেটা হ্যাকারের কাছে পাঠাতে হয়। Wireshark বা GlassWire এর মতো টুলস ব্যবহার করে আপনার কম্পিউটারের নেটওয়ার্ক ট্রাফিক মনিটর করতে পারেন। যদি দেখেন এমন কোনো সফটওয়্যার ইন্টারনেটে ডেটা পাঠাচ্ছে যাকে আপনি চেনেন না, তবে সেটি ম্যালওয়্যার হতে পারে।
৩. স্টার্টআপ ফোল্ডার চেক করা:
ম্যালওয়্যারগুলো কম্পিউটার চালু হওয়ার সাথেই রান করার জন্য রেজিস্ট্রি (Registry) বা স্টার্টআপ ফোল্ডারে নিজেদের যুক্ত করে নেয়। উইন্ডোজে Task Manager -> Startup ট্যাবে গিয়ে সন্দেহজনক কিছু থাকলে তা বন্ধ করে দিন (Disable)।
৪. অ্যান্টি-কীলগার এবং ভার্চুয়াল কিবোর্ড: ব্যাংকিং বা গুরুত্বপূর্ণ পেমেন্টের সময় অন-স্ক্রিন বা ভার্চুয়াল কিবোর্ড ব্যবহার করুন, কারণ অনেক সাধারণ কীলগার অন-স্ক্রিন কিবোর্ডের ক্লিক ধরতে পারে না।
এই কনসেপ্টগুলো প্র্যাকটিস করার মাধ্যমে আপনি বুঝতে পারবেন সিস্টেমগুলো কীভাবে কাজ করে এবং কীভাবে সেগুলোকে সুরক্ষিত করতে হয়।