XZ ব্যাকডোর আক্রমণ

XZ ব্যাকডোর: “ভাগ্যিস বেঁচে গেছি”

সুচিপত্র

অবশ্যই পঠনীয় পোস্ট

আগ্রহের সর্বশেষ পোস্টগুলি

SSH ব্যাকডোরিং

কোনো অসৎ বা আপোসকারী রক্ষণাবেক্ষণকারী 'নাম' নামের একটি লাইব্রেরিতে ক্ষতিকর কার্যকলাপ প্রবেশ করিয়েছে। লিবলজমাxz কম্প্রেশন টুলস এবং লাইব্রেরির একটি অংশ, যার ফলে SSH-এ একটি ব্যাকডোর তৈরি হয়। এটি একটি উন্নতমানের সফটওয়্যার সাপ্লাই চেইন অ্যাটাক, কারণ লাইব্রেরিটি ব্যাকডোরটির জন্য ইচ্ছাকৃতভাবে পরিবর্তন করা হয়েছিল এবং পর্যালোচকদের কাছ থেকে অ্যাটাক পেলোডটি লুকানোর জন্য অবফাসকেশন ও স্টিলথ কৌশল ব্যবহার করা হয়েছে।

এটি সম্প্রতি (গত ২৯শে মার্চ) আবিষ্কৃত ও প্রকাশিত হয়েছে এবং আক্রমণটি মোকাবেলার কাজ চলছে। তবে, এটিকে দ্রুত নিয়ন্ত্রণে আনা হয়েছে, কারণ মনে হচ্ছে এটি শুধুমাত্র সীমিত সংখ্যক এনভায়রনমেন্টের (x86_64 আর্কিটেকচারের জন্য এবং GCC দিয়ে নির্মিত DEB ও RPM প্যাকেজ) প্রি-রিলিজ সংস্করণগুলোকেই প্রভাবিত করে। যাইহোক, জন্য CVE একটি দেওয়া হয়েছিল CVSS বেস স্কোর ১০টির মধ্যে, যা সবচেয়ে গুরুতর সাইবার নিরাপত্তা দুর্বলতার জন্য সংরক্ষিত। যদি এটি স্থিতিশীল ডিস্ট্রিবিউশনে প্রবেশ করে, তবে এর প্রভাব হবে মারাত্মক। 

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

প্রাথমিক প্যাচের পরেও ব্যাকডোরটির দীর্ঘস্থায়ী প্রভাব অব্যাহত রয়েছে। আগস্ট ২০২৫-এ, CVE-2024-3094 প্রকাশিত হওয়ার এক বছরেরও বেশি সময় পর, Binarly-এর নিরাপত্তা গবেষকরা ডকার হাবে প্রকাশিত এক ডজন ডেবিয়ান ডকার ইমেজে ব্যাকডোরটির উপস্থিতি খুঁজে পান। ডেবিয়ানের টিম সেগুলোকে সক্রিয় ঝুঁকির পরিবর্তে ঐতিহাসিক ডেভেলপমেন্ট আর্টিফ্যাক্ট হিসেবে বিবেচনা করে অপসারণ করতে অস্বীকৃতি জানায়। এর পাশাপাশি, OpenSSF এবং XZ ঘটনার পরপরই OpenJS একটি যৌথ সতর্কতা জারি করে জানায় যে, একই ধরনের সোশ্যাল-ইঞ্জিনিয়ারিং দখলের প্রচেষ্টা ইতিমধ্যেই জাভাস্ক্রিপ্ট প্রকল্পগুলোকে লক্ষ্যবস্তু করেছে, যা থেকে বোঝা যায় যে এখানে ব্যবহৃত রক্ষণাবেক্ষণকারীর ওপর আস্থা তৈরির আক্রমণ পদ্ধতিটি অন্যত্রও পুনরায় ব্যবহার করা হচ্ছে।

কীভাবে XZ ব্যাকডোরটি প্রবেশ করানো হয়েছিল

দ্রষ্টব্য: গিট রিপোজিটরিটি এখানে আছে git.tukaani.org। যাহোক, সেখানে একটিও ছিল গিটহাব হোস্ট করা রিপোজিটরি (বর্তমানে অবরুদ্ধ) যেখানে গিটহাব অ্যাকাউন্টটি এমন পরিবর্তনগুলো পোস্ট করত যা পরবর্তীতে গিট রিপোজিটরিতে একীভূত করা হয়েছিল।

