گروهی از پژوهشگران امنیت سایبری جزئیات حملهی کانال جانبی جدید به حافظهی دسترسی تصادفی پویا را منتشر کردهاند که به برنامههای مخرب نصبشده در یک سیستم پیشرفته اجازه میدهد تا اطلاعات حساس حافظه را از سایر فرآیندهای درحال اجرا در همان سختافزار بخوانند. حملهی جدید که با نام RAMBleed و شناسهی CVE-2019-0174 شناسایی میشود بر مبنای یک کلاس شناختهشدهی حملهی کانال جانبی DRAM به نام Rowhammer است که در سالهای اخیر پژوهشگران نسخههای مختلف آن را نمایش دادهاند.
اشکال Rowhammer که از سال ۲۰۱۲ میلادی شناخته شده، یک مسألهی قابلیت اطمینان سختافزاری است که در نسل جدید تراشههای DRAM کشف شده است. دسترسی مکرر و سریع به یک ردیف از حافظه ممکن است منجر به نوشته شدن بیتها در ردیفهای مجاور شود و مقادیر بیت آنها را از ۰ به ۱ یا برعکس تغییر دهد. طی سالهای اخیر، پژوهشگران بهرهبرداریهای موفقیتآمیزی برای ارتقاء امتیاز از طریق نوشتن بیتهای حافظه در رایانههای آسیبپذیر قربانی نشان دادهاند.
گروهی از پژوهشگران دانشگاه میشیگان، دانشگاه فناوری گراتس و دانشگاه آدلاید، RAMBleed جدیدی را کشف کردهاند که به سازوکار bit-flip متکی است، اما این حمله به جای نوشتن داده در ردیفهای مجاور، به مهاجمان اجازه میدهد تا اطلاعات داخل حافظهی محافظتشدهی متعلق به برنامهها وکاربران دیگر را بخواند.
بهطورخاص، این پژوهشگران نشان میدهند که چگونه یک مهاجم غیرمجاز میتواند از وابستگی داده بین bit-flipهای موجود در Rowhammer و بیتهای موجود در ردیفهای مجاور بهرهبرداری کند تا این بیتها را که شامل مقادیر متعلق به سایر فرآیندها و هسته هستند، پیدا کند؛ بنابراین اولویت اصلی این کار این است که نشان دهد Rowhammer نه تنها برای یکپارچگی بلکه برای محرمانگی داده نیز یک تهدید محسوب میشود. درصورتیکه یک مهاجم بخواهد اطلاعات محرمانهی موجود در سلولهای حافظهی «محرمانه» را بخواند باید قدامات زیر را انجام دهد:
- یک بیت قابل نوشتن در همان offset موجود در یک صفحهی حافظه بهعنوان بیت محرمانه پیدا کند.
- طرح حافظه را بااستفاده از روشهای پیامرسانی حافظه دستکاری کند تا با دقت دادهی محرمانهی قربانی را در ردیفهای بالا و پایین ردیف حافظهی مهاجم قرار دهد.
- به ردیفهای A0 و A2 آسیب برساند و bit-flipهایی را در ردیف A1 القا کند که مقدار اولیهی آنها به ۱ تنظیم شده است و مقدار آن را بااستفاده دادهی قربانی در سلوهای «محرمانه» تحت تأثیر قرار دهد.
تکرار این روال با بیتهای قابل نوشتن در offsetهای متفاوت صفحه به مهاجم اجازه میدهد تا همهی بیتهای محرمانهی قربانی را بازیابی کند.
پژوهشگران برای نشان دادن روش کانال جانبی خواندن، یک حمله علیه OpenSSH 7.9 درحال اجرا در یک دستگاه لینوکس را نمایش دادهاند و با موفقیت یک کلید RSA-2048 را از SSH daemon سطح روت استخراج کردهاند. بهگفتهی پژوهشگران حتی کد اصلاح خطا (ECC) نیز از حملهی RAMBleed جلوگیری نمیکند. اگرچه DDR3 و DDR4 هر دو در برابر حملهی RAMBleed آسیبپذیر هستند، اما پژوهشگران به کاربران توصیه میکنند تا با ارتقای حافظهی خود به DDR4 و فعال کردن TRR با این خطر مقابله کنند.