آسیب‌پذیریِ سخت‌افزاری جدید در پردازنده‌های اینتل

31 اردیبهشت 1402 آسیب‌پذیریِ سخت‌افزاری جدید در پردازنده‌های اینتل

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

گرجه این آسیب‌پذیری به نظر می‌رسد جدیدترین پردازنده‌های اینتل (این تولیدکننده تراشه) را تحت‌الشعاع قرار داده باشد اما بیشترین اثرگذاری‌اش روی مدل‌های قدیمی‌تری است که در معرض آسیب‌پذیری Meltdown نیز هستند. در این مقاله آورده شده است که مهاجمین با تغییر داده‌های رجیستری فلگ، اطلاعات حساس را سرقت می‌کنند.

چرا مدام پیچیده‌تر می‌شود؟!

آسیب‌پذیری‌های سخت‌افزاری پردازنده مرتبط با اجرای مبهم دستورالعمل‌ها[1] مدت‌هاست که موضوع بیشتر تحقیقات هستند (چیزی بیش از 5 سال). همه حملات ارائه‌شده برای ساده‌سازی حداکثری می‌توانند اینطور خلاصه شوند: سی‌پی‌یو یک‌جورهایی مجبور می‌شود داده‌هایی را که کاربر نباید بدان‌ها دسترسی داشته باشد بخواند. این سناریوی نظری را تصور کنید: برنامه مهاجم به کلید رمزگذاری استفاده‌شده برای محافظت از داده‌های حساس دسترسی ندارد. اگر ما به سی‌پی‌یو دستور بدهیم کلید رمزگذاری را در آدرسی خاص بخواند، براحتی این دستور اجرا نمی‌شود. این کمک (برای مهاجم) از سمت اجرای مبهم دستورها که قابلیت مهم سی‌پی‌یوهای مدرن است می‌رسد. قابلیت مذکور تقریباً سه دهه هست وجود دارد: برای سرعت دادن به امور به جای صبر کردن برای تکمیل یک دستور، پردازنده بعدی را به موازات اجرا می‌کند.

اگر دستور اولی حقوق دسترسی به اطلاعات حساس را بررسی کند باید به لحاظ تئوری اجرای دستور بعدی برای خواندن داده را اجازه ندهد اما دیگر دیر است: دستور بعدی دارد کار خودش را به صورت مبهم و به طور موازی انجام می‌دهد! توجه داشته باشید که ما هنوز به این داده دسترسی نداریم اما سی‌پی‌یو دارد. در موارد آسیب‌پذیری‌های شناخته‌شده مانند Spectre، داده‌ها موقتاً در کش سی‌پی‌یو لود می‌شوند اما نمی‌توانند خوانده شوند. اما از کانال‌های جانبی می‌شود آن‌ها را خواند. برای ثال با مکرراً اجرا کردن یک دستور (که زمان پردازشش بسته به داده در کش متغیر است). چندین دفعه تکرار چنین عملیاتی به مهاجمین اجازه می‌دهد فقط با تماشای اینکه چطور فرمانی به ظاهر بی‌ضرر دارد به سرعت یا کندی اجرا می‌شود داده‌ها را بازیابی کنند. ما متوجه شدیم که این شرح ساده هنوز به نظر پیچیده می‌آید. در این مقاله جدید حتی مسئله پیچیده‌تر هم شده خصوصاً چون نویسندگان تصمیم گرفتند روی شرح با جزئیات حمله وقت نگذارند.

EFLAGS یک ثبت پرچم در پردازنده اینتل است که وضعیت عملکرد CPU را پیگیری می‌کند. می‌تواند نتیجه محاسبات را ذخیره کند، به ویژه اگر برابر با صفر باشد (به اصطلاح پرچم صفر یا ZF))جادوی بعدی می‌آید: تصور کنید یکی از همکاران شما به عددی از 1 تا 10 فکر می‌کند و به او گفته می‌شود که آن را برای خود نگه دارد. شما مدام اعداد 1 تا 10 را صدا می‌زنید (به دنبال نشانه‌هایی می‌گردید که دست همکار را رو کنید)، اما او نمی‌خواهد پاسخ صحیح را با شما در میان بگذارند و هر بار با کلمه "گل داودی" پاسخ می‌دهد. با این حال، زمانی که عدد صحیح را بیان می‌کنید، در مقایسه با زمان های دیگر، گفتن «گل داودی» کمی بیشتر طول می‌کشد.

