XZ এ ব্যাকডোর বিশ্লেষণের ফলাফল প্রকাশিত হয়েছে

ব্যাকডোর এক্সজেড

ব্যাকডোর এক্সজেড

সন্দেহাতীত ভাবে XZ ইউটিলিটিতে ব্যাকডোরের কেসটি সনাক্ত করা হয়েছিল তা লিনাক্সের ইতিহাসে নিচের দিকে যাওয়া কেসগুলির মধ্যে একটি। এবং এটি কোন কিছুর জন্য নয়, তবে সমস্ত কাজ জিয়া তান দ্বারা করা হয়েছে এটি প্রয়োগকৃত সামাজিক প্রকৌশলের সেরা উদাহরণগুলির মধ্যে একটি, যেহেতু কাজটি নিঃসন্দেহে বিনিয়োগ করা সময়ের জন্য প্রশংসনীয়, যেহেতু আমরা সপ্তাহ বা মাসের কথা বলছি না, অন্তত দুই বছর।

এই মামলাটি অনেকের দৃষ্টি আকর্ষণ করেছে এবং বিপরীত প্রকৌশল বিশ্লেষণ শুরু হয়েছে, যা তাদের প্রাথমিক ফলাফল অনুযায়ী liblzma এম্বেড করা একটি পিছনের দরজা উপস্থিতি প্রকাশ XZ প্যাকেজে অনুপ্রবেশের প্রচারণার অংশ হিসেবে। এই ব্যাকডোরটি বিশেষভাবে Linux কার্নেল এবং Glibc C লাইব্রেরির সাথে x86_64 সিস্টেমগুলিকে প্রভাবিত করার জন্য ডিজাইন করা হয়েছে, যেখানে libsystemd এর সাথে লিঙ্ক করার জন্য sshd-এ একটি অতিরিক্ত প্যাচ প্রয়োগ করা হয়।

গবেষকরা এটি উল্লেখ করেছেন এটি প্রাথমিকভাবে বিশ্বাস করা হয়েছিল যে ব্যাকডোরটি sshd প্রমাণীকরণকে বাইপাস করতে পারে এবং SSH এর মাধ্যমে সিস্টেমে অ্যাক্সেস লাভ করে, কিন্তু আরও বিশ্লেষণে দেখা যায় যে পিছনের দরজা sshd লগে চিহ্ন না রেখে সিস্টেমে নির্বিচারে কোড চালানোর অনুমতি দেয়।

RSA_public_decrypt ফাংশনটি স্থির কী Ed448 ব্যবহার করে হোস্টের স্বাক্ষর যাচাই করতে ব্যাকডোর দ্বারা বাধা দেওয়া হয়। যাচাইকরণ সফল হলে, বহিরাগত হোস্ট দ্বারা প্রেরিত কোডটি সিস্টেম() ফাংশন ব্যবহার করে sshd সুবিধাগুলি পুনরায় সেট করার আগে কার্যকর করা হয়। কার্যকর করা কোড ডেটা RSA_public_decrypt ফাংশনে পাস করা "N" প্যারামিটার থেকে বের করা হয় এবং পূর্বনির্ধারিত কী ChaCha20 ব্যবহার করে যাচাই ও ডিক্রিপ্ট করা হয়।

পিছনের দরজা সক্রিয় করতে sshd-এ, স্ট্যান্ডার্ড হোস্ট কী এক্সচেঞ্জ মেকানিজম ব্যবহার করে এবং আক্রমণকারীর দ্বারা প্রস্তুত করা কী-তে সাড়া দেয় এবং পূর্বনির্ধারিত ফিক্সড কী Ed448 এর সাথে সম্পর্কিত। যদি পাবলিক কী স্বাক্ষর যাচাইকরণ ব্যর্থ হয় বা এক্সিকিউশন ডেটার অখণ্ডতা নিশ্চিত না হলে, ব্যাকডোর স্ট্যান্ডার্ড SSH ফাংশনে নিয়ন্ত্রণ ফিরিয়ে দেয়।