ব্যাকডোরটির একটি অংশ শুধুমাত্র 5.6.0 এবং 5.6.1 ভার্সনের ডিস্ট্রিবিউটেড টারবলগুলোতে রয়েছে বলে মনে হচ্ছে, গিট রিপোজিটরিগুলোতে নেই এবং এটি একটির উপর নির্ভর করে। build-to-host.m4-এ একক লাইন অটোকনফ দ্বারা ব্যবহৃত ম্যাক্রো ফাইল। অপর অংশটি দুটি তথাকথিত টেস্টফাইলে ছিল। bad-3-corrupt_lzma2.xz এবং ভালো-বৃহৎ_সংকুচিত.lzma

ছিল commitট্যাড্ গিটহাব অ্যাকাউন্ট “জিয়া তান” দ্বারা (জিয়াটি75) মধ্যে xz রিপোজিটরি ২৩শে ফেব্রুয়ারি। এটি একটি নিরীহ পরিবর্তন ছিল, যা টেস্টফাইল (সম্ভবত .lzma এবং .xz কম্প্রেসড ব্লক) যোগ করেছিল। মজার ব্যাপার হলো, টেস্টগুলো এই টেস্ট ফাইলগুলো ব্যবহার করেনি! .m4 ফাইলের লাইনটি একটি দুর্বোধ্য স্ক্রিপ্ট (টারবলে অন্তর্ভুক্ত) ইনজেক্ট করে, যা কিছু শর্ত পূরণ হলে কনফিগারের শেষে এক্সিকিউট হয়। এটি Makefile-কে পরিবর্তন করে। লিবলজমা লাইব্রেরিটিতে এমন কোড থাকবে যা .xz ফাইল থেকে ডেটা নিষ্কাশন করবে, যা ডিওবিফাসকেশন শেষ হওয়ার পর... এই স্ক্রিপ্টে`configure`-এর শেষে এটি চালু করা হয়। এটি সিদ্ধান্ত নেয় যে কোড ইনজেক্ট করার জন্য বিল্ড প্রক্রিয়াটি পরিবর্তন করা হবে কিনা: শুধুমাত্র GCC এবং GCC লিঙ্কারের অধীনে, Debian বা rpm-এর অধীনে, এবং শুধুমাত্র x86_64 Linux-এর জন্য। যখন মিলে যায়, ইনজেক্ট করা কোডটি দুটি কোড প্রতিস্থাপন করে এক্সিকিউশনকে বাধা দেয়। ifunc রিজলভারগুলোর কারণে নির্দিষ্ট কিছু কল প্রতিস্থাপিত হয়। এর ফলে সিম্বল টেবিলগুলো মেমরিতে পার্স করা হয় (এতে সময় লাগে, যা শনাক্তকরণে সাহায্য করে, যেমনটা পরে ব্যাখ্যা করা হয়েছে)।

এরপর ব্যাপারটা বেশ মজার হয়ে ওঠে: ব্যাকডোরটি ডাইনামিক লিঙ্কারে একটি অডিট হুক ইনস্টল করে, যা RSA_public_decrypt ফাংশন সিম্বলটির আগমনের জন্য অপেক্ষা করতে থাকে। এই সিম্বলটিকে ব্যাকডোর কোডের একটি নির্দিষ্ট পয়েন্টে রিডাইরেক্ট করা হয়, যা আবার ব্যাকডোর কোডকে কলব্যাক করে। libcryptoসম্ভবত সাধারণ প্রমাণীকরণ সম্পন্ন করার জন্য। এবং চলমান প্রোগ্রামটির প্রসেস নামটি থাকলে পেলোডটি সক্রিয় হয়। /usr/sbin/sshdএটা স্পষ্ট ছিল যে SSH সার্ভারগুলোই লক্ষ্য ছিল। ঐতিহ্যগতভাবে, sshd কমান্ড OpenSSH-এর মতো সার্ভারগুলো সংযুক্ত ছিল না লিবলজমা, কিন্তু sshd হল প্রায়শই প্যাচ করা হয় systemd-notify সমর্থন করার জন্য, যাতে sshd চলার সময় অন্যান্য পরিষেবাও চালু হতে পারে। এবং তারপর liblzma পরোক্ষভাবে লোড হয় systemd হলবৃত্তটি সম্পূর্ণ করা।

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

