CacheOut

یک ماه دیگر و دوباره یک آسیب‌پذیری اجرای احتمالی[۱] دیگر با نام CacheOut در پردازنده‌های اینتل مشاهده شد.

اگر رایانه شما دارای یک پردازنده مدرن اینتل است که قبل از اکتبر سال ۲۰۱۸ ساخته شده است، احتمالاً در برابر یک مسئله سخت‌افزاری تازه کشف‌شده آسیب‌پذیر است که می‌تواند به مهاجمان اجازه دهد داده‌های حساس را از کرنل سیستم‌عامل، ماشین‌های مجازی co-resident و حتی از SGX enclave ایمن شرکت اینتل نیز نشت دهند[۲].

این حمله جدید microarchitectural به نام CacheOut یا L1DES که مخفف L1 Data Eviction Sampling است نام‌گذاری شده و کد CVE-2020-0549 به آن اختصاص داده‌ شده است. این حمله به مهاجمان اجازه می‌دهد تا انتخاب کند که چه اطلاعاتی را از Cache L1 CPU نشت دهد که برخلاف حملات MDS است که قبلاً کشف‌شده بودند و در آنجا مهاجمان باید برای هدف موردنظر صبر می‌کردند تا قابل‌دسترسی باشد[۳].

به گفته تیمی از محققان دانشگاهی، حملات اجرای احتمالی تازه کشف‌شده می‌توانند اطلاعات را از میان مرزهای امنیتی زیادی ازجمله مواردی که بین hyper-thread ها، ماشین‌های مجازی و فرآیندهای موجود و همچنین بین فضای کاربر و کرنل سیستم‌عامل وجود دارند و نیز از SGX enclave ها، بیرون بکشند.

محققان دراین‌باره گفتند[۴]: “CacheOut می‌تواند اطلاعاتی را از دیگر فرآیندهای در حال اجرا در همان thread یا در threadهای مختلف در همان هسته پردازنده نشت دهد. CacheOut با استخراج اطلاعاتی از آن‌که حملات دیگر مانند حملات سرریز بافر را ساده‌تر می‌کند، حریم خصوصی سیستم‌عامل را نقض می‌کند.”

به‌طور دقیق‌تر، این حمله یک برنامه مخرب را قادر می‌سازد تا داده‌های قربانی را مجبور سازد که ازL1-D Cache خارج و به بافرهای دارای نشتی بعدازاینکه سیستم‌عامل آن‌ها را پاک کرد، منتقل شوند و سپس متعاقباً محتوای بافرها نشت دهد و داده‌های قربانی را به دست آورد.

محققان دانشگاه‌های Adelaide و Michigan نشان دادند:

  • اثربخشی CacheOut در نقض فرایندی است که با بازیابی کلیدهای AES و plaintext ها از یک قربانی مبتنی بر OpenSSL ایزوله می‌شود.
  • بهره‌بردارهای عملی برای de-randomizing کردن کرنل ASLR لینوکس و برای بازیابی canary های پشته مخفی از کرنل لینوکس
  • چگونه CacheOut به‌طور مؤثر ایزوله‌ی بین دو ماشین مجازی که در یک هسته فیزیکی مشابه کار می‌کنند را نقض می‌کند؟
  • چگونه می‌توان از CacheOut برای نقض محرمانه بودن SGX با خواندن مطالب یک enclave امن استفاده کرد؟
  • چگونه برخی از جدیدترین پردازنده‌های اینتل و مقاوم در برابر Meltdown، باوجود همه‌ی وصله‌های اخیر، هنوز آسیب‌پذیر هستند؟

علاوه بر این به گفته محققان، در حال حاضر برای آنتی‌ویروس‌ها امکان شناسایی و مسدود کردن حملات CacheOut وجود ندارد و ازآنجاکه این بهره‌بردار هیچ اثری در فایل log سنتی به‌جای نمی‌گذارد، تشخیص اینکه آیا کسی از این نقص بهره‌برداری کرده است یا نه نیز بعید به نظر می‌رسد.

لازم به ذکر است، نقص CacheOut نمی‌تواند از راه دور و از یک مرورگر وب بهره‌برداری شود و همچنین روی پردازنده‌های AMD تأثیر نمی‌گذارد.

بر اساس یافته‌های محققان، اینتل در تاریخ ۲۷ ژانویه به‌روزرسانی‌های جدید میکرو کد[۵] را برای پردازنده‌های آسیب‌دیده‌ی خود منتشر کرد[۶] که درنهایت Transactional Memory Extension یا TSX را روی CPU ها خاموش می‌کند.

محققان دراین‌باره گفتند: “به‌روزرسانی نرم‌افزار می‌تواند این مسائل را با هزینه ویژگی‌ها و یا کارایی کاهش دهد. ما امیدواریم که در آینده، اینتل پردازنده‌هایی با اصلاحات سیلیکونی را در برابر این مسئله منتشر کند.”

اگرچه بیشتر ارائه‌دهندگان cloud وصله‌هایی را برای زیرساخت‌های خود منتشر کرده‌اند، سایر کاربران نیز می‌توانند با غیرفعال کردن hyper-threading اینتل برای دستگاه‌هایی که امنیت از اهمیت بیشتری در آن‌ها برخوردار است، از این نقص جلوگیری کنند.

علاوه بر این، نه اینتل و نه محققان کد بهره‌بردار این نقص را منتشر نکرده‌اند که نشان می‌دهد هیچ‌گونه تهدید مستقیم و فوری در این مورد وجود ندارد.

منابع

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

[۲] https://apa.aut.ac.ir/?p=6797

[۳] https://thehackernews.com/2019/05/intel-processor-vulnerabilities.html

[۴] https://cacheoutattack.com

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

[۶] https://software.intel.com/security-software-guidance/insights/processors-affected-l1d-eviction-sampling

[۷] https://thehackernews.com/2020/01/new-cacheout-attack-leaks-data-from.html