PlunderVolt

تیمی از محققان امنیت سایبری روش جدید دیگری به نام Plundervolt را برای hijack کردن Intel SGX اثبات کردند، که یک فضای قابل‌اعتماد است که روی پردازنده‌های مدرن اینتل قرار دارد و به‌طور سخت‌افزاری جداشده(۱) و داده‌های بسیار حساس را برای محافظت از مهاجمان در زمانی که یک سیستم در معرض خطر قرار گیرد، رمزنگاری می‌کند.

این حمله که Plundervolt نام‌گذاری شده است، با عنوان CVE-2019-11157 شناخته می‌شود و به این واقعیت متکی است که پردازنده‌های مدرن اجازه می‌دهند تا در صورت لزوم فرکانس و ولتاژ پردازنده تنظیم شود، که به گفته محققان می‌تواند به‌صورت کنترل‌شده دست‌کاری شود تا باعث ایجاد خطاها در حافظه توسط Bit Flip شود.

Bit flip پدیده‌ای است که به‌طور گسترده برای حمله Rowhammer شناخته شده است[۱] که در آن مهاجمان با تغییر مقدار(۲) از ۱ به ۰ یا برعکس و با دست‌کاری الکتریکی سلول‌های حافظه همسایه، سلول‌های حافظه آسیب‌پذیر را hijack می‌کردند.

بااین‌حال، ازآنجاکه حافظه enclave از نوع Software Guard Extensions یا SGX در حقیقت رمزگذاری شده است، حمله Plundervolt با تزریق نقص در CPU قبل از نوشتن روی حافظه، ایده مشابهی را برای flip بیت‌ها اعمال می‌کند.

Plundervolt بیشتر به حملات اجرای احتمالی(۳) مانند Foreshadow و Spectre شباهت دارد[۲و۳]. در حقیقت Foreshadow و Spectre به محرمانه بودن حافظه enclave از نوع SGX حمله می‌کنند و به مهاجمان اجازه می‌دهند داده‌های مربوط به enclave ایمن را بخوانند اما Plundervolt به یکپارچگی(۴) SGX حمله می‌کند تا به همان هدف برسد.

برای دستیابی به این هدف، Plundervolt به یک تکنیک شناخته شده دوم به نام CLKSCREW، یک بردار(۵) حمله قبلاً مستند شده بستگی دارد که از مدیریت انرژی CPU برای نفوذ به مکانیسم‌های امنیتی سخت‌افزاری و کنترل سیستم مورد هدف بهره‌برداری می‌کند[۴].

محققان دراین‌باره می‌گویند: “ما نشان می‌دهیم که یک دشمن دارای سطح دسترسی بالا قادر به تزریق نقص در محاسبات enclave محافظت‌ شده است. نکته مهم اینجاست که ازآنجاکه نقص‌ها در بسته پردازنده اتفاق می‌افتند، برای مثال قبل از این‌که نتایج به حافظه متعهد(۶) شوند، در حقیقت محافظت یکپارچه از حافظه(۷) یعنی Intel SGX نمی‌تواند در برابر حملات ما دفاع کند.”

همان‌طور که محققان در این فیلم‌ها نشان داده‌اند[۵-۷]، با افزایش یا کاهش دقیق ولتاژ یک پردازنده مورد هدف، یک مهاجم می‌تواند در الگوریتم‌های رمزنگاری مورداستفاده توسط enclaves SGX خطاهای محاسباتی ایجاد کند و به مهاجمان اجازه می‌دهد داده‌های SGX را به‌راحتی رمزگشایی کنند.

محققان دراین‌باره گفتند: “ما اثر تزریقات خود را با تزریق نقص‌ها به برنامه‌های RSA-CRT و AES-NI اینتل که در یک SGX enclave در حال اجرا هستند اثبات کردیم و کلیدهای رمزنگاری‌شده کامل را با یک تلاش محاسباتی ناچیز بازسازی کردیم.”

