محققان چندین آسیبپذیری با شدتهای مختلف را در ابزار AMD μProf و AMD Secure Processor و دیگر پلتفرمهای AMD کشف کردهاند که ممکن است منجر به اجرای کد مخرب، افزایش دسترسیها و نفوذ به سیستمها شوند. این آسیبپذیریها شامل نقصهای موجود در معماری “Zen” و پلتفرمهای دیگر AMD میباشند.
AMD μProf یک ابزار آنالیز پروفایلینگ نرمافزار (Software Profiling Tool) است و برای تحلیل عملکرد برنامهها در سیستمعاملهای ویندوز، لینوکس و FreeBSD استفاده میشود. این ابزارها به توسعهدهندگان کمک میکنند تا بخشهای مختلف کد را ارزیابی کرده و عملکرد آنها را بهبود بخشند. پروفایلینگ شامل اندازهگیری زمان اجرای کد، استفاده از منابع سیستم (مثل CPU و حافظه)، و شناسایی نقاطی از کد که ممکن است باعث کندی یا بهرهوری پایین شوند، میباشد. چهار آسیبپذیری بالقوه در این ابزار کشف شدند که جزئیاتشان بدین شرح است:
• آسیبپذیری با شناسه CVE-2023-31348 و شدت بالا که با امتیاز CVSS 7.3 شناسایی شدهاست، یک نقص DLL Hijacking در AMD μProf است. آسیبپذیری DLL Hijacking نوعی حمله است که در آن مهاجم یک فایل DLL (Dynamic-Link Library) مخرب را جایگزین فایل DLL معتبر یک برنامه میکند. زمانی که برنامه تلاش میکند DLL معتبر را بارگذاری کند، در واقع نسخه مخرب مهاجم بارگذاری میشود. این نوع حمله میتواند به مهاجم اجازه دهد تا کد مخرب خود را در فرآیند برنامه اجرا کند، که ممکن است منجر به اجرای کد غیرمجاز، افزایش سطح دسترسیها یا دسترسی به دادههای حساس شود.
• آسیبپذیری با شناسه CVE-2023-31349 و شدت بالا که با امتیاز CVSS 7.3 شناسایی شده است، ناشی از تنظیمات نادرست پیشفرض در دایرکتوری نصب AMD μProf میباشد که ممکن است مهاجم را قادر سازد تا به مجوزهای بیشتری دست یابد و در نهایت کد دلخواه خود را اجرا کند.
• آسیبپذیری با شناسه CVE-2023-31341 و شدت متوسط که با امتیاز CVSS 5.5 شناسایی شدهاست، به دلیل اعتبارسنجی نامناسب بافر ورودی-خروجی در AMD μProf ایجاد میشود. بافر کنترل ورودی-خروجی (IO Control Buffer) قسمتی از حافظه است که برای ذخیره اطلاعات مرتبط با عملیاتهای ورودی و خروجی استفاده میشود و معمولاً در سیستمهای کامپیوتری برای مدیریت دادههای ورودی و خروجی از دستگاههای جانبی (مانند دیسکها، شبکه، و دیگر دستگاههای I/O) به کار میروند. این آسیبپذیری ممکن است منجر به نوشتن خارج از محدوده (out-of-bound write) و در نهایت اختلال در عملکرد سیستم عامل ویندوز و بروز حمله انکار سرویس (DoS) شود.
• آسیبپذیری با شناسه CVE-2023-31366 و شدت پایین که با امتیاز CVSS 3.3 شناسایی شدهاست، به دلیل اعتبارسنجی نادرست ورودی در AMD μProf رخ میدهد که ممکن است باعث نوشتن در آدرس نامعتبر حافظه و در نتیجه باعث بروز حمله انکار سرویس (DoS) شود.
همچنین پردازندههای امن (AMD Secure Processors)AMD و سایر اجزای پلتفرم امنیتی آنها با ده آسیبپذیری بحرانی و متوسط مواجه شدهاند که میتوانند منجر به افشای اطلاعات و اختلال در سیستمها شوند. شناسه و جزئیات هر یک به شرح ذیل است:
- آسیبپذیری با شناسه CVE-2023-20578 و شدت بالا که با امتیاز CVSS 7.5 شناسایی شدهاست، به علت نقص در مدیریت زمان در مدل مدیریت سیستم (SMM) رخ میدهد. این نقص به مهاجمی با قابلیت دسترسی به سطح حلقه 0 (ring0) و منوی BIOS یا پوستهی UEFI اجازه میدهد تا با دستکاری بافر ارتباطات، کد دلخواه خود را اجرا کند. اجرای کدهای مخرب و ایجاد تهدیدات جدی برای امنیت سیستم را میتوان از نتایج بهرهبرداری از این نقص برشمرد.
- آسیبپذیری با شناسه CVE-2021-26344 و شدت بالا که با امتیاز CVSS 7.2 شناسایی شدهاست، از نوشتن خارج از محدوده در حین پردازش بلوک پیکربندی PSP1(PSP1 Configuration Block) ناشی میشود.PSP1 یک پردازنده امنیتی مجزا است که در برخی از پردازندههای AMD تعبیه شده است. بلوک پیکربندی PSP1(APCB) بخشی از پیکربندی پردازندههای امن AMD است که مسئولیت تنظیمات امنیتی و مدیریت کلیدهای رمزنگاری برای پردازنده را بر عهده دارد. مهاجم با دسترسی به BIOS میتواند بلوک پیکربندی APCB را تغییر داده و کد دلخواه خود را اجرا کند. این مسئله میتواند منجر به تغییر BIOS و ایجاد مشکلات امنیتی جدی شود.
- آسیبپذیری با شناسه CVE-2023-20591 و شدت متوسط که با امتیاز CVSS 6.5 شناسایی شدهاست، به دلیل نقص در بازنشانی (Input-Output Memory Management Unit)IOMMU در طول رویداد DRTM رخ میدهد. IOMMU واحدی است که دسترسیهای ورودی-خروجی دستگاههای جانبی به حافظه سیستم را مدیریت میکند. نقص در بازنشانی IOMMU به این معناست که این واحد بعد از یک رویداد مثل راهاندازی مجدد سیستم یا در طول یک عملیات مهم مانند DRTM به درستی به حالت اولیه بازنمیگردد، که میتواند به مهاجم اجازه دهد از این نقص برای دسترسی یا تغییر دادهها در حافظه استفاده کند. DRTM (Dynamic Root of Trust for Measurement) یک مکانیزم امنیتی است که در برخی از سیستمهای پردازشی برای راهاندازی یک محیط ایمن و مورد اعتماد در طول اجرای سیستم استفاده میشود. این آسیبپذیری ممکن است به مهاجم اجازه دهد تا پیکربندی نادرست پلتفرم را حفظ کرده و حافظه Hypervisor را بخواند یا تغییر دهد و درنتیجه به افشای اطلاعات حساس و تغییرات غیرمجاز در سیستم منجر شود.
- آسیبپذیری با شناسه CVE-2024-21981 و شدت متوسط که با امتیاز CVSS 5.7 شناسایی شدهاست، در نتیجهی کنترل نادرست استفاده از کلیدهای رمزنگاری در پردازنده امنAMD (ASP) به وجود میآید. مهاجم با سطح دسترسی محلی و اجرای کد دلخواه در ASP میتواند کلیدهای رمزنگاری را استخراج کرده و باعث از دست رفتن محرمانگی و نشت اطلاعات شود.
- آسیبپذیری با شناسه CVE-2023-20584 و شدت متوسط که با امتیاز CVSS 5.3 شناسایی شدهاست، به دلیل مدیریت نادرست آدرسها در IOMMU رخ میدهد. مهاجم با دسترسی به سیستم و دستکاری حافظهی Hypervisor میتواند چکهای RMP در SEV-SNP را دور بزند و کنترل سیستم را به طور کلی دچار اختلال کند. RMP (Restricted Memory Protection) یک ویژگی امنیتی است که در پردازندههای AMD برای محافظت از حافظههای مجازی استفاده میشود. همچنین SEV-SNP (Secure Encrypted Virtualization - Secure Nested Paging) یک فناوری امنیتی در این پردازندهها است که حفاظتهای پیشرفتهای برای ماشینهای مجازی ارائه میدهد. دور زدن SEV-SNP به معنای شکست این محافظتها است که میتواند به مهاجم اجازه دهد به دادههای محافظتشده در ماشینهای مجازی دسترسی پیدا کند یا آنها را تغییر دهد.
- آسیبپذیری با شناسه CVE-2021-46746 و شدت متوسط که با امتیاز CVSS 5.2 شناسایی شدهاست، به علت فقدان مکانیزمهای محافظت از پشته در محیط امن ASP Trusted Execution Environment (TEE) رخ میدهد. مهاجم با دسترسی به کلیدهای امضای AMD میتواند باعث سرریز بافر پشته شود که ممکن است از کار افتادن سیستم یا انکار سرویس(DoS) را در پی داشتهباشد.
- آسیبپذیری با شناسه CVE-2023-31356 و شدت متوسط که با امتیاز CVSS 4.4 شناسایی شدهاست، ناشی از پاکسازی ناقص حافظه سیستم در SEV firmware (نرمافزاری که نقشی حیاتی در ایجاد و حفظ محیطهای ایمن و رمزنگاریشده برای ماشینهای مجازی ایفا میکند) است که ممکن است مهاجم را قادر سازد تا حافظه خصوصی کاربر مهمان(guest) را تخریب کرده و باعث از دست رفتن تمامیت دادهها شود.
- آسیبپذیری با شناسه CVE-2021-26387 و شدت پایین که با امتیاز CVSS 3.9 شناسایی شدهاست، به علت کنترل دسترسی نامناسب در ASP kernel رخ میدهد. مهاجم با دسترسی به کلیدهای امضای AMD و منوی BIOS یا پوستهی UEFI میتواند بخشهایی از حافظه DRAM را در نواحی حفاظت شده نگاشت کند که ممکن است به از دست رفتن تمامیت پلتفرم منجر شود.
- آسیبپذیری با شناسه CVE-2021-46772 و شدت پایین که با امتیاز CVSS 3.9 شناسایی شدهاست، به دلیل اعتبارسنجی ناکافی ورودیها در ABL رخ میدهد. ABL(Authenticated Boot Loader) بخشی از فرآیند بوت امن در سیستمهای کامپیوتری است که مسئول تأیید صحت و اعتبار نرمافزار بوت (Boot Loader) پیش از بارگذاری آن در سیستم است. این مکانیزم از بارگذاری نرمافزارهای مخرب یا تغییریافته که ممکن است در ابتدای فرآیند بوت سیستم به اجرا درآیند، جلوگیری میکند. مهاجم با دسترسی به منوی BIOS یا پوستهی UEFI میتواند با دستکاری هدرهای ساختار(structure headers) در SPI ROM باعث خواندن و نوشتن خارج از محدودهی حافظه شود که ممکن است به خرابی حافظه یا از کار افتادن سیستم منجر شود. SPI ROM (Serial Peripheral Interface Read-Only Memory) حافظهای است که معمولاً برای ذخیره کردن اطلاعات اولیه بوت، شامل BIOS یا UEFI، و دادههای حیاتی سیستم به کار میرود. این حافظه معمولاً به صورت غیرقابل تغییر (Read-Only) طراحی شده است، اگرچه ممکن است در شرایط خاص بتوان آن را بهروزرسانی کرد. در مجموع، ABL در SPI ROM ذخیره میشود و در طول فرآیند بوت، ابتدا این حافظه توسط ABL خوانده میشود تا اطمینان حاصل شود که نرمافزار بوت معتبر و قابل اعتماد است. هر گونه آسیبپذیری در این فرآیند میتواند به مهاجمان امکان سواستفاده از سیستم در مراحل اولیه راهاندازی را بدهد.
- آسیبپذیری با شناسه CVE-2023-20518 و شدت پایین که با امتیاز CVSS 1.6 شناسایی شدهاست، به علت پاکسازی ناقص در ASP ممکن است کلید رمزنگاری اصلی را برای مهاجمی که به منوی BIOS یا پوستهی UEFI دسترسی دارد فاش کند. این نقص، محرمانگی اطلاعات را به خطر میاندازد.
توصیههای امنیتی
برای کاهش تهدید این آسیبپذیریها، به کاربران توصیه میشود که بهروزرسانیهای منتشر شده توسط AMD را فورا اعمال کرده و از دسترسیهای غیرمجاز به BIOS یا شل UEFI جلوگیری کنند.
منابع خبر:
[1] https://www.amd.com/en/resources/product-security/bulletin/amd-sb-9001.html
[2] https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3003.html
- 108