آسیبپذیری جدید پردازندههای اینتل و AMD؛ اسپکتر دوباره دردسرساز شد
محققان MIT با کشف آسیبپذیری جدید TONTOU نشان دادند که میتوان مکانیسمهای دفاعی اسپکتر را در پردازندههای اینتل و AMD دور زد.
آسیبپذیری معروف اسپکتر (Spectre) از سال ۲۰۱۸ تاکنون به یکی از معضلهای امنیتی اصلی در معماری پردازندههای مرکزی (CPU) تبدیل شده است. اکنون پژوهشگران آزمایشگاه علوم کامپیوتر و هوش مصنوعی دانشگاه MIT روش جدیدی برای سوءاستفاده از این نقطه ضعف کشف کردند.
به گزارش The Register، حمله جدید که TONTOU نامگذاری شده است، با استفاده از یک شکاف زمانی بسیار کوچک در نحوه اجرای مکانیسمهای امنیتی، میتواند لایههای دفاعی سختافزاری ایجادشده توسط شرکتهای اینتل و AMD طی سالهای اخیر را بهطور کامل دور بزند.
آسیبپذیری جدید در پردازندههای اینتل و AMD
برای درک نحوه عملکرد TONTOU، آشنایی با اصول اولیه حملات اسپکتر ضروری است. پردازندههای مدرن برای افزایش سرعت پردازش از الگوریتمی به نام Speculative Execution استفاده میکنند تا اقدامات بعدی نرمافزار را پیشبینی و محاسبات را زودتر آغاز کنند. درصورتیکه این پیشبینی اشتباه از آب درآید، پردازنده نتایج را دور میریزد؛ اما ردپایی از این عملیات درون حافظه کش باقی میماند که مهاجمان میتوانند از طریق کانالهای جانبی اقدام به سرقت اطلاعات کنند.
پس از کشف اسپکتر، سازندگان تراشه مکانیسمهای دفاعی جدیدی را برای پاکسازی یا ایزولهسازی پیشبینیهای پردازنده معرفی کردند تا پیش از اجرای کدهای حساس، دادههای واردشده توسط مهاجم پاک شوند. اما پژوهشگران MIT دریافتند که پاکسازی دادهها و زمان استفاده واقعی پردازنده از بخش پیشبینی نمیتواند دقیقاً بهصورت همزمان اتفاق بیفتد. این فاصله زمانی کوتاه، یک پنجره فرصت ایجاد میکند. حمله TONTOU (مخفف Time-of-Neutralization to Time-of-Use) از همین شکاف زمانی استفاده و بخش پیشبینی را آلوده میکند.
محققان MIT این حمله را روی پردازندههای اینتل (Cascade Lake Refresh و Arrow Lake) و همچنین پردازندههای AMD (معماری Zen 2 و Zen 4) آزمایش کردند و موفق شدند اشتباه در پیشبینی را روی هر دو پلتفرم فعال کنند. در مکانیسم دفاعی Safe RET شرکت AMD، این پنجره زمانی فوقالعاده کوچک و تنها به اندازه ۲ دستورالعمل بود، اما محققان با کنترل دقیق زمانبندی پردازنده توانستند به این شکاف زمانی دست یابند.
این حمله صرفاً نظریهای علمی نیست؛ محققان روی یک سیستم تحت معماری AMD Zen 2 با هسته استاندارد لینوکس موفق شدند یک نمونه اکسپلویت کامل اجرا کنند که در هر ۱۰ تلاش انجامشده، مکانیسم امنیتی KASLR را شکست داد.
بااینحال، سرعت این حمله بسیار پایین است؛ سرعت خواندن حافظه حدود ۵ بایتبرثانیه ثبت شده است و هر تلاش کامل برای اکسپلویت حدود ۱۸ دقیقه طول میکشد و روی پردازندههای اینتل نیازمند شرایط نرمافزاری خاصی است. ازاینرو، حمله TONTOU ابزاری نیست که بدافزارهای عادی بتوانند بهراحتی از آن روی کامپیوترهای شخصی خانگی استفاده کنند.
پژوهشگران MIT جزئیات این آسیبپذیری را در ماه فوریه به شرکتهای AMD و اینتل و در ماه مارس به توسعهدهندگان هسته لینوکس اطلاع دادند. پس از این گزارش، شرکت AMD وصله نرمافزاری جدیدی برای هسته لینوکس منتشر کرد که این رخنه را مسدود میکند؛ بنابراین بهروزرسانی سیستمعاملهای مبتنیبر لینوکس اهمیت بالایی دارد.
