Zenbleed, একটি দুর্বলতা যা AMD Zen 2 প্রসেসরকে প্রভাবিত করে

দুর্বলতার

যদি শোষিত হয়, এই ত্রুটিগুলি আক্রমণকারীদের সংবেদনশীল তথ্যে অননুমোদিত অ্যাক্সেস পেতে বা সাধারণত সমস্যা সৃষ্টি করতে পারে

কয়েকদিন আগে আ গুগল নিরাপত্তা দলের গবেষক, মুক্তি খবর যে আমি সনাক্ত একটি দুর্বলতা (ইতিমধ্যে CVE-2023-20593 এর অধীনে তালিকাভুক্ত) AMD প্রসেসরে Zen2 মাইক্রোআর্কিটেকচারের উপর ভিত্তি করে যা রেজিস্টার সনাক্ত করতে ব্যবহার করা যেতে পারে যখন অন্যান্য প্রক্রিয়া একই CPU কোরে চলছে।

এই দুর্বলতা গুরুত্বপূর্ণ বলে মনে করা হয়, যেহেতু আক্রমণটি ভার্চুয়াল মেশিন এবং বিচ্ছিন্ন পরিবেশ থেকে করা যেতে পারে। সংক্ষেপে, সমস্যাটি মুক্ত হওয়ার পরে মেমরি অ্যাক্সেস করার কারণে সৃষ্ট ক্লাসিক ব্যবহারের-পর-মুক্ত দুর্বলতার সাথে সাদৃশ্যপূর্ণ।

সঙ্গে সমস্যা দেখা দেয় AMD Ryzen 3000, Ryzen PRO 3000, Ryzen Threadripper 3000, Ryzen 4000 Radeon গ্রাফিক্স সহ, Ryzen PRO 4000, Ryzen 5000 Radeon গ্রাফিক্স সহ, Ryzen 7020 Radeon গ্রাফিক্স সহ এবং প্রসেসরের সিরিজ EPYC 7002।

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

দুর্বলতা এই কারণে যে যদি জেড বিট অনুমানমূলক সম্পাদনের সময় সেট করা হয় নির্দেশাবলীর ক্ষেত্রে, একটি খারাপ শাখার পূর্বাভাস হলে এটিকে পুনরায় সেট করা যথেষ্ট নয়, কারণ লগ ফাইলের স্থান অনুমানমূলক সম্পাদন থেকে পুনরায় বরাদ্দ করা যেতে পারে।

প্রকাশিত প্রভাবটি ঘটে যখন একটি রেকর্ডের একই সাথে নামকরণ করা হয়, একটি নির্দেশ যার জন্য যোগদান অপ্টিমাইজেশান প্রয়োগ করা হয় ব্যবহার করা হয়, এবং একটি VZEROUPPER ভেক্টর নির্দেশ অনুমানমূলকভাবে কার্যকর করা হয় যে z বিট সেট করে এবং লগ ফাইল থেকে সম্পদ মুক্ত করে। যদি শাখার পূর্বাভাস ব্যর্থ হয় এবং অনুমানমূলক VZEROUPPER অপারেশনটি ফিরিয়ে আনা হয়, তাহলে ভেক্টর রেজিস্টারের বিষয়বস্তু দূষিত হতে পারে, যেহেতু z-বিট রোল করা হয়, কিন্তু মুক্ত করা সম্পদটি বাতিল করা হয় না।

VZEROUPPER নির্দেশের ম্যানিপুলেশনের মাধ্যমে, AVX (অ্যাডভান্সড ভেক্টর এক্সটেনশন) এবং SSE (স্ট্রিমিং SIMD এক্সটেনশন) মোডে ব্যবহৃত YMM ভেক্টর রেজিস্টারে প্রক্রিয়াকৃত ডেটার একটি নিয়ন্ত্রিত ফাঁস অর্জন করা সম্ভব। এই রেজিস্টারগুলি সক্রিয়ভাবে মেমরি কপি এবং স্ট্রিং প্রসেসিং ফাংশনে ব্যবহৃত হয়, উদাহরণস্বরূপ Glibc লাইব্রেরিতে এগুলি memcpy, strcmp এবং strlen ফাংশনে ব্যবহৃত হয়।

দুর্বলতা প্রদর্শন করতে, কোডনাম Zenbleed, একটি প্রোটোটাইপ শোষণ প্রস্তুত করা হয়েছে যা একটি সুবিধাবিহীন ব্যবহারকারীকে AES-NI বা REP-MOVS নির্দেশাবলীতে (সাধারণত memcpy ফাংশনে ব্যবহৃত) প্রক্রিয়াকৃত ডেটা নির্ধারণ করতে দেয়, যা এনক্রিপশন কী এবং ব্যবহারকারীর পাসওয়ার্ড পুনর্গঠন করতে ব্যবহার করা যেতে পারে, বিশেষাধিকারপ্রাপ্ত ব্যক্তিগুলি সহ অন্যান্য প্রক্রিয়াগুলিতে প্রক্রিয়া করা হয়। শোষণের ডেটা ফাঁস কর্মক্ষমতা প্রতি সেকেন্ডে প্রায় 30 KB।

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

এটি করার জন্য, কন্ট্রোল বিট DE_CFG[9] অবশ্যই CPU-তে কনফিগার করতে হবে এবং এর জন্য, একটি টার্মিনালে, নিম্নলিখিত কমান্ডটি টাইপ করতে হবে:

এটি উল্লেখ করার মতো যে SMT মোড নিষ্ক্রিয় করা দুর্বলতাকে অবরুদ্ধ করে না এবং দুর্বলতা ব্লক করার সমাধানটি কার্নেল আপডেট 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250 এবং 4.19.289 এর মধ্যে প্রয়োগ করা হয়েছিল।

জন্য দুর্বলতার তথ্য ট্র্যাক করতে আগ্রহী বিভিন্ন বিতরণে, তারা নিম্নলিখিত পৃষ্ঠাগুলিতে এটি করতে পারে: ডেবিয়ানউবুন্টুজেন্টুRHELSUSEফেডোরাখিলানOpenBSDFreeBSD 'রNetBSD বা.

পরিশেষে, আপনি যদি এটি সম্পর্কে আরও জানতে সক্ষম হন তবে আপনি বিশদ বিবরণে পরামর্শ করতে পারেন নিম্নলিখিত লিঙ্ক.