“با توجه به یک جفت متن رمز شده و صحیح در یک متن مشابه، این حمله قادر است یک کلیدAES  از نوع ۱۲۸ بیتی کامل را با پیچیدگی محاسباتی از نوع به‌طور متوسط ۲۳۲ + ۲۵۶ ​​بازیابی کند. ما این حمله را در عمل اجرا کرده‌ایم و فقط چند دقیقه طول کشید تا کلید AES کامل از encalve خارج شود، ازجمله مراحل تزریق نقص و فازهای محاسبه کلیدی.”

حمله Plundervolt، که روی همه پردازنده‌های Intel Core با قابلیت SGX تأثیر می‌گذارد، از نسل Skylake شروع می‌شود و در ژوئن سال ۲۰۱۹ توسط تیمی از شش محقق اروپایی از دانشگاه بیرمنگام، Graz University of Technology و KU Leuven کشف و به اینتل گزارش شد.

در پاسخ به یافته‌های این محققان، اینتل در تاریخ ۱۰ دسامبر ۲۰۱۹ به‌روزرسانی‌های میکرو کد و BIOS را برای پرداختن به Plundervolt با قفل ولتاژ به تنظیمات پیش‌فرض، به همراه ۱۳ آسیب‌پذیری با شدت بالا و متوسط ​​منتشر کرد.

در پست وبلاگ اینتل که در تاریخ ۱۱ دسامبر ۲۰۱۹ منتشرشده، آمده است: “اینتل با فروشندگان سیستم همکاری کرده است تا یک به‌روزرسانی میکرو کد را ایجاد کند که این مشکل را با قفل ولتاژ در تنظیمات پیش‌فرض برطرف می‌کند. ما از هیچ‌کدام از این موارد که در سطح اینترنت مورد بهره‌برداری قرارگرفته باشند آگاه نیستیم، اما مثل همیشه توصیه می‌کنیم هرچه سریع‌تر این به‌روزرسانی‌های امنیتی را نصب کنید.”

در اینجا لیست مدل‌های پردازنده تحت تأثیر حمله Plundervolt آورده شده است:

  • پردازنده‌های اینتل نسل ۶، ۷، ۸، ۹ و ۱۰
  • پردازنده‌های زئون اینتل از نوع E3 نسخه ۵ و ۶
  • خانواده پردازنده‌های زئون اینتل از نوع E-1200 و E-2200
  • برای آگاه شدن از دیگر محصولات تحت تأثیر می‌توانید به گزارش امنیتی اینتل مراجعه کنید[۸].

این تیم تحقیقاتی علاوه بر انتشار[۹] یک اثبات ادعا (PoC) در GitHub، همچنین یک وب‌سایت اختصاصی [۱۰] با سؤالات متداول و یک مقاله فنی[۱۱] با عنوان Plundervolt: Fault Injection Plundervolt: Software-based Fault Injection Attacks against Intel SGX نیز منتشر کرده است که می‌توانید آن‌ها را بررسی کنید و جزئیات بیشتری در مورد این حمله را در آنجا پیدا کنید.

منابع

[۱] https://apa.aut.ac.ir/?p=4276

[۲] https://thehackernews.com/2018/08/foreshadow-intel-processor-vulnerability.html

[۳] https://apa.aut.ac.ir/?p=3397

[۴] https://thehackernews.com/2018/05/rowhammer-attack-exploit.html

[۵] https://youtu.be/1bvK532x3ys

[۶] https://youtu.be/In3B9L5Jyo4

[۷] https://youtu.be/yo9B2ZRVW9Q

[۸] https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00289.html

[۹] https://github.com/KitMurdock/plundervolt

[۱۰] https://plundervolt.com

[۱۱] https://plundervolt.com/doc/plundervolt.pdf

[۱۲] https://thehackernews.com/2019/12/intel-sgx-voltage-attack.html


(۱) hardware-isolated
(۲) value
(۳) speculative execution
(۴) integrity
(۵) vector
(۶) committed
(۷) memory integrity protection