در تاریخ ۱۳ می ۲۰۱۹ محققان دانشگاهی جزئیات جدیدترین کلاس آسیبپذیری کانالهای جانبی(۱) اجرای احتمالی(۲) (از جمله حملات ZombieLoad ،Fallout و RIDL) را در پردازندههای اینتل افشا کردهاند که تمام تراشههای مدرن را شامل میشود، ازجمله تراشههای استفادهشده در دستگاههای اپل.
پس از کشف آسیبپذیریهای Spectre و Meltdown در اوایل سال گذشته[۱] که عملاً هر رایانهای را در جهان در معرض خطر قرار داده بودند، کلاسهای مختلف Spectre و Meltdown مجدداً ظاهر شدند[۲-۳].
در حال حاضر، یک تیم از محققان امنیتی از دانشگاههای مختلف و شرکتهای امنیتی، آسیبپذیریهای کانال جانبی اجرای احتمالی متفاوت اما خطرناکتری را در CPU های اینتل کشف کردهاند.
نقصهای جدید کشفشده میتواند به مهاجمان اجازه دهد که بهطور مستقیم سطح کاربر و همچنین موارد مخفی در سطح سیستم(۳) ازجمله کلیدهای کاربر، رمزهای عبور و کلید رمزگذاری دیسک را بهطور مستقیم از بافرهای CPU سرقت کنند.
اجرای احتمالی[۴] یک جزء هسته از طراحی پردازندههای مدرن است که بهطور احتمالی دستورالعملهایی را بر اساس فرضهایی که احتمالاً درست هستند محاسبه میکند. اگر فرضیهها معتبر باشند، اجرا ادامه مییابد، در غیر این صورت از بین میرود.
جدیدترین کلاس این آسیبپذیریها شامل چهار نقص مختلف است که برخلاف حملات موجود که دادههای ذخیرهشده در حافظههای CPU را نشت میدهند؛ میتوانند دادههای دلخواه in-flight را از بافرهای داخلی CPU مانند Line Fill Buffers، Load Ports و یا Store Buffers نشت دهند. این حملات Microarchitectural Data Sampling نامگذاری شدهاند[۵].
BitDefender به پایگاه خبری The Hacker News دراینباره گفته است: “این آسیبپذیریهای جدید میتوانند توسط هکرهای باانگیزه برای نشت دادن اطلاعات با سطح دسترسی بالا از ناحیهای در حافظه مورداستفاده قرار گیرد که دارای محافظتهای سختافزاری هستند. این آسیبپذیری میتواند در حملات بسیار هدفمند مورداستفاده قرار گیرد که بهطورمعمول نیازمند امتیازات گسترده یا deep subversion سیستمعامل هستند.”
در اینجا فهرستی از آسیبپذیریهایی که از جدیدترین حملات MDS اجرای احتمالی در پردازندههای اینتل حاصل میشوند، آورده شده است[۶]:
- CVE-2018-12126- MSBD(4) که همچنین بهعنوان حمله Fallout شناخته میشود[۷].
- CVE-2018-12130- MFBDS(5) که همچنین بهعنوان Zombieload یا (۶)RIDL شناخته میشود[۸].
- CVE-2018-12127- MLPDS(7) که همچنین بخشی از کلاس حملات RIDL است[۹].
- CVE-2019-11091- MDSUM(8) که بخشی از کلاس حملات RIDL است.
حمله Fallout یک حمله اجرای گذار(۹) جدید است که میتواند به فرآیندهای کاربرِ غیرمجاز اجازه دهد تا اطلاعات را از یک جزء میکرومعماری(۱۰) که قبلاً ناشناخته بوده به نام Store Buffers سرقت کند.
این حمله میتواند برای خواندن اطلاعات که یک سیستمعامل اخیراً نوشته است، مورداستفاده قرار گیرد و همچنین کمک میکند تا موقعیت حافظه سیستمعامل مشخص شود که میتواند با دیگر حملات مورد بهرهبرداری قرار گیرد.
در حملهی اثبات ادعای خود، محققان نشان دادند چگونه Fallout میتواند برای شکستن KASLR(11) و نشت اطلاعات حساسی که در حافظه و توسط kernel سیستمعامل نوشته میشود، مورداستفاده قرار گیرد.
حمله ZombieLoad روی طیف گستردهای از کامپیوترهای رومیزی، لپتاپها و رایانههای cloud با نسلهای پردازنده اینتل که از سال ۲۰۱۱ به بعد منتشرشدهاند، تأثیر میگذارد. این حمله میتواند برای خواندن دادههایی که اخیراً قابلدسترسی بوده یا بهصورت موازی در یک هسته پردازنده مشابه در دسترس بوده، مورداستفاده قرار گیرد.
حمله ZombieLoad نهتنها در رایانههای شخصی کار میکند تا اطلاعات را از برنامههای دیگر و سیستمعامل نشت دهد، بلکه ZombieLoad میتواند روی ماشینهای مجازی که در cloud با یک سختافزار مشترک اجرا میشوند، مورد بهرهبرداری قرار گیرد.
محققان دراینباره اینگونه توضیح میدهند: “ZombieLoad علاوه بر این به اجرای کدهای بومی محدود نمیشود، بلکه در سراسر مرزهای مجازیسازی کار میکند. ازاینرو، ماشینهای مجازی میتواند نهتنها hypervisor را بلکه دستگاههای مجازی مختلف در حال اجرا روی یک هسته منطقی sibling را موردحمله قرار دهند.”
“ما نتیجهگیری کردیم که غیرفعال کردن HyperThreading، علاوه بر flushing چندین میکرومعماری در طول سوئیچهای زمینه، تنها راهحل ممکن برای جلوگیری از این حمله بسیار قدرتمند است.”
محققان حتی یک ابزار برای کاربران ویندوز[۱۰] و لینوکس[۱۱] برای آزمایش سیستمهای خود در برابر حملات RIDL و Fallout و همچنین سایر نقصهای اجرایی احتمالی را ارائه دادند.
محققان بهرهبردارهای اثبات ادعای خود را علیه میکرومعماریهای Intel Ivy Bridge ،Haswell ،Skylake و Lake Kaby آزمایش کردند، همانطور که در این ویدیو[۱۲] نشان داده شده است.
دانشگاهیان از دانشگاه TU Graz اتریش، Vrije Universiteit Amsterdam، دانشگاه میشیگان، دانشگاه آدلاید، KU Leven در بلژیک، مؤسسه پلیتکنیک Worcester، دانشگاه سارلند آلمان و شرکتهای امنیتی Cyberus، BitDefender، Qihoo360 و اوراکل این آسیبپذیریهای MDS را کشف کردهاند.
چندین محقق نیز بهطور مستقل آسیبپذیریهای MSD را از ژوئن ۲۰۱۸ تابهحال به اینتل گزارش دادهاند، اما این شرکت از همه محققین خواسته است که یافتههای خود را مخفی نگهدارند، حتی برخی از آنها برای بیش از یک سال، تا زمانی که این شرکت بتواند آسیبپذیریهای موجود را برطرف کند.
اینتل در حال حاضر بهروزرسانیهای MCU(12) را برای رفع آسیبپذیری MDS در سختافزار و نرمافزار با پاک کردن تمام دادهها از بافر در هر زمان که CPU از یک مرز امنیتی عبور میکند منتشر کرده است، بهطوریکه دادهها را نمیتوان نشت داد و یا به سرقت برد.
به هر سیستمعامل، فروشنده مجازیسازی و دیگر سازندگان نرمافزار بهشدت توصیه میشود که این وصله را در اسرع وقت اجرا کند.
تراشههای AMD و ARM به حملات MDS آسیبپذیر نیستند، و اینتل میگوید که برخی از مدلهای تراشه این شرکت در حال حاضر شامل اقدامات سختافزاری در برابر این نقص میباشند.
اپل میگوید[۱۳] این آسیبپذیری را درmacOS Mojave نسخه ۱۰٫۱۴٫۵ و بهروزرسانیهای Safari که در تاریخ ۱۳ می ۲۰۱۹ منتشر شده است، برطرف کرده است.
مایکروسافت[۱۴] همچنین بهروزرسانیهای نرمافزاری را برای برطرف کردن آسیبپذیریهای MDS عرضه کرده است. در برخی از موارد، این شرکت میگوید نصب بهروزرسانیها تأثیری بر عملکرد نیز دارد.
منابع
[۱] https://apa.aut.ac.ir/?p=3397
[۲] https://apa.aut.ac.ir/?p=5651
[۳] https://thehackernews.com/2018/08/foreshadow-intel-processor-vulnerability.html
[۴] https://apa.aut.ac.ir/?p=3454
[۶] https://software.intel.com/security-software-guidance/insights/deep-dive-intel-analysis-microarchitectural-data-sampling#MDS-buffer-overwrite
[۷] https://mdsattacks.com/files/fallout.pdf
[۸] https://zombieloadattack.com
[۹] https://mdsattacks.com/files/ridl.pdf
[۱۰] https://mdsattacks.com/files/mdstool-win.zip
[۱۱] https://mdsattacks.com/files/mdstool-linux.zip
[۱۲] https://youtu.be/KAgoDQmod1Y
[۱۳] https://support.apple.com/en-us/HT210107
[۱۴] https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv190013
[۱۵] https://thehackernews.com/2019/05/north-korean-hacking-tool.html
(۱) side-channel
(۲) speculative execution
(۳) system-level
(۴) Microarchitectural Store Buffer Data Sampling
(۵) Microarchitectural Fill Buffer Data Sampling
(۶) Rogue In-Flight Data Load
(۷) Microarchitectural Load Port Data Sampling
(۸) Microarchitectural Data Sampling Uncacheable Memory
(۹) transient execution
(۱۰) microarchitectural
(۱۱) Kernel Address Space Layout Randomization
(۱۲) Microcode Updates
ثبت ديدگاه