چیزی مشابه در این حمله جدید اتفاق می‌افتد: ما محاسبات متعددی را با داده‌های حساس انجام می‌دهیم. همه این محاسبات به صورت حدس و گمان انجام می‌شود. نتیجه روی پرچم ZF (برابر یا نابرابر با صفر ) نوشته می‌شود. ما نمی‌توانیم مستقیماً از وضعیت این پرچم مطلع شویم. اما سپس یک دستور JCC نسبتاً بی‌فایده را اجرا می‌کنیم (مخصوصاً دستور JZ[2])، که اگر درست حدس بزنیم کمی کندتر اجرا می‌شود! و این تاخیر قابل اندازه گیری در پاسخ است که آسیب پذیری را تشکیل می‌دهد.

هنوز مشکلی نیست

جالب‌ترین جنبه این حمله این است که به خودی خود کار نمی‌کند. برای اطمینان از امکان اجرای مبهم دستورالعمل‌های مورد نیاز، مجرمان سایبری باید از یک آسیب‌پذیری دیگر سوء استفاده کنند. مقاله مورد بحث ما از آسیب‌پذیری Meltdown استفاده می‌کند که در سال 2018 کشف شد، که خوشبختانه دسترسی به اطلاعاتی را فراهم می‌کند که برای افراد خارجی غیرمجاز است. در نتیجه، داده های حساس با قابلیت اطمینان 100 درصد در تمام CPU های قدیمی تحت تأثیر این آسیب پذیری خوانده شد (در این مطالعه از نسل ششم و هفتم اینتل Core i7 استفاده شد).

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

اما این خبر به خودی خود قابل توجه است: اکنون مکانیزم کانال جانبی جدیدی برای استخراج داده‌ها با استفاده از ثبت وضعیت پرچم وجود دارد. نمی توان انکار کرد در آینده این رویکرد، همراه با برخی آسیب‌پذیری‌های دیگر، بر CPU‌های جدید نیز تأثیر می‌گذارند. یا شاید قبل از اینکه شاهد حمله جدیدی باشیم، همه چیز حل شود: در نهایت، وابستگی زمان اجرای دستورالعمل به داده‌ها یک مسئله کاملاً جدی است. زیرشاخه کامل از رمزنگاری وجود دارد که با محافظت از الگوریتم‌های رمزگذاری در برابر حملات زمان‌بندی سروکار دارد.

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

 

 

[1] speculative execution of instructions

[2] jump if zero

 

منبع: کسپرسکی آنلاین (ایدکو)

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

محصولات مرتبط

  • Kaspersky Internet Security for Android

    امنیت پیشرفته‌ای که همیشه همراه شماست بخش مهمی از زندگی اکثر ما اکنون روی گوشی‌ها و تبلت‌هاست- پس به امنیت موبایلی نیاز دارید که شما را همیشه امن نگه ...

    7,133,200 ریال
    خرید
  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    10,703,200 ریال
    خرید
  • Kaspersky Safe Kids

    شما می توانید بر ارتباطات اینترنتی کودکان از قبیل فعالیتهای عمومی در فیسبوک، کنترل تماسها و پیامها از طریق دستگاههای اندرویدی نظارت داشته باشید. کمک شما به کودکان بهترین راهنمایی برای آنها ...

    2,675,800 ریال10,703,200 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    6,426,000 ریال25,704,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    71,393,200 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    10,098,000 ریال20,196,000 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    14,480,600 ریال28,961,200 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    15,490,400 ریال30,980,800 ریال
    خرید

نظر خودتان را ارسال کنید


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