اینتل یک آسیبپذیری ریزمعماری (CVE-2023-28746) را در پردازندههای اتم اینتل (E-core) فاش کرده است که به دادههای استفاده شده توسط فرآیندی که قبلاً روی همان هسته CPU اجرا میشد، امکان تعیین میدهد. این آسیبپذیری با نام رمز RFDS (نمونهگیری دادههای فایل ثبت)، به دلیل توانایی تعیین اطلاعات باقیمانده از فایلهای ثبت پردازنده (RF, Register File) ایجاد میشود که برای ذخیره مشترک محتویات ثباتها در همه وظایف در یک هسته CPU استفاده میشوند. .
این مشکل توسط مهندسان اینتل در طی یک ممیزی داخلی شناسایی شد. اطلاعات دقیق در مورد روش بهره برداری از آسیب پذیری فاش نشده است. استدلال می شود که مهاجم نمی تواند به طور هدفمند انتخاب فرآیندها را برای استخراج داده ها کنترل کند. رسوب اطلاعات موجود برای بازیابی تصادفی است. با این حال، نظارت بر اطلاعات باقیمانده ممکن است دادههای حساس را از سایر فرآیندهای کاربر، هسته سیستم، ماشینهای مجازی، SGX enclaves و کنترلکنندههای حالت SMM درز کند.
نشت ها بر روی ثبات های برداری تأثیر می گذارد که به طور فعال در رمزگذاری، توابع کپی حافظه، و پردازش رشته ها استفاده می شوند، به عنوان مثال، در توابع memcpy، strcmp، و strlen. نشت از طریق رجیسترهایی برای ذخیره اعداد ممیز شناور و اعداد صحیح نیز امکان پذیر است، اما آنها در طول اجرای کار بسیار بیشتر از ثبات های برداری به روز می شوند، بنابراین احتمال نشت از طریق آنها کمتر است. دادههای باقیمانده مستقیماً در ثباتها باقی نمیمانند، اما میتوانند از فایلهای رجیستر با استفاده از تکنیکهای حمله کانال جانبی مانند استخراج دادهها در حافظه پنهان CPU استخراج شوند.
این آسیبپذیری تنها بر پردازندههای Atom مبتنی بر ریزمعماری Alder Lake، Raptor Lake، Tremont، Goldmont و Gracemont تأثیر میگذارد. از آنجایی که پردازندههای آسیبپذیر از حالت HyperThreading پشتیبانی نمیکنند، نشت تنها در یک رشته از اجرا توسط هسته CPU فعلی امکانپذیر است. تغییرات برای رفع آسیبپذیری در microcode update microcode-20240312-staging گنجانده شده است. روشهای محافظت در برابر آسیبپذیری مشابه روشهایی هستند که قبلاً برای مسدود کردن حملات شناسایی شده قبلی MDS (نمونهگیری دادههای ریزمعماری)، SRBDS (نمونهگیری دادههای بافر ثبت خاص)، TAA (انقطاع غیرهمزمان تراکنش)، DRPW (نوشتن جزئی ثبت دستگاه) و حملات SBDS (به اشتراک گذاشته شده) نمونه برداری داده ها بافر).
برای جلوگیری از نشت در هسته و هایپروایزر، علاوه بر به روز رسانی میکروکد، استفاده از روش های حفاظتی نرم افزاری مبتنی بر استفاده از دستورالعمل VERW برای پاک کردن محتویات بافرهای ریزمعماری هنگام بازگشت از هسته به فضای کاربر یا هنگام انتقال کنترل به فضای کاربر ضروری است. سیستم مهمان حفاظت مشخص شده قبلاً به هایپروایزر Xen و هسته لینوکس اضافه شده است. برای فعال کردن حفاظت در هسته لینوکس، میتوانید هنگام بارگیری هسته از پرچم «reg_file_data_sampling=on» استفاده کنید و اطلاعات مربوط به قرار گرفتن در معرض آسیبپذیریها و وجود میکروکد لازم برای محافظت را میتوانید در فایل «/sys/devices/system» ارزیابی کنید. /cpu/vulnerabilities/reg_file_data_sampling".
منبع: opennet.ru