Trojan Source
ট্রোজান সোর্স হল একটি সফ্টওয়্যার দুর্বলতার নাম যা সোর্স কোডের প্রকৃত সম্পাদনের চেয়ে আলাদাভাবে সোর্স কোড প্রদর্শন করতে ইউনিকোডের দ্বিমুখী অক্ষরগুলির অপব্যবহার করে। এই এক্সপ্লয়েটটি ব্যবহার করে কিভাবে বিভিন্ন পঠন নির্দেশাবলীর স্ক্রিপ্টগুলি কম্পিউটারে প্রদর্শিত এবং এনকোড করা হয়। 2021 সালের শেষের দিকে কেমব্রিজ বিশ্ববিদ্যালয়ে নিকোলাস বাউচার এবং রস অ্যান্ডারসন এটি আবিষ্কার করেন। ব্যাকগ্রাউন্ড ইউনিকোড হল পাঠ্য, প্রতীক এবং গ্লিফগুলি উপস্থাপন করার জন্য একটি এনকোডিং মান। ইউনিকোড কম্পিউটারের সবচেয়ে প্রভাবশালী এনকোডিং, যা 98 শতাংশেরও বেশি ওয়েবসাইটে ব্যবহৃত হয়। এটি অনেক ভাষাকে সমর্থন করে এবং এই কারণে, এটি অবশ্যই পাঠ্য লেখার বিভিন্ন পদ্ধতিকে সমর্থন করবে। এর জন্য ইংরেজি ও রাশিয়ানের মতো বাম থেকে ডান উভয় ভাষা এবং হিব্রু ও আরবির মতো ডান থেকে বাম উভয় ভাষার জন্য সমর্থন প্রয়োজন। যেহেতু ইউনিকোডের লক্ষ্য একাধিক লিখন পদ্ধতি ব্যবহার করে সমাধান করা, তাই এটি অবশ্যই বিভিন্ন ডিসপ্লে অর্ডারের সাথে স্ক্রিপ্টগুলি মিশ্রিত করতে এবং পরস্পরবিরোধী অর্ডারগুলি সমাধান করতে সক্ষম হতে হবে। এটি ঠিক করার জন্য, ইউনিকোডে দ্বিমুখী অক্ষর (বিড়ি) নামক অক্ষর রয়েছে যা বর্ণনা করে যে কীভাবে পাঠ্য প্রদর্শিত এবং প্রতিনিধিত্ব করা হয়। এই অক্ষরগুলি দৃশ্যমানভাবে পরিবর্তন না করে পাঠ্যকে কীভাবে ব্যাখ্যা করা হয় তা পরিবর্তন করার জন্য অপব্যবহার করা যেতে পারে, কারণ অক্ষরগুলি প্রায়শই অদৃশ্য থাকে। পদ্ধতি শোষণের ক্ষেত্রে, সোর্স কোডে পাঠ্যকে দৃশ্যমানভাবে পুনর্বিন্যাস করার জন্য দ্বিমুখী অক্ষরগুলির অপব্যবহার করা হয় যাতে পরবর্তী কার্যকরকরণ একটি ভিন্ন ক্রমে ঘটে। সোর্স কোডের ক্ষেত্রগুলিতে দ্বিমুখী অক্ষর সন্নিবেশ করা যেতে পারে যেখানে স্ট্রিং অক্ষর অনুমোদিত। এটি প্রায়শই ডকুমেন্টেশন, ভেরিয়েবল বা মন্তব্যের ক্ষেত্রে প্রযোজ্য। উপরের উদাহরণে, আরএলআই চিহ্ন (ডান থেকে বাম বিচ্ছিন্ন) নিম্নলিখিত পাঠ্যটিকে বিপরীত ক্রমে ব্যাখ্যা করতে বাধ্য করেঃ ট্রিপল-কোটটি প্রথমে (স্ট্রিং শেষ করে), তারপরে একটি অর্ধ-কোলন (একটি নতুন লাইন শুরু করে), এবং অবশেষে অকাল প্রত্যাবর্তন (এর নীচের যে কোনও কোড ফিরিয়ে দেওয়া এবং উপেক্ষা করা)। নতুন লাইনটি আরএলআই চিহ্নটি শেষ করে দেয়, যা এটিকে নীচের কোডে প্রবাহিত হতে বাধা দেয়। বিড়ি চরিত্রের কারণে, কিছু সোর্স কোড সম্পাদক এবং আইডিই কোডটি পুনরায় সাজানো হয়েছে এমন কোনও চাক্ষুষ ইঙ্গিত ছাড়াই প্রদর্শনের জন্য কোডটি পুনর্বিন্যাস করে, তাই একজন মানব কোড পর্যালোচক সাধারণত সেগুলি সনাক্ত করতে পারবেন না। যাইহোক, যখন কোডটি একটি সংকলকের মধ্যে ঢোকানো হয়, তখন সংকলক বিড়ি চারকে উপেক্ষা করতে পারে এবং অক্ষরগুলিকে দৃশ্যমানভাবে প্রদর্শিত হওয়ার চেয়ে আলাদা ক্রমে প্রক্রিয়া করতে পারে। কম্পাইলারটি শেষ হয়ে গেলে, এটি সম্ভাব্য কোডটি কার্যকর করতে পারে যা দৃশ্যত অ-কার্যকর বলে মনে হয়েছিল। জটিল আক্রমণ তৈরি করতে ফরম্যাটিং চিহ্নগুলি একাধিকবার একত্রিত করা যেতে পারে। ইউনিকোড স্ট্রিং সমর্থন করে এবং ইউনিকোডের বিড়ি অ্যালগরিদম অনুসরণ করে এমন প্রভাব এবং প্রশমন প্রোগ্রামিং ভাষাগুলি শোষণের ঝুঁকিতে রয়েছে। এর মধ্যে জাভা, গো, সি, সি + +, সি #, পাইথন এবং জাভাস্ক্রিপ্টের মতো ভাষা রয়েছে। যদিও আক্রমণটি কঠোরভাবে একটি ত্রুটি নয়, অনেক সংকলক, দোভাষী এবং ওয়েবসাইট শোষণের জন্য সতর্কতা বা প্রশমন যোগ করেছে। জি. এন. ইউ জিসিসি এবং এল. এল. ভি. এম উভয়ই শোষণ মোকাবেলার জন্য অনুরোধ পেয়েছিল। মারেক পোলাসেক শোষণটি প্রকাশিত হওয়ার পরপরই জিসিসি-র কাছে একটি প্যাচ জমা দিয়েছিলেন যা সম্ভাব্য অনিরাপদ দিকনির্দেশক অক্ষরগুলির জন্য একটি সতর্কতা প্রয়োগ করেছিল; এই কার্যকারিতাটি জিসিসি 12-এর জন্য-উইবিডি-অক্ষর পতাকার অধীনে একত্রিত করা হয়েছিল। এল. এল. ভি. এম-ও অনুরূপ প্যাচগুলিকে একত্রিত করে। ডিফল্টরূপে অক্ষরগুলি অন্তর্ভুক্ত কোডটি প্রত্যাখ্যান করে, রাস্ট 1.56.1-এ শোষণটি ঠিক করে। রাস্টের ডেভেলপাররা ঠিক করার আগে কোনও দুর্বল প্যাকেজ খুঁজে পাননি। রেড হ্যাট তাদের ওয়েবসাইটে একটি পরামর্শ জারি করে, শোষণকে "মাঝারি" হিসাবে চিহ্নিত করে। গিটহাব তাদের ব্লগে একটি সতর্কবার্তা প্রকাশ করেছে, পাশাপাশি একটি সংগ্রহস্থলের কোডে বিড়ি অক্ষর সনাক্ত করা হলে একটি ডায়ালগ বাক্স দেখানোর জন্য ওয়েবসাইটটি আপডেট করেছে। তথ্যসূত্র আবিষ্কারক নিকোলাস বাউচার এবং রস অ্যান্ডারসনের বাহ্যিক লিঙ্ক ট্রোজান সোর্স কনসেপ্ট কোডের প্রমাণ সম্পূর্ণ গবেষণা পত্র এনআইএসটি জাতীয় দুর্বলতা ডাটাবেস এবং সিভিই সাধারণ দুর্বলতা এবং এক্সপোজার সিভিই-2021-42574-এনআইএসটি এবং সিভিই (বিআইডিআই শোষণ) সিভিই-2021-42694-এনআইএসটি এবং সিভিই (হোমোগ্লিফ আক্রমণ) ইউএএক্স 9 ইউনিকোড কনসোর্টিয়াম থেকে দ্বিমুখী অক্ষর সম্পর্কে এবং ইউনিকোড কনসোর্টিয়াম থেকে ইউটিআর 36 ফর্ম্যাট করার বিষয়ে ইউনিকোড কনসোর্টিয়াম থেকে, যা ইউনিকোড সিইআরটি/সিসি দুর্বলতা প্রতিবেদন 2021-এর দুর্বলতা বর্ণনা করে ইনজেকশন এক্সপ্লোইট সফ্টওয়্যার বাগ কম্পিউটিংয়ে