GoFetch آسیب پذیری خطرناک سلیکون های اپل
محققان یک آسیب پذیری امنیتی بسیار خطرناک را در سیلیکون M1، M2 و M3 اپل کشف کرده اند. این آسیبپذیری که «GoFetch» نامیده میشود، اطلاعات رمزنگاریشده را از حافظه پنهان CPU می دزدد و برنامه مهاجم را قادر میسازد تا یک کلید رمزنگاری را از دادههای دزدیده شده بسازد و به برنامه امکان دسترسی به دادههای رمزگذاری شده حساس را میدهد.
GoFetch از یک اکسپلویت امنیتی نادیده گرفته شده در سیلیکون اپل در اطراف پیشرفتهترین پیش واکشی (Prefetcher) شده وابسته به حافظه داده (DMP) بهره میبرد.
یک Prefetcher نسل بعدی فقط در سیلیکون اپل و معماریهای CPU Raptor Lake اینتل یافت میشود که محتویات حافظه را قبل از نیاز در حافظه پنهان بارگذاری میکند.
این آسیبپذیری یک رفتار نادیده گرفته شده در Prefetcher را احاطه میکند، جایی که مواد کلیدی را در حافظه پنهان CPU بارگذاری میکند که دارای مقدار اشارهگر است که برای بارگیری دادههای دیگر استفاده میشود.
DMP گاهی اوقات محتوای حافظه را اشتباه می گیرد و داده های نامناسب را در حافظه پنهان CPU بارگذاری می کند.
مشکل GoFetch این است که کاملاً اثرات امنیتی برنامهنویسی با زمان ثابت را خنثی میکند، که الگوریتم رمزگذاری کاهش کانال جانبی است که برای شکست حملات مربوط به کانال جانبی حافظه مرکزی مرتبط با پیشفرستکننده استفاده میشود.
در نتیجه، برنامههایی که از GoFetch استفاده میکنند، میتوانند نرمافزار رمزگذاری را فریب دهند تا دادههای حساس را در حافظه پنهان قرار دهند تا برنامه مهاجم بتواند آنها را سرقت کند.
اثرات و تهدیدات GoFetch جدی است که انواع الگوریتمهای رمزگذاری را تحت تأثیر قرار میدهد، از جمله کلیدهای 2048 بیتی که برای دفع حملات رایانههای کوانتومی طراحی شدهاند.
از نظر فنی، توسعهدهندگان میتوانند نرمافزار رمزگذاری خود را مجبور کنند که فقط بر روی هستههای E اجرا شود، که این Prefetcher را ندارند، با این حال، این کار هزینه عملکردی آشکاری نیز دارد.
تنها استثنا سیلیکون M3 اپل است که ظاهراً دارای «سوئیچ» ویژهای است که توسعهدهندگان میتوانند آن را برای غیرفعال کردن پیشفرضگر وابسته به حافظه داده تراشه روشن کنند.
با این حال، هیچ کس هنوز نمی داند که اگر این بهینه سازی ویژه خاموش شود، چقدر از عملکرد سیستم از بین می رود.
نکته جالب این است که معماری CPU Raptor Lake اینتل (که شامل هر دو پردازندههای نسل سیزدهم و چهاردهم میشود) علیرغم اشتراکگذاری همان Prefetcher تراشههای سری M اپل، این آسیبپذیری را ندارد.
ما علت آن را نمی دانیم اما این نشان می دهد که GoFetch را می توان در سیلیکون اصلاح کرد. با این حال، این تنها در معماریهای آینده سری M اپل (یعنی M4) زمانی اتفاق میافتد که مهندسان اپل زمان داشته باشند تا معماری CPU آن را دوباره طراحی کنند تا آسیبپذیریهای اخیراً کشف شده را در نظر بگیرند.
اپل هنوز هیچ تاریخ انتشاری را برای تعمیر رسمی منتشر نکرده است،