آسیب‌پذیری در تراشه‌های کوالکام که اجازه می‌دهد کلیدهای خصوصی از فضای ذخیره‌سازی TrustZone استخراج شوند

محققان از گروه NCC بدون پوشش جزئیات آسیب پذیری ها (CVE-2018-11976) در تراشه های Qualcomm، که به شما امکان می دهد محتویات کلیدهای رمزگذاری خصوصی را که در یک محفظه ایزوله Qualcomm QSEE (محیط اجرای امن Qualcomm) بر اساس فناوری ARM TrustZone قرار دارند، تعیین کنید. مشکل خود را در اکثر Snapdragon SoC که در گوشی های هوشمند مبتنی بر پلتفرم اندروید رواج یافته است. راه حل هایی که مشکل را برطرف می کند قبلاً وجود دارد مشمول در آپدیت ماه آوریل اندروید و انتشار سیستم عامل جدید برای تراشه های کوالکام. بیش از یک سال طول کشید تا کوالکام برای رفع این مشکل آماده شود؛ اطلاعات مربوط به این آسیب پذیری ابتدا در 19 مارس 2018 به کوالکام ارسال شد.

به یاد بیاوریم که فناوری ARM TrustZone به شما امکان می دهد محیط های محافظت شده ایزوله سخت افزاری ایجاد کنید که به طور کامل از سیستم اصلی جدا شده و با استفاده از یک سیستم عامل تخصصی جداگانه روی یک پردازنده مجازی مجزا اجرا شوند. هدف اصلی TrustZone ارائه اجرای جداگانه پردازنده ها برای کلیدهای رمزگذاری، احراز هویت بیومتریک، داده های پرداخت و سایر اطلاعات محرمانه است. تعامل با سیستم عامل اصلی به طور غیر مستقیم از طریق رابط اعزام انجام می شود. کلیدهای رمزگذاری خصوصی در یک فروشگاه کلید جدا شده از سخت افزار ذخیره می شوند، که اگر به درستی اجرا شوند، در صورت به خطر افتادن سیستم اصلی، می توانند از نشت آنها جلوگیری کنند.

این آسیب‌پذیری به دلیل نقص در اجرای الگوریتم پردازش منحنی بیضوی است که منجر به نشت اطلاعات در مورد پیشرفت پردازش داده‌ها شد. محققان تکنیک حمله کانال جانبی را توسعه داده‌اند که اجازه می‌دهد از نشت‌های غیرمستقیم موجود برای بازیابی محتویات کلیدهای خصوصی واقع در یک سخت‌افزار ایزوله استفاده شود. فروشگاه کلید اندروید. نشت ها بر اساس تجزیه و تحلیل فعالیت بلوک پیش بینی شاخه و تغییرات در زمان دسترسی به داده ها در حافظه تعیین می شوند. در این آزمایش، محققان با موفقیت بازیابی کلیدهای ECDSA 224 و 256 بیتی را از فروشگاه کلیدهای جدا شده از سخت افزار مورد استفاده در تلفن هوشمند Nexus 5X نشان دادند. بازیابی کلید نیازمند تولید حدود 12 هزار امضای دیجیتال بود که بیش از 14 ساعت طول کشید. ابزار مورد استفاده برای انجام حمله Cachegrab.

علت اصلی مشکل اشتراک گذاری اجزای سخت افزاری مشترک و حافظه نهان برای محاسبات در TrustZone و در سیستم اصلی است - ایزوله در سطح جداسازی منطقی انجام می شود، اما با استفاده از واحدهای محاسباتی رایج و با ردپایی از محاسبات و اطلاعات مربوط به شاخه آدرس‌هایی که در حافظه پنهان پردازنده مشترک ذخیره می‌شوند. با استفاده از روش Prime+Probe، بر اساس ارزیابی تغییرات زمان دسترسی به اطلاعات ذخیره‌شده، می‌توان با بررسی وجود الگوهای خاص در حافظه پنهان، جریان داده‌ها و علائم اجرای کد مرتبط با محاسبات امضای دیجیتال در حافظه پنهان را بررسی کرد. TrustZone با دقت نسبتا بالا.

بیشتر زمان برای تولید یک امضای دیجیتال با استفاده از کلیدهای ECDSA در تراشه های کوالکام صرف انجام عملیات ضرب در یک حلقه با استفاده از یک بردار اولیه می شود که برای هر امضا بدون تغییر است.پیک). اگر مهاجم بتواند حداقل چند بیت را با اطلاعات مربوط به این بردار بازیابی کند، امکان انجام یک حمله برای بازیابی متوالی کل کلید خصوصی وجود دارد.

در مورد Qualcomm، دو مکان که در آن چنین اطلاعاتی درز کرد در الگوریتم ضرب شناسایی شد: هنگام انجام عملیات جستجو در جداول و در کد بازیابی داده های شرطی بر اساس مقدار آخرین بیت در بردار "nonce". با وجود این واقعیت که کد Qualcomm شامل اقداماتی برای مقابله با نشت اطلاعات از طریق کانال های شخص ثالث است، روش حمله توسعه یافته به شما امکان می دهد این اقدامات را دور بزنید و چندین بیت از مقدار "nonce" را تعیین کنید، که برای بازیابی کلیدهای 256 بیتی ECDSA کافی است.

منبع: opennet.ru

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