যদিও GNU/Linux একটি অত্যন্ত সুরক্ষিত অপারেটিং সিস্টেম, অনেক লোক নিরাপত্তার মিথ্যা ধারণায় প্রলুব্ধ হয়। তাদের ভুল ধারণা আছে যে কিছুই ঘটতে পারে না কারণ তারা নিরাপদ পরিবেশ থেকে কাজ করছে। এটি সত্য যে লিনাক্স পরিবেশের জন্য খুব কম ম্যালওয়্যার বিদ্যমান, তবে এটি এখনও খুব সম্ভব যে একটি লিনাক্স ইনস্টলেশন শেষ পর্যন্ত আপস করা যেতে পারে। অন্য কিছু না হলে, রুটকিট এবং অন্যান্য অনুরূপ আক্রমণের সম্ভাবনা বিবেচনা করা সিস্টেম প্রশাসনের একটি গুরুত্বপূর্ণ অংশ। একটি রুটকিট বলতে তৃতীয় পক্ষের ব্যবহারকারীরা এমন একটি কম্পিউটার সিস্টেমে অ্যাক্সেস পাওয়ার পর টুলের একটি সেটকে বোঝায় যেখানে তাদের সঠিকভাবে অ্যাক্সেস নেই। এই কিটটি সঠিক ব্যবহারকারীদের জ্ঞান ছাড়াই ফাইলগুলি পরিবর্তন করতে ব্যবহার করা যেতে পারে। আনহাইড প্যাকেজ এই ধরনের আপস করা সফ্টওয়্যার দ্রুত খুঁজে পেতে প্রয়োজনীয় প্রযুক্তি প্রদান করে।
আনহাইড বেশিরভাগ প্রধান লিনাক্স ডিস্ট্রিবিউশনের সংগ্রহস্থলে রয়েছে। একটি প্যাকেজ ম্যানেজার কমান্ডের ব্যবহার যেমন sudo apt-get install unhide এটিকে ডেবিয়ান এবং উবুন্টুর স্বাদে ইনস্টল করতে বাধ্য করার জন্য যথেষ্ট। GUI অ্যাক্সেস সহ সার্ভারগুলি সিনাপটিক প্যাকেজ ম্যানেজার ব্যবহার করতে পারে। Fedora এবং Arch ডিস্ট্রিবিউশনে তাদের নিজস্ব প্যাকেজ ম্যানেজমেন্ট সিস্টেমের জন্য আনহাইডের পূর্ব-নির্মিত সংস্করণ রয়েছে। একবার আনহাইড ইনস্টল হয়ে গেলে, সিস্টেম অ্যাডমিনিস্ট্রেটররা এটিকে বিভিন্ন উপায়ে ব্যবহার করতে সক্ষম হবেন৷
পদ্ধতি 1:ব্রুটফোর্সিং প্রসেস আইডি
সবচেয়ে মৌলিক কৌশলটিতে প্রতিটি প্রসেস আইডিকে ব্রুটফোর্স করা জড়িত থাকে তা নিশ্চিত করার জন্য যে সেগুলির কোনোটিই ব্যবহারকারীর কাছ থেকে লুকানো হয়নি। আপনার রুট অ্যাক্সেস না থাকলে, CLI প্রম্পটে sudo unhide brute -d টাইপ করুন। ডি বিকল্পটি রিপোর্ট করা মিথ্যা ইতিবাচক সংখ্যা কমাতে পরীক্ষাকে দ্বিগুণ করে।
আউটপুট অত্যন্ত মৌলিক. একটি কপিরাইট বার্তার পরে, আনহাইড এটি যে চেকগুলি সম্পাদন করে তা ব্যাখ্যা করবে৷ সেখানে একটি লাইন থাকবে যেখানে বলা হবে:
[*]ফর্ক()
দিয়ে পিআইডিএস-এর বিরুদ্ধে ব্রুট ফোর্স ব্যবহার করে স্ক্যানিং শুরু করা হচ্ছেএবং অন্যটি বলছে:
[*]pthread ফাংশন সহ PIDS এর বিরুদ্ধে ব্রুট ফোর্স ব্যবহার করে স্ক্যানিং শুরু করা হচ্ছে
যদি অন্য কোন আউটপুট না থাকে, তাহলে উদ্বেগের কোন কারণ নেই। যদি প্রোগ্রামের ব্রুট সাবরুটিন কিছু খুঁজে পায়, তাহলে এটি এরকম কিছু রিপোর্ট করবে:
লুকানো পিআইডি পাওয়া গেছে:0000
চারটি শূন্য একটি বৈধ সংখ্যা দিয়ে প্রতিস্থাপিত হবে। যদি এটি কেবল পড়ে যে এটি একটি ক্ষণস্থায়ী প্রক্রিয়া, তাহলে এটি একটি মিথ্যা ইতিবাচক হতে পারে। এটি একটি পরিষ্কার ফলাফল প্রদান না হওয়া পর্যন্ত পরীক্ষা কয়েকবার চালানোর জন্য নির্দ্বিধায়. যদি আরও তথ্য থাকে, তাহলে এটি একটি ফলো-আপ চেকের নিশ্চয়তা দিতে পারে। আপনার যদি লগের প্রয়োজন হয় তবে আপনি বর্তমান ডিরেক্টরিতে একটি লগ ফাইল তৈরি করতে -f সুইচ ব্যবহার করতে পারেন। প্রোগ্রামের নতুন সংস্করণগুলি এই ফাইলটিকে unhide-linux.log বলে, এবং এতে প্লেইন টেক্সট আউটপুট রয়েছে৷
পদ্ধতি 2:তুলনা করা /proc এবং /bin/ps
ইউনিক্স ফাইল ট্রি-তে এই দুটি পৃথক তালিকা মিলছে কিনা তা নিশ্চিত করার জন্য আপনি /bin/ps এবং /proc প্রক্রিয়া তালিকার তুলনা করতে সরাসরি আনহাইড করতে পারেন। যদি কিছু অগোছালো হয়, তাহলে প্রোগ্রামটি অস্বাভাবিক পিআইডি রিপোর্ট করবে। ইউনিক্সের নিয়মগুলি নির্ধারণ করে যে চলমান প্রক্রিয়াগুলিকে অবশ্যই এই দুটি তালিকায় আইডি নম্বর উপস্থাপন করতে হবে। পরীক্ষা শুরু করতে sudo unhide proc -v টাইপ করুন। ভি-তে ট্যাক করা প্রোগ্রামটিকে ভার্বোজ মোডে রাখবে।
এই পদ্ধতিটি উল্লেখ করে একটি প্রম্পট ফিরিয়ে দেবে:
[*]/proc স্ট্যাট স্ক্যানিং
এর মাধ্যমে লুকানো প্রক্রিয়াগুলি অনুসন্ধান করাঅস্বাভাবিক কিছু ঘটলে, এটি পাঠ্যের এই লাইনের পরে প্রদর্শিত হবে।
পদ্ধতি 3:Proc এবং Procfs কৌশলগুলি একত্রিত করা
প্রয়োজনে আপনি প্রকৃতপক্ষে /bin/ps এবং /proc ইউনিক্স ফাইল ট্রি তালিকার তুলনা করতে পারেন এবং এছাড়াও ভার্চুয়াল procfs এন্ট্রির সাথে /bin/ps তালিকার সমস্ত তথ্য তুলনা করতে পারেন। এটি ইউনিক্স ফাইল ট্রি নিয়মের পাশাপাশি procfs ডেটা উভয়ই পরীক্ষা করে। এই পরীক্ষাটি সম্পাদন করতে sudo unhide procall -v টাইপ করুন, এতে বেশ কিছু সময় লাগতে পারে কারণ এটিকে সমস্ত /proc পরিসংখ্যান স্ক্যান করতে হবে এবং সেইসাথে অন্যান্য বেশ কয়েকটি পরীক্ষা করতে হবে। এটি নিশ্চিত করার একটি চমৎকার উপায় যে সার্ভারের সবকিছুই কপাসেটিক।
পদ্ধতি 4:/bin/ps এর সাথে procfs ফলাফল তুলনা করা
পূর্ববর্তী পরীক্ষাগুলি বেশিরভাগ অ্যাপ্লিকেশনের জন্য খুব জড়িত, তবে আপনি কিছু অভিজ্ঞতার জন্য স্বাধীনভাবে proc ফাইল সিস্টেম চেক চালাতে পারেন। sudo unhide procfs -m টাইপ করুন, যা এই চেকগুলি সম্পাদন করবে এবং -m-এ ট্যাক করে দেওয়া আরও বেশ কয়েকটি চেক।
এটি এখনও একটি বরং জড়িত পরীক্ষা, এবং একটি মুহূর্ত নিতে পারে. এটি আউটপুটের তিনটি পৃথক লাইন প্রদান করে:
মনে রাখবেন যে আপনি কমান্ডে -f যোগ করে এই পরীক্ষার যেকোনো একটি দিয়ে একটি সম্পূর্ণ লগ তৈরি করতে পারেন।
পদ্ধতি 5:একটি দ্রুত স্ক্যান চালানো
আপনার যদি গভীরভাবে পরীক্ষা না করে শুধুমাত্র একটি দ্রুত স্ক্যান চালানোর প্রয়োজন হয়, তাহলে কেবলমাত্র sudo unhide quick টাইপ করুন, যা নাম অনুসারে দ্রুত চালানো উচিত। এই কৌশলটি proc তালিকার পাশাপাশি proc ফাইল সিস্টেম স্ক্যান করে। এটি একটি চেকও চালায় যাতে /bin/ps থেকে সংগৃহীত তথ্যের সাথে সিস্টেম রিসোর্সে কল করা তথ্যের তুলনা করা হয়। এটি আউটপুট একটি একক লাইন প্রদান করে, কিন্তু দুর্ভাগ্যবশত মিথ্যা ইতিবাচক ঝুঁকি বাড়ায়। পূর্ববর্তী ফলাফল পর্যালোচনা করার পরে এটি দুবার পরীক্ষা করা দরকারী।
আউটপুট নিম্নরূপ:
[*]সিস্টেম কল, proc, dir এবং ps
এর ফলাফলের তুলনার মাধ্যমে লুকানো প্রক্রিয়াগুলি অনুসন্ধান করাআপনি এই স্ক্যানটি চালানোর পরে বেশ কিছু ক্ষণস্থায়ী প্রক্রিয়া দেখতে পাবেন৷
পদ্ধতি 6:একটি বিপরীত স্ক্যান চালানো
রুটকিট শুঁকানোর জন্য একটি চমৎকার কৌশল হল সমস্ত পিএস থ্রেড যাচাই করা। আপনি যদি একটি CLI প্রম্পটে ps কমান্ডটি চালান, তাহলে আপনি একটি টার্মিনাল থেকে চালানো কমান্ডের একটি তালিকা দেখতে পাবেন। বিপরীত স্ক্যানিং যাচাই করে যে প্রতিটি প্রসেসর থ্রেড যে ps ইমেজগুলি বৈধ সিস্টেম কল প্রদর্শন করে এবং procfs তালিকায় দেখা যেতে পারে। এটি নিশ্চিত করার একটি দুর্দান্ত উপায় যে একটি রুটকিট কিছু বন্ধ করে দেয়নি। এই চেকটি চালানোর জন্য শুধু sudo unhide reverse টাইপ করুন। এটা অত্যন্ত দ্রুত চালানো উচিত. যখন এটি চলে, প্রোগ্রামটি আপনাকে সূচিত করবে যে এটি জাল প্রক্রিয়াগুলি খুঁজছে৷
৷পদ্ধতি 7:সিস্টেম কলের সাথে /bin/ps তুলনা করা
অবশেষে সবচেয়ে বিস্তৃত পরীক্ষায় বৈধ সিস্টেম কল থেকে নেওয়া তথ্যের সাথে /bin/ps তালিকা থেকে সমস্ত তথ্য তুলনা করা জড়িত। এই পরীক্ষা শুরু করতে sudo unhide sys টাইপ করুন। এটি চালানোর জন্য অন্যদের তুলনায় বেশি সময় লাগবে। যেহেতু এটি অনেকগুলি আউটপুট বিভিন্ন লাইন প্রদান করে, তাই আপনি -f log-to-file কমান্ডটি ব্যবহার করতে চাইতে পারেন যাতে এটি পাওয়া সমস্ত কিছুর মাধ্যমে ফিরে তাকানো সহজ হয়৷
লেখক সম্পর্কে
কেভিন অ্যারোস
কেভিন অ্যারোস এক দশকেরও বেশি শিল্প অভিজ্ঞতার সাথে একজন অত্যন্ত অভিজ্ঞ এবং জ্ঞানী প্রযুক্তি বিশেষজ্ঞ। তিনি মাইক্রোসফ্ট সার্টিফাইড টেকনোলজি স্পেশালিস্ট (MCTS) সার্টিফিকেশন ধারণ করেছেন এবং সর্বশেষ প্রযুক্তিগত উন্নয়ন সম্পর্কে আপ-টু-ডেট থাকার গভীর আবেগ রয়েছে। সফটওয়্যার ডেভেলপমেন্ট, সাইবার সিকিউরিটি, এবং ক্লাউড কম্পিউটিং-এর মতো ক্ষেত্রগুলিতে তার দক্ষতা এবং জ্ঞান প্রদর্শন করে কেভিন প্রযুক্তি-সম্পর্কিত বিষয়গুলির বিস্তৃত পরিসরে ব্যাপকভাবে লিখেছেন। কারিগরি ক্ষেত্রে তার অবদান তার সমবয়সীদের দ্বারা ব্যাপকভাবে স্বীকৃত এবং সম্মানিত হয়েছে এবং জটিল প্রযুক্তিগত ধারণাগুলিকে স্পষ্ট এবং সংক্ষিপ্তভাবে ব্যাখ্যা করার ক্ষমতার জন্য তিনি অত্যন্ত সম্মানিত।