SQUIP یک حمله به پردازنده های AMD است که منجر به نشت اطلاعات از طریق کانال های شخص ثالث می شود.

تیمی از محققان دانشگاه فنی گراتس (اتریش) که قبلاً برای توسعه حملات MDS، NetSpectre، Throwhammer و ZombieLoad شناخته شده بودند، اطلاعاتی را در مورد روش حمله کانال جانبی جدید (CVE-2021-46778) بر روی پردازنده AMD افشا کردند. صف زمانبند، برای برنامه ریزی اجرای دستورالعمل ها در واحدهای اجرایی مختلف CPU استفاده می شود. این حمله که SQUIP نام دارد به شما امکان می دهد داده های مورد استفاده در محاسبات را در یک فرآیند یا ماشین مجازی دیگر تعیین کنید یا یک کانال ارتباطی پنهان بین فرآیندها یا ماشین های مجازی سازماندهی کنید و به شما امکان می دهد با دور زدن مکانیسم های کنترل دسترسی سیستم، داده ها را مبادله کنید.

این مشکل بر روی پردازنده‌های AMD مبتنی بر ریزمعماری Zen نسل اول، دوم و سوم (AMD Ryzen 2000-5000، AMD Ryzen Threadripper، AMD Athlon 3000، AMD EPYC) هنگام استفاده از فناوری چند رشته‌ای همزمان (SMT) تأثیر می‌گذارد. پردازنده های اینتل مستعد حمله نیستند زیرا از یک صف زمان بندی استفاده می کنند، در حالی که پردازنده های آسیب پذیر AMD از صف های جداگانه برای هر واحد اجرایی استفاده می کنند. به عنوان راه حلی برای جلوگیری از نشت اطلاعات، AMD توصیه کرد که توسعه دهندگان از الگوریتم هایی استفاده کنند که در آنها محاسبات ریاضی همیشه بدون توجه به ماهیت داده های در حال پردازش در زمان ثابت انجام می شود و همچنین از انشعاب بر اساس داده های حساس خودداری کنند.

این حمله مبتنی بر ارزیابی سطح رقابت در صف‌های زمان‌بندی مختلف است و با اندازه‌گیری تأخیرها هنگام راه‌اندازی عملیات تأیید انجام شده در رشته SMT دیگری در همان CPU فیزیکی انجام می‌شود. برای تجزیه و تحلیل محتوا، از روش Prime+Probe استفاده شده است که شامل پر کردن صف با مجموعه ای استاندارد از مقادیر و تشخیص تغییرات با اندازه گیری زمان دسترسی به آنها هنگام پر کردن مجدد آنها است.

در طول آزمایش، محققان توانستند کلید خصوصی 4096 بیتی RSA مورد استفاده برای ایجاد امضای دیجیتال را با استفاده از کتابخانه رمزنگاری mbedTLS 3.0 که از الگوریتم مونتگومری برای بالا بردن یک مدول اعداد استفاده می‌کند، بازسازی کنند. تعیین کلید به 50500 رد نیاز داشت. کل زمان حمله 38 دقیقه طول کشید. انواع حمله که نشت بین فرآیندهای مختلف و ماشین های مجازی مدیریت شده توسط هایپروایزر KVM را فراهم می کند، نشان داده شده است. همچنین نشان داده شده است که این روش می تواند برای سازماندهی انتقال داده های پنهان بین ماشین های مجازی با سرعت 0.89 مگابیت بر ثانیه و بین فرآیندها با سرعت 2.70 مگابیت بر ثانیه با نرخ خطای کمتر از 0.8٪ استفاده شود.

منبع: opennet.ru

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