GNU/Linux একটি অত্যন্ত নিরাপদ অপারেটিং সিস্টেম হলেও, অনেকের মনে ভুল ধারণা থাকে যে এখানে কিছুই হতে পারে না। তারা মনে করে সিকিউর এনভায়রনমেন্ট থেকে কাজ করলে কোনো হুমকি নেই। বাস্তবে লিনাক্সে ম্যালওয়্যার খুব কম হলেও, রুটকিট বা অনুরূপ আক্রমণের সম্ভাবনা থেকে ইনকার করা যায় না। একটি রুটকিট হল টুলসের সেট যা অনधিকারবেশে সিস্টেমে প্রবেশ পেলে ফাইল মডিফাই করতে ব্যবহৃত হয়। Unhide প্যাকেজ দিয়ে দ্রুত ilyen কম্প্রোমাইজড সফ্টওয়্যার খুঁজে বের করা সম্ভব।
Unhide ইনস্টলেশন
প্রায় সব বড় লিনাক্স ডিস্ট্রিবিউশনের রিপোজিটরিতে unhide উপলব্ধ। ডেবিয়ান/উবুন্টুতে sudo apt-get install unhide কমান্ড দিয়ে ইনস্টল করা যায়। GUI সার্ভার라면 Synaptic Package Manager ব্যবহার করুন। ফেডোরা ও আর্কের নিজস্ব প্যাকেজ ম্যানেজমেন্ট সিস্টেমে প্রি-বিল্ট ভার্সন আছে। ইনস্টল হলে সিস্টেম অ্যাডমিনিস্ট্রেটর একাধিকভাবে এটি ব্যবহার করতে পারেন।
পদ্ধতি ১: প্রসেস আইডি ব্রুটফোর্স করা
সবচেয়ে বেসিক টেকনিক হল প্রতিটি প্রসেস আইডি ব্রুটফোর্স করে যাচাই করা যে কোনো প্রসেস লুকানো হয়নি। রুট এক্সেস না থাকলে CLI-তে sudo unhide brute -d টাইপ করুন। -d অপশন টেস্ট ডাবল করে ফলস পজিটিভ কমায়।
আউটপুট খুব সিম্পল। কপিরাইট মেসেজের পর unhide চেকগুলো ব্যাখ্যা করে। এরপর দুটি লাইন দেখাবে:
[*]Starting scanning using brute force against PIDS with fork()
[*]Starting scanning using brute force against PIDS with pthread functions
যদি এরপর আর কিছু না আসে তবে চিন্তার কোনো কারণ নেই। যদি ব্রুট সাবরুটিন কিছু খুঁজে পায় তবে রিপোর্ট করবে:
Found HIDDEN PID: 0000
এখানে ০০০০-এর জায়গায় ভ্যালিড নম্বর থাকবে। যদি শুধু "transitory process" বলে তবে সেটা ফলস পজিটিভ হতে পারে। পরিষ্কার রেজাল্ট পাওয়া পর্যন্ত একাধিকবার টেস্ট চালান। লগ ফাইল তৈরি করতে -f স্যুইচ ব্যবহার করুন (নতুন ভার্সনে ফাইলের নাম unhide-linux.log)।
পদ্ধতি ২: /proc এবং /bin/ps তুলনা করা
unhide কে /bin/ps এবং /proc প্রসেস লিস্ট তুলনা করতে বলা যায়। ইউনিক্স রুল অনুযায়ী রানিং প্রসেস দুটো লিস্টে আইডি দেখাতে হয়। কমান্ড: sudo unhide proc -v ( -v ভার্বোজ মোড)।
এই মেথড রিটার্ন করবে:
[*]Searching for Hidden processes through /proc stat scanning
যে কোনো অস্বাভাবিকতা থাকলে এই লাইনের পরে দেখাবে।
পদ্ধতি ৩: Proc এবং Procfs টেকনিক কাম্বাইন করা
/bin/ps ও /proc লিস্ট তুলনার পাশাপাশি /bin/ps ইনফোকে ভার্চুয়াল procfs এন্ট্রি দিয়ে চেক করা যায়। এটি ইউনিক্স ফাইল ট্রি রুল এবং procfs ডেটা দুটোই যাচায়। কমান্ড: sudo unhide procall -v। এটি কিছুটা সময় নেয় কারণ সকল /proc স্ট্যাট স্ক্যান করে এবং একাধিক টেস্ট চালায়। সার্ভারের সবকিছু ঠিক আছে কিনা নিশ্চিত করার ভালো উপায়।
পদ্ধতি ৪: Procfs রেজাল্ট /bin/ps দিয়ে তুলনা
পূর্বের টেস্টগুলো বেশ জটিল, তাই শুধু proc ফাইল সিস্টেম চেক দ্রুত করতে sudo unhide procfs -m ব্যবহার করুন। এটি আরও কয়েকটি চেক যোগ করে। এটাও কিছুটা সময় নেয় এবং তিন লাইন আউটপুট দেয়। যেকোনো টেস্টে -f দিয়ে ফুল লগ তৈরি করা যায়।
পদ্ধতি ৫: কুইক স্ক্যান চালানো
গভীর চেক ছাড়া দ্রুত স্ক্যানের জন্য sudo unhide quick। এটি প্রসেস লিস্ট, proc ফাইল সিস্টেম এবং সিস্টেম কলের ইনফো তুলনা করে। আউটপুট এক লাইন:
[*]Searching for Hidden processes through comparison of results of system calls, proc, dir and ps
এটি ফলস পজিটিভের রিস্ক বড়ায়, তাই পূর্বের রেজাল্ট রিভিউ করার পর ডাবল চেকের জন্য ব্যবহার করুন।
পদ্ধতি ৬: রিভার্স স্ক্যান চালানো
রুটকিট খুঁজে বের করার দারুণ টেকনিক হল সব ps থ্রেড ভেরিফাই করা। ps কমান্ড থেকে টার্মিনালে চালানো কমান্ডের লিস্ট পাওয়া যায়। রিভার্স স্ক্যান যাচায় প্রতিটি প্রসেসর থ্রেডের সিস্টেম কল ভ্যালিড কিনা এবং procfs-এ লুকাপানো যায় কিনা। কমান্ড: sudo unhide reverse। এটি খুব দ্রুত চলে এবং ফেক প্রসেস খুঁজে বের করার কথা বলে।
পদ্ধতি ৭: /bin/ps সিস্টেম কল দিয়ে তুলনা
সবচেয়ে কম্প্রিহেনসিভ চেক: /bin/ps লিস্টিংয়ের সকল ইনফোকে ভ্যালিড সিস্টেম কল দিয়ে মিলানো। কমান্ড: sudo unhide sys। এটি অন্যদের চেয়ে বেশি সময় নেয়। আউটপুট অনেক লাইন হয়, তাই -f দিয়ে লগ ফাইলে সেভ করা বুদ্ধিমানের কাজ।
লেখক সম্পর্কে

কেভিন অ্যারোজ
কেভিন অ্যারোজ একদশ বছরের উদ্যোগ অভিজ্ঞতা সম্পন্ন প্রযুক্তি বিশেষজ্ঞ। তিনি Microsoft Certified Technology Specialist (MCTS) সার্টিফিকেট ধারণ করেন এবং সর্বশেষ টেক ডেভেলপমেন্টে আপডেট থাকতে গভীর আগ্রহ রাখেন। সফ্টওয়্যার ডেভেলপমেন্ট, সাইবার সিকিউরিটি ও ক্লাউড কম্পিউটিং-এর ওপর ব্যাপক লিখেছেন। টেক ফিল্ডে তাঁর অবদান واسعة স্বীকৃত এবং সন্মানিত। জটিল টেকনিক্যাল কনসেপ্ট স্পষ্ট ও সংক্ষেপে ব্যাখ্যা করার ক্ষমতার জন্য তিনি সম্মানিত।