আক্রমণকারীর ব্যক্তিগত কীটি অজানা থেকে যায়, যা বহিরাগত উত্স থেকে ব্যাকডোর সক্রিয় করতে বা নেটওয়ার্কে আপস করা হোস্ট সনাক্ত করে এমন একটি স্ক্যানার বিকাশ করতে একটি যাচাইকরণ কোড প্রয়োগ করা অসম্ভব করে তোলে৷ যাইহোক, গবেষকরা একটি স্ক্রিপ্ট তৈরি করেছেন যা দেখায় যে কীভাবে একটি SSH ক্লায়েন্ট দ্বারা প্রেরিত একটি OpenSSH শংসাপত্রে একটি পাবলিক কী প্রতিস্থাপিত করা যেতে পারে, যা RSA_public_decrypt ফাংশন দ্বারা প্রক্রিয়া করা হয় যা ব্যাকডোর দ্বারা আটকানো হয়।

এছাড়াও, গবেষকরা ব্যাকডোর নিরপেক্ষ করার জন্য একটি প্রক্রিয়ার অস্তিত্ব আবিষ্কার করেছেন (killswitch) স্থানীয় সিস্টেমে sshd শুরু করার আগে একটি পরিবেশ পরিবর্তনশীল সেট করে। একটি ব্যাকডোর দিয়ে একটি অবজেক্ট ফাইল বের করে লাইব্রেরিতে প্রতিস্থাপন করার প্রক্রিয়াকে বিভ্রান্ত করতে ব্যবহৃত শেল বিল্ডগুলির একটি বিশদ বিশ্লেষণও করা হয়েছে। liblzma.

XZ প্যাকেজ সংকলনের সময়, কিছু কোড কার্যকর করা হয়েছিল স্ক্রিপ্ট থেকে "build-to-host.m4» যেটি একটি পরীক্ষা ফাইল এবং ম্যানিপুলেট করেছে অক্ষর কিছু পরিবর্তন করেছেন এবং এটিকে একটি অক্ষত ফাইলে রূপান্তরিত করেছে, যেখান থেকে শেল স্ক্রিপ্ট বের করা হয়েছে। ফলস্বরূপ শেল স্ক্রিপ্টটি ধীরে ধীরে বিষয়বস্তু থেকে অন্য শেল স্ক্রিপ্ট বের করতে সক্ষম হয়েছিল, কমান্ডের সাথে নির্দিষ্ট ক্রম এড়িয়ে যায় এবং অক্ষর প্রতিস্থাপন করে।

এই প্রক্রিয়ার ফলস্বরূপ, একটি বরং জটিল এবং বিস্তৃত শেল স্ক্রিপ্ট তৈরি করা হয়েছিল যা good-large_compressed.lzma ফাইল থেকে ব্যাকডোর সহ ফাইলটি সরাসরি বের করে, এটিকে ডিক্রিপ্ট করে এবং liblzma-এ প্রবেশ করায়। এই স্ক্রিপ্টটিতে প্লাগইন মেকানিজমের একটি বাস্তবায়নও অন্তর্ভুক্ত ছিল, যা একটি স্বাক্ষর লুকআপ ব্যবহার করে good-large_compressed.lzma এবং bad-3-corrupt_lzma2.xz পরিবর্তন না করেই নতুন পরীক্ষা ফাইল স্থাপন করে পরবর্তীতে অতিরিক্ত এক্সিকিউটেবল উপাদান সরবরাহ করার অনুমতি দেয়। কোডটি RC4 অ্যালগরিদমের উপর ভিত্তি করে একটি ডিক্রিপ্টরও অন্তর্ভুক্ত করেছে, যা AWK ভাষায় প্রয়োগ করা হয়েছে।

অপরদিকে উল্লেখ্য যে, ঘটনার উপর ভিত্তি করে ড. xzbot নামক সরঞ্জামগুলির একটি সেট তৈরি করা হয়েছে, কি অন্তর্ভুক্ত:

  • কাল্পনিক সার্ভার তৈরি করার জন্য একটি মধুর পট যা আক্রমণকারীদের দ্বারা সংযোগ প্রচেষ্টা সনাক্ত করতে দুর্বল হওয়ার ভান করে।
  • liblzma.so এর ভিতরে ব্যাকডোরে পাবলিক কী প্রতিস্থাপন করার জন্য একটি প্যাচ আপনার নিজস্ব (সংশ্লিষ্ট প্রাইভেট কী ব্যবহার করে ব্যাকডোরে সংযোগ করতে)।
  • সংশ্লিষ্ট ব্যক্তিগত কী ব্যবহার করে একটি পরিবর্তিত ব্যাকডোরে কোড এক্সিকিউশন শুরু করার জন্য একটি ডেমো।

আগ্রহী হলে জানতে পারবেন এটা সম্পর্কে আরো, আপনি বিশদটি পরীক্ষা করতে পারেন নিম্নলিখিত লিঙ্ক।