نشت داده ها از طریق گذرگاه حلقه CPU اینتل

تیمی از محققان دانشگاه ایلینوی تکنیک حمله کانال جانبی جدیدی را توسعه داده اند که نشت اطلاعات را از طریق اتصال حلقه ای پردازنده های اینتل دستکاری می کند. این حمله به شما امکان می‌دهد اطلاعات استفاده از حافظه را در برنامه دیگری برجسته کنید و اطلاعات زمان‌بندی ضربه زدن به کلید را دنبال کنید. محققان ابزارهایی را برای انجام اندازه‌گیری‌های مرتبط و چندین نمونه اولیه اکسپلویت منتشر کردند.

سه اکسپلویت پیشنهاد شده است که اجازه می دهد:

  • هنگام استفاده از پیاده‌سازی‌های RSA و EdDSA که در برابر حملات کانال جانبی آسیب‌پذیر هستند، تک تک بیت‌های کلیدهای رمزگذاری را بازیابی کنید (اگر تاخیرهای محاسباتی به داده‌های در حال پردازش بستگی دارد). به عنوان مثال، نشت تک تک بیت ها با اطلاعات مربوط به بردار اولیه (nonce) EdDSA برای استفاده از حملات برای بازیابی متوالی کل کلید خصوصی کافی است. اجرای این حمله در عمل دشوار است و می توان آن را با تعداد زیادی رزرو انجام داد. به عنوان مثال، زمانی که SMT (HyperThreading) غیرفعال باشد و کش LLC بین هسته های CPU تقسیم شده باشد، عملکرد موفقیت آمیز نشان داده می شود.
  • پارامترهای مربوط به تاخیر بین فشار دادن کلید را تعریف کنید. تأخیرها به موقعیت کلیدها بستگی دارد و از طریق تجزیه و تحلیل آماری اجازه می دهد تا داده های وارد شده از صفحه کلید را با احتمال خاصی دوباره ایجاد کند (به عنوان مثال، اغلب افراد معمولاً «s» را بعد از «a» بسیار سریعتر از «g» بعد از آن تایپ می کنند. "s").
  • یک کانال ارتباطی پنهان را سازماندهی کنید تا داده ها را بین فرآیندها با سرعت حدود 4 مگابیت در ثانیه انتقال دهد که از حافظه مشترک، حافظه پنهان پردازنده و منابع و ساختارهای پردازشگر ویژه هسته CPU استفاده نمی کند. خاطرنشان می شود که روش پیشنهادی ایجاد یک کانال مخفی با روش های موجود محافظت در برابر حملات کانال جانبی بسیار دشوار است.

اکسپلویت ها به امتیازات بالا نیاز ندارند و می توانند توسط کاربران عادی و غیرمجاز استفاده شوند. خاطرنشان می شود که این حمله به طور بالقوه می تواند برای سازماندهی نشت داده ها بین ماشین های مجازی تطبیق داده شود، اما این موضوع فراتر از محدوده مطالعه بود و آزمایش سیستم های مجازی سازی انجام نشد. کد پیشنهادی روی پردازنده مرکزی Intel i7-9700 در اوبونتو 16.04 آزمایش شد. به طور کلی، روش حمله بر روی پردازنده های دسکتاپ از خانواده Intel Coffee Lake و Skylake آزمایش شده است و همچنین به طور بالقوه برای پردازنده های سرور Xeon از خانواده Broadwell قابل استفاده است.

فناوری Ring Interconnect در پردازنده‌های مبتنی بر ریزمعماری Sandy Bridge ظاهر شد و شامل چندین گذرگاه حلقه‌ای است که برای اتصال هسته‌های محاسباتی و گرافیکی، یک پل سرور و حافظه پنهان استفاده می‌شود. ماهیت روش حمله این است که به دلیل محدودیت پهنای باند باس حلقه، عملیات حافظه در یک فرآیند دسترسی به حافظه یک فرآیند دیگر را به تاخیر می اندازد. با شناسایی جزئیات پیاده سازی از طریق مهندسی معکوس، مهاجم می تواند باری را ایجاد کند که باعث تاخیر در دسترسی به حافظه در فرآیند دیگری می شود و از این تاخیرها به عنوان یک کانال جانبی برای به دست آوردن اطلاعات استفاده می کند.

حملات به گذرگاه‌های CPU داخلی به دلیل کمبود اطلاعات در مورد معماری و روش‌های عملکرد اتوبوس و همچنین سطح بالای نویز، که جداسازی داده‌های مفید را دشوار می‌کند، مختل می‌شود. درک اصول عملکرد گذرگاه از طریق مهندسی معکوس پروتکل های مورد استفاده در هنگام انتقال داده ها از طریق گذرگاه امکان پذیر بود. یک مدل طبقه بندی داده ها بر اساس روش های یادگیری ماشین برای جداسازی اطلاعات مفید از نویز استفاده شد. مدل پیشنهادی امکان سازماندهی نظارت بر تاخیرها را در حین محاسبات در یک فرآیند خاص، در شرایطی که چندین فرآیند به طور همزمان به حافظه دسترسی دارند و بخش خاصی از داده ها از حافظه پنهان پردازنده بازگردانده می شود، امکان پذیر می کند.

علاوه بر این، می‌توانیم به شناسایی ردپای استفاده از یک اکسپلویت برای اولین نوع آسیب‌پذیری Spectre (CVE-2017-5753) در هنگام حملات به سیستم‌های لینوکس اشاره کنیم. این اکسپلویت از نشت اطلاعات کانال جانبی برای یافتن یک سوپر بلوک در حافظه، تعیین inode فایل /etc/shadow و محاسبه آدرس صفحه حافظه برای بازیابی فایل از کش دیسک استفاده می کند.

منبع: opennet.ru

اضافه کردن نظر