تکنیک جدید حمله SmashEx به CPU های اینتل SGX
اخبار داغ فناوری اطلاعات و امنیت شبکه
یک آسیبپذیری تازه افشا شده که بر پردازندههای اینتل تأثیر میگذارد، میتواند توسط مهاجم برای دسترسی به اطلاعات حساس ذخیره شده در مناطق انکلاو و حتی اجرای کد دلخواه در سیستمهای آسیبپذیر، مورد سواستفاده قرار گیرد.
این آسیبپذیری (CVE-2021-0186, CVSS score: 8.2) توسط گروهی از دانشگاهیان دانشگاه ETH زوریخ، دانشگاه ملی سنگاپور و دانشگاه ملی فناوری دفاعی چین در اوایل ماه می سال ۲۰۲۱ کشف شد که از آن برای بیان یک حمله محرمانه افشای اطلاعات با نام "SmashEx" که میتواند دادههای خصوصی مستقر در انکلاو را تخریب کرده و یکپارچگی آن را از بین ببرد، استفاده کردند.
در واقع SGX که مخفف Software Guard eXtensions است و با پردازندههای Skylake اینتل معرفی گردیده، به توسعهدهندگان و دولوپرها اجازه میدهد تا ماژولهای برنامه مشخص و انتخاب شده ای را در یک فضای کاملاً ایزوله و ایمن در حافظه، به نام انکلاو یا محیط اجرای مطمئن یا Trusted Execution Environment (TEE) اجرا کنند، که برای محافظت در برابر فرایندهایی که در سطوح برتر مانند سیستم عامل اجرا میشوند، طراحی شده است. SGX این اطمینان میدهد که دادهها، حتی اگر سیستم عامل رایانه دستکاری شده یا مورد حمله قرار گرفته باشد، امن هستند.
"محققان اشاره کردند: در یک عملکرد عادی، طراحی SGX به سیستم عامل اجازه میدهد تا عملیات اجرایی انکلاو را از طریق اکسپشن های سختافزاری قابل تنظیم در هر نقطه، قطع و متوقف کند. این ویژگی به زمان اجرای انکلاو (به عنوان مثال، Intel SGX SDK و Microsoft Open Enclave) این امکان را میدهد تا از اکسپشن ها یا هندل کردن سیگنال درون انکلاو پشتیبانی کند، اما همچنین انکلاو هایی را برای ورود مجدد باگ ها باز میکند. SmashEx حملهای است که از SDKهای انکلاو که ورود مجدد را در کنترل امن اکسپشن های آنها به شکل صحیح مدیریت نمیکنند، استفاده میکند".
لازم به ذکر است که یک انکلاو همچنین ممکن است دارای Outside Calls یا OCALLS باشد که به عملکردهای انکلاو اجازه میدهد تا برنامه نامعتبر را فراخوانی کرده و سپس به انکلاو برگردند. اما هنگامی که این انکلاو اکسپشن های درون انکلاو را نیز کنترل میکند (به عنوان مثال، وقفه زمانی یا تقسیم بر صفر)، این آسیبپذیری یک پنجره کوچک را برای مهاجم محلی باز میکند تا با تزریق یک اکسپشن ناهمزمان بلافاصله پس از ورود انکلاو، اجرای کنترل جریان را سرقت کند.
با داشتن این توانایی،مهاچم میتواند حافظه داخلی را تخریب کرده و دادههای حساس مانند کی های خصوصی RSA را نشت داده یا کد مخربی را اجرا نماید.
از آنجایی که SmashEx بر روی زمان های اجرا که در کنترل اکسپشن درون انکلاو پشتیبانی میشوند، تأثیر میگذارد، محققان خاطرنشان کردند که "چنین جریان برگشتی OCALL و جریان دستیابی به اکسپشن باید با دقت نوشته شود تا اطمینان حاصل شود که آنها به شکلی ایمن در هم آمیخته میشوند و هنگامی که جریان برگشتی OCALL قطع شود، انکلاو باید در وضعیت ثابتی باشد تا جریان کنترل اکسپشن به درستی پیش برود و هنگامی که جریان کنترل اکسپشن کامل شد، شرایط انکلاو نیز باید برای شروع مجدد آن، آماده باشد".
اینتل از آن زمان بروزرسانیهای نرمافزاری را برای کاهش این آسیبپذیری برای SGX SDK نسخههای 2.13 و 2.14، به ترتیب برای ویندوز و لینوکس منتشر کرده است. مایکروسافت، به نوبه خود، این مورد (CVE-2021-33767) را در به روزرسانی Patch Tuesday جولای سال ۲۰۲۱ در نسخه Open Enclave 0.17.1 برای SDK منتشر کرد. انتظار میرود یافتههای این تیم تحقیقاتی ماه آینده در کنفرانس ACM که در زمینه امنیت کامپیوتر و ارتباطات برگزار میشود، ارائه گردد.
محققان میگویند: "مدیریت اکسپشن ناهمزمان یک ویژگی اصلی برای اپلیکیشن ها در دنیای واقعی است که امروزه به طور فزایندهای از انکلاو ها استفاده میکنند".
برچسب ها: Open Enclave, Exception, اکسپشن, Outside Calls, OCALLS, Intel SGX SDK, SDK, انکلاو, Enclave, Microsoft Open Enclave, Software Guard eXtensions, Trusted Execution Environment, SGX, SmashEx, Patch Tuesday, پردازنده, اینتل, Skylake, CPU, Intel, cybersecurity, باگ, bug, امنیت سایبری, Cyber Attacks, حمله سایبری