পরবর্তী ৫.৬.১ টারবলটিতে এর চিহ্নগুলো গোপন করার জন্য অতিরিক্ত প্রচেষ্টা দেখা যায়, যেখানে সিম্বলের নামগুলোকে আরও দুর্বোধ্য করা হয়েছিল এবং দৃশ্যমান ত্রুটিগুলো সংশোধনের চেষ্টা করা হয়েছিল। সম্প্রসারণ প্রক্রিয়া যেখানে ব্যাকডোরে যোগ করার জন্য নির্দিষ্ট সিগনেচার খুঁজতে অতিরিক্ত টেস্ট ফাইল খোঁজা হতো, সেই ব্যবস্থাও করা হয়েছিল।

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

XZ ব্যাকডোর আক্রমণের আবিষ্কার

অনেক সময় আকস্মিকভাবে বা দুর্ঘটনাক্রমে অনুপ্রবেশ করানো ক্ষতিকর আচরণ প্রকাশ পায়। এর একটি ভালো উদাহরণ ছিল একটি অবচয় সতর্কতা (“সতর্কবাণীকে কে পাত্তা দেয়?”) যার ফলে আবিষ্কার হয়েছিল ইভেন্ট-স্ট্রিম আক্রমণ অক্টোবর ২০১৮-তে। আরেকজন হলেন সেই ব্যবহারকারী যিনি সতর্ক করেছিলেন। কোডকভ ২০২১ সালের এপ্রিলে তাদের ব্যাশ আপলোডার স্ক্রিপ্টটি চেকসাম পাস করতে পারেনি (“চেক্সামের মাধ্যমে প্রত্নবস্তুর অখণ্ডতা কে যাচাই করে”?) ssh এর সাথে অসঙ্গতি এবং অদ্ভুত লক্ষণ loginগুলি (loginপ্রচুর সিপিইউ ব্যবহার এবং বর্ধিত সময় লাগার পাশাপাশি ভ্যালগ্রাইন্ড ত্রুটির কারণে কৌতূহল জেগেছিল। আন্দ্রেস ফ্রুন্ডএকজন সতর্ক PostgreSQL ডেভেলপার, কিন্তু নিরাপত্তা বিশ্লেষক নন (যেমনটা তিনি বলেছেন)।ডেবিয়ান সিড-এ ওপেনএসএসএইচ নিয়ে কিছু অনুসন্ধানের পর, তিনি এই সিদ্ধান্তে উপনীত হন যে, একটি রেসপন্স টাইম সমস্যা একটি লাইব্রেরির উপর নির্ভরশীল ছিল। লিবলজমা, অংশ xz-উটিলস কম্প্রেশন লাইব্রেরি। কারণ: “আপস্ট্রিম xz রিপোজিটরি এবং xz টারবলগুলোতে ব্যাকডোর প্রবেশ করানো হয়েছে।এই রোগনির্ণয়টি এতটাই নির্ভুল ছিল!   ২৯ মার্চ ২০২৪ তারিখে আন্দ্রেস ওপেনওয়াল-এ প্রথম বিশ্লেষণটি পোস্ট করেন: “আপস্ট্রিম xz/liblzma-তে ব্যাকডোরের কারণে ssh সার্ভার ক্ষতিগ্রস্ত হয়েছে।প্রকৃত ঘটনা হলো: XZ Utils 5.6.0 এবং 5.6.1 টারবলগুলোতে একটি ব্যাকডোর রয়েছে। এই টারবলগুলো পূর্বোক্ত জিয়া ট্যান অ্যাকাউন্ট দ্বারা তৈরি এবং স্বাক্ষরিত হয়েছিল।  He ম্যাস্টোডনে পোস্ট করা হয়েছে সেদিন পরে তিনি বুঝতে পারেন যে আবিষ্কারটি ছিল আকস্মিক এবং এর পেছনে অনেকগুলো কাকতালীয় ঘটনার প্রয়োজন ছিল। অন্যান্য ব্যবহারকারীদের মন্তব্যগুলো পড়ার মতো। গিটহাব ব্যবহারকারী একই (ওরফে স্যাম জেমস) একটি চমৎকার সারসংক্ষেপ প্রকাশ করেছেন। xz-utils ব্যাকডোর সম্পর্কিত প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী যেখানে আক্রমণটির সারসংক্ষেপ করা হয়েছিল, যা আরও অনেক কিছুর সাথে যুক্ত ছিল। গভীরভাবে বিশ্লেষণ আক্রমণের পেলোডের। এই বিশ্লেষণগুলো প্রযুক্তিগতভাবে অত্যন্ত তথ্যবহুল ছিল এবং ইনজেকশনটি আরও ভালোভাবে বুঝতে আমাদের সাহায্য করেছিল, যা ছিল বেশ বিশদ। এই সুন্দর টমাস রোসিয়ার পোস্টার  গিটহাব রিপোজিটরিতে JiaT75-এর কার্যকলাপের একটি অংশ এবং ইনজেকশন স্ক্রিপ্টটি কীভাবে বাইনারি ব্যাকডোর প্রবেশ করায় তা দেখানো হয়েছে, যা বিষয়টিকে আরও বিশদভাবে তুলে ধরে। xz ব্যাকডোর ব্যাখ্যা করা হলো.

ঘটনাটি যেভাবে সামলানো হয়েছিল

আন্দ্রেয়াস ফ্রয়েন্ডের প্রকাশটি সতর্কতামূলক ছিল, কারণ, তার নিজের কথায়:

আপস্ট্রিমের স্পষ্ট সম্পৃক্ততা বিবেচনা করে, আমি কোনো আপস্ট্রিম বাগ রিপোর্ট করিনি। যেহেতু আমি প্রথমে ভেবেছিলাম এটি ডেবিয়ান-নির্দিষ্ট একটি সমস্যা, তাই আমি security@...ian.org-এ একটি প্রাথমিক রিপোর্ট পাঠিয়েছিলাম। পরবর্তীতে, আমি distros@-এ সমস্যাটি রিপোর্ট করি। CISএকটি বন্টনের মাধ্যমে A-কে অবহিত করা হয়েছিল।

রেড হ্যাট এই সমস্যাটিকে CVE-2024-3094 হিসেবে চিহ্নিত করে। এরপর খবরটি দাবানলের মতো ছড়িয়ে পড়ে। XZ-এর অপর রক্ষণাবেক্ষণকারী লাসে কলিন একটি যোগ করেছেন নতুন commit শনিবার ৩০শে মার্চ “CMake: Fix sabotaged Landlock sandbox check” শিরোনামে একটি পোস্ট করা হয়। লাইব্রেরির একটি ল্যান্ডলক মেথড স্যান্ডবক্সিং-এ ত্রুটি ছিল, অন্তত CMake দিয়ে বিল্ড করার সময়। তিনি দ্রুত সমস্যাটি প্রকাশ করেন। XZ ইউটিলস ব্যাকডোর. রেড হ্যাট এই সমস্যাটি বরাদ্দ করেছে। জন্য CVE-2024-3094 (আরও দেখুন) জন্য CVE, এনভিডি, উবুন্টুএটিকে একটি বিশাল পরিমাণ বরাদ্দ করা হয়েছিল CVSS বেস স্কোর ১০এই ধরনের স্কোর সবসময় ইন্টারনেটে ঝড় তোলে। CISএকই ২৯শে মার্চ 'এ' একটি প্রকাশ করেছে সতর্কজরুরি অবস্থার কারণে হয়তো বিষয়টি অতি সরলীকরণ করা হয়েছে, ব্যবহারকারীদের ৫.৪.৬ স্থিতিশীল সংস্করণে ডাউনগ্রেড করার পরামর্শ দেওয়া হচ্ছে। Tukaani সংস্থার অধীনে থাকা GitHub রিপোজিটরিগুলো নিষ্ক্রিয় করা হয়েছে (এটা কি ভালো না খারাপ? আমার মতে ভালো: অনেক ডিস্ট্রো এবং সংস্থা বিল্ড করার জন্য সংক্রামিত টারবলগুলো সোর্স করতে তখনও GitHub রিলিজগুলোর সাথে লিঙ্ক করছিল। রিপোটি নিষ্ক্রিয় করার ফলে তা বন্ধ হয়ে যায়। যাইহোক, রিপোটির একটি কপি এখানে আছে git.tukaani.orgJiaTan75 এবং Lasse Collins (Larhzu)-এর গিটহাব অ্যাকাউন্টগুলোও স্থগিত করা হয়েছে। এটি এর একটি অংশ। সংবরণএমনকি যখন তা নিরীহ মানুষকে প্রভাবিত করতে পারে। জিয়াটি৭৫ অ-প্রতিবন্ধী সংগ্রহস্থলে কার্যকলাপ এখনও দেখা যায়নি। শিল্পটি দ্রুত প্রতিক্রিয়া দেখায়। অনেক বিক্রেতা দুর্বল সিস্টেম শনাক্ত করার জন্য নিয়মকানুন প্রকাশ করে, যেমন ইয়ারা নিয়মঅথবা বাণিজ্যিক সরঞ্জাম থেকে সমর্থন সিসডিগ, প্যানএবং অন্যান্যরা। নিরাপত্তা বিশেষজ্ঞদের মতো জেমস বার্থোটি ওপেন-সোর্স সফটওয়্যারের প্রতি আমাদের দৃষ্টিভঙ্গি পর্যালোচনা করার বিষয়ে পোস্ট করা হয়েছে।  আমরা এখন ঘটনাটির নির্মূল ও পুনরুদ্ধার পর্যায়ে রয়েছি। জিয়াটান৭৫ দ্বারা পরিচালিত অন্যান্য প্রকল্পগুলো নিবিড় পর্যালোচনার অধীনে রয়েছে, বিশেষ করে... লিবারকাইভ/লিবারকাইভ (যেখানে জিয়াটান৭৫ একজন নিয়মিত অবদানকারী ছিলেন) এবং ফাজার ওএসএস-ফাজ (যেখানে এই) commit JiaTan75 দ্বারা নির্মিতটি oss-fuzz এড়ানোর চেষ্টা করেছিল, যা প্রকৃতপক্ষে ব্যাকডোরটি সনাক্ত করা সম্ভব হয়নি।এই গোপন করার প্রচেষ্টাগুলো আরও প্রমাণ যোগ করে। 

কে আক্রমণের শিকার হচ্ছে?

হয় গিটহাব JiaT75 অ্যাকাউন্টটি হ্যাক হয়েছে (মনে রাখবেন, গিটহাব সম্প্রতি টু-ফ্যাক্টর অথেনটিকেশন (2FA) বাধ্যতামূলক করেছে) অথবা অ্যাকাউন্টটির আসল ব্যবহারকারী কোনো অসাধু পথে চলে গেছেন। কিন্তু আক্রমণের প্রযুক্তিগত জটিলতার কারণে, এটি একটি অ্যাডভান্সড পারসিস্টেন্ট থ্রেট (APT), যা সম্ভবত রাষ্ট্র-সমর্থিত, এমনটা ভাবার যথেষ্ট জোরালো কারণ রয়েছে। সাইবার নিরাপত্তা সংস্থা এবং আইন প্রয়োগকারী সংস্থার আরও তদন্তে বিষয়টি স্পষ্ট হবে… এই এন্ট্রি ওয়াইকম্বিনেটর হ্যাকার নিউজে জিয়া তান সম্পর্কে এটি অপরাধী এবং তার কার্যকলাপের উপর আলোকপাত করে। সুপারিশযোগ্য! এটি থেকে জানা যায়, দুষ্কৃতকারীরা কীভাবে সোশ্যাল ইঞ্জিনিয়ারিং ব্যবহার করে অন্যান্য ব্যবহারকারীদের ধোঁকা দেওয়ার চেষ্টা করে।

খুবই বিরক্তিকর - ব্যাকডোরটির আপাত লেখক এর "চমৎকার নতুন ফিচার"-এর কারণে ফেডোরা ৪০ ও ৪১-এ xz 5.6.x যুক্ত করার জন্য আমার (rwmj) সাথে বেশ কয়েক সপ্তাহ ধরে যোগাযোগ করছিলেন। আমরা এমনকি ভ্যালগ্রাইন্ড সমস্যাটি সমাধান করতেও তার সাথে কাজ করেছি (যা এখন দেখা যাচ্ছে, তার যোগ করা ব্যাকডোরটির কারণেই হয়েছিল)। অনিচ্ছাকৃতভাবে নিষেধাজ্ঞা ভঙ্গ হওয়ার পর সমস্যাটি সমাধান করার জন্য গতরাতে আমাদের দ্রুত কাজ করতে হয়েছে। তিনি ২ বছর ধরে xz প্রজেক্টের অংশ, সব ধরনের বাইনারি টেস্ট ফাইল যোগ করছেন, এবং সত্যি বলতে, তার এই পর্যায়ের দক্ষতার কারণে অন্যথা প্রমাণিত না হওয়া পর্যন্ত আমি xz-এর পুরোনো সংস্করণগুলো নিয়েও সন্দিহান থাকতাম।

জিয়া ট্যান ট্র্যাক হওয়া এড়াতে ব্যবস্থা নিয়েছিল: মনে হচ্ছে এটি সংযোগ স্থাপনের জন্য ভিপিএন (vpn.singapore.witopia.net) ব্যবহার করেছে – যা আপাতদৃষ্টিতে ঠিকই আছে। এবং অনেক পরিবর্তনের পেছনেই সাময়িক, একবার ব্যবহারযোগ্য ইমেইল (এক্ষেত্রে প্রোটনমেইল থেকে) ছিল, যেগুলোতে পরিবর্তনগুলো একীভূত করার জন্য অনুরোধ করা হয়েছিল।

অভিনেতা আরও গভীরে, লিনাক্স কার্নেল পর্যন্ত যেতে চাইতে পারেন, কারণ তিনি এর একজন অবদানকারী। xy-অন্তর্নিহিত প্রকল্প। প্রাথমিক বিশ্লেষণে আজ পর্যন্ত গর্ভপাতের কোনো প্রমাণ পাওয়া যায়নি।

দ্রষ্টব্য: আরেকটি স্বল্প পরিচিত XZ অবদানকারী “হ্যান্স জ্যানসেন“ (গিটহাব ব্যবহারকারী “hansjans162”) হলেন সুবিবেচনা অধীনেডেবিয়ানে এর অ্যাকাউন্টটি এখন অবরুদ্ধdebian/xz-utils-এ সে যে আপডেটটি চেয়েছিল তা গোপন করার জন্য সে Debian Games-এ অনেকগুলো আপডেট করেছিল, এবং ব্যাকডোরটির বিতরণ দ্রুত করার জন্য আপস্ট্রিম 5.6.1-এ একটি আপডেট এনেছিল। ডেবিয়ান/আনস্টেবল

আপাতত আমরা শুধু এটুকুই বলতে পারি যে, এটি একটি (এখনও পর্যন্ত অজ্ঞাত) APT যা বিভিন্ন অ্যাকাউন্ট ব্যবহার করে এই প্রচারাভিযানে অন্তত দুই বছর ধরে কাজ করছে এবং ধৈর্য ধরে SSH-এ একটি RCE স্থাপন করার জন্য কাজ করে যাচ্ছে।

এই প্রতিবেদন লেখা পর্যন্ত, “জিয়া তান”-এর পেছনের পরিচয় নিশ্চিত হওয়া যায়নি। কোনো নির্দিষ্ট ব্যক্তি, সংস্থা বা রাষ্ট্রীয় পক্ষের সাথে এর নির্ভরযোগ্য সংযোগ প্রকাশ্যে যাচাই করা হয়নি, যা এই ছদ্মবেশের কর্মদক্ষতার কার্যকারিতাকেই আরও জোরদার করে।

XZ ব্যাকডোর আক্রমণটি কি প্রতিরোধযোগ্য ছিল?

বেশ কঠিন। 

প্রথমত, প্রবেশ করানো ব্যাকডোরের একটি অংশ এমন সংকুচিত টেস্ট ফাইলের মধ্যে ঢুকে গিয়েছিল যা কোনো টেস্টে ব্যবহৃত হয়নি। এখন পেছন ফিরে তাকালে, এটি কিছু (অযৌক্তিক) সতর্কবার্তা দিতে পারত, কিন্তু বাস্তব জগতে সমস্ত টেস্ট ফাইল আসল টেস্টে ব্যবহৃত হচ্ছে কি না, তা পরীক্ষা করে দেখার প্রয়োজনই বা কী? দ্বিতীয়ত, প্রবেশ করানো ব্যাকডোরের একটি অংশ রিলিজ টারবলের ম্যাক্রো ফাইলের মধ্যে চলে এসেছিল, এবং প্রত্যাশিত টারবলের সাথে এর পার্থক্য ম্যানুয়ালি পরীক্ষা করা কঠিন। অটোমেশনও বেশ জটিল, কারণ বিল্ড থেকে প্রাপ্ত প্রত্যাশিত ফলাফলকে (যারা অটোমেক/অটোকনফ কীভাবে কাজ করে তা জানেন তাদের জন্য) মডেল করা কঠিন, যার মাধ্যমে আসল টারবলটি প্রত্যাশার সাথে মিলছে কি না তা বিশ্লেষণ করা যায়। কেউ কেউ এটা তুলেছিল as গিট ট্রি থেকে পাওয়া টারবলগুলোর অমিল একটি বৈশিষ্ট্য, কোনো বাগ নয়।এর সোর্স কোড থেকে প্রাপ্ত বাইনারি টারবলগুলোর উৎস নির্ণয় একটি অমীমাংসিত সমস্যা।

ব্যবহারকারীর সুনাম? যাইহোক, অতীত অনুযায়ী JiaTan75 গিটহাব অ্যাকাউন্টটি কোনো অসৎ কাজ করছিল না। commitপ্রমাণ জমা হওয়ার পরেই কেবল এটি স্থগিত করা হয়েছিল, কিন্তু ২৯শে মার্চ পর্যন্ত সে একজন নিয়মিত ব্যবহারকারী ছিল এবং স্বাভাবিক ব্যবসা পরিচালনা করছিল। অবশ্য, অতটাও স্বাভাবিক নয়। পরে commitগুলি (এই, এই, এই, এবং এই যা এক্সপ্লয়েট কোডটি সামঞ্জস্য করেছিল, তা ব্যাকডোরের প্রত্যাশিত স্ট্যাক লেআউটের সাথে পার্থক্যের কারণে কিছু কনফিগারেশনে ভ্যালগ্রাইন্ডের ত্রুটি এবং ক্র্যাশগুলো ঠিক করার চেষ্টা করেছিল। Commit রিভিউয়ের মাধ্যমে এটি শনাক্ত করা যেতে পারে, কিন্তু একটি বাইনারি টেস্ট ফাইলের পরিবর্তন অথবা সি সোর্স কোডে জিসিসি অ্যাট্রিবিউট পরিবর্তনের আসল উদ্দেশ্য বিশ্লেষণ করার মতো ধৈর্য কার আছে?

SSH এর ক্ষেত্রে কি সতর্কবার্তা দেওয়া উচিত? login ৩০০ মিলিসেকেন্ডের পরিবর্তে ৮০০ মিলিসেকেন্ড লাগে? সম্ভবত কেবল অতি-সতর্ক লোকেরাই বিষয়টি লক্ষ্য করবে। সিসেরো বলেছিলেন, হঠকারিতা যৌবনের; বিচক্ষণতা বার্ধক্যের।  

ifunc পরিকাঠামোটি ২০২৩ সালের জুন মাসে “হ্যান্স জ্যানসেন” এবং “জিয়া ট্যান” দ্বারা যুক্ত করা হয়েছিল। এটিই প্রথম। commit crc64_fast.c-তে ifunc সাপোর্ট যোগ করা হয়েছিল (যা পরে ব্যাকডোর ইনজেক্ট করতে ব্যবহৃত হয়)। টেস্ট ফাইলগুলোতে ব্যাকডোর বাইনারি ইনজেক্ট করার কয়েক মাস আগেই!

দ্রষ্টব্য: লেখক এবং commitএখানে কিছুটা ভিন্নতা থাকতে পারে, কিন্তু এটা স্বাভাবিক: লাসে কলিন হলেন প্রজেক্ট মেইনটেইনার, এবং তিনিই পরিবর্তনগুলো মার্জ করেছেন। তিনি এমনকি “হ্যান্স জ্যানসেন”-কেও ধন্যবাদ জানিয়েছেন…

আন্দ্রেস ফ্রয়েন্ডের পোস্ট এবং রেডহ্যাটের তৈরি CVE-এর আগে কেউ উদ্বেগ প্রকাশ করেনি। আপনি যদি এমন একাধিক টুলের কথা ভাবেন যা এটি ধরতে পারে, তবে দেখবেন সেগুলো এখন ক্ষতিগ্রস্ত কম্পোনেন্টটি শনাক্ত করে। প্রাক্তন পোস্ট প্রকৃতপক্ষে

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

XZ ব্যাকডোর আক্রমণ থেকে প্রাপ্ত শিক্ষা

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

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

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

A মন্তব্য “xz: Disable ifunc to fix Issue”-এ commit এই ধরনের কার্যকলাপ প্রতিরোধ করতে চাইলে কোথায় মনোযোগ দিতে হবে সে বিষয়ে একটি সুস্পষ্ট ধারণা দিয়েছেন (গুরুত্বারোপ আমার):

সম্প্রদায় হিসেবে আমাদের যে শিক্ষা গ্রহণ করা উচিত তা হলো আরও বেশি সুরক্ষিত থাকা। software supply chain security সামগ্রিকভাবে, শুধু সোর্স কোডের বাইরেও বিল্ড সিস্টেম অডিট করা। যেমন সোলারউইন্ডস ডেটা ফাঁসের ঘটনা, যেখানে আক্রমণকারীরা সোলারউইন্ডসের ক্লোজড-সোর্স মনিটরিং সফটওয়্যারের আপডেটগুলো পরিবর্তন করেছিল।

প্রাথমিক আবিষ্কার এবং দ্রুত প্রতিক্রিয়ার কারণে এর প্রভাব অনেকটাই সীমিত ছিল। যদি আপনার মনে থাকে শেষ দৃশ্য থেকে মেন ইন ব্ল্যাক III“ভাগ্যিস বেঁচে গেছি”। আবারও, কে টিপ দিতে ভোলেনি। এবং কোনো বগলডাইট লিনাক্স স্টেবল ডিস্ট্রিবিউশনে প্রবেশ করেনি।
১. “আমি কোনো নিরাপত্তা গবেষক বা রিভার্স ইঞ্জিনিয়ার নই।” ২. জিয়া একটি প্রচলিত চীনা প্রদত্ত নাম। ট্যানও একটি প্রচলিত পারিবারিক নাম, যার অর্থ “মহিমান্বিত”। সম্পর্কহীন অনেক মানুষ এই নামটি ব্যবহার করেন, দয়া করে এই নামের জন্য কাউকে নিন্দা করবেন না!

FAQ

XZ ব্যাকডোরটি কি আজও ঝুঁকিপূর্ণ?

মূলত নিয়ন্ত্রণে আনা হয়েছে, কিন্তু পুরোপুরি নির্মূল হয়নি। ২০২৫ সালের আগস্ট মাসে গবেষকরা বেশ কিছু ডেবিয়ান ডকার হাব ইমেজে ব্যাকডোরটির উপস্থিতি খুঁজে পান, যেগুলোকে ডেবিয়ান নিষ্ক্রিয় ঐতিহাসিক নিদর্শন হিসেবে গণ্য করে। ২০২৪ সালের প্যাচটি ব্যাকডোরটিকে পুরোপুরি বন্ধ করে দিয়েছে—এমনটা ধরে না নিয়ে, টিমগুলোর উচিত যাচাই করে নেওয়া যে তারা কোনো পুরোনো বা প্যাচবিহীন বেস ইমেজের ওপর ভিত্তি করে বিল্ড তৈরি করছে না।

sca-tools-software-composition-analysis-tools
আপনার সফটওয়্যারের ঝুঁকিগুলোকে অগ্রাধিকার দিন, প্রতিকার করুন এবং সুরক্ষিত করুন।
আপনার বিনামূল্যে অ্যাকাউন্টটি নিন।
কোন ক্রেডিট কার্ড প্রয়োজন নেই

আপনার সফটওয়্যার উন্নয়ন ও বিতরণ সুরক্ষিত করুন

Xygeni প্রোডাক্ট স্যুটের সাথে