چند روز پیش گزارشی از یک حمله جدید روی DRAM توسط گروهی از متخصصین امنیت سایبری منتشر شد.این حمله قابلیت این رادارد که در آن به یک برنامه نفوذی که روی یک سیستم مدرن نصب میشود این امکان را بدهد تا داده های حساس مربوط به پردازش های دیگر روی همان سخت افزار را بخواند.

این حمله به اسم RAMBleed  وبا کد CVE_2019-0174 شناخته میشود.این حمله مبتنی بر یک حمله side channel شناخته شده روی DRAM  بنام Rowhammer  است که نسخه های مختلفی از آن در سال های اخیر تحت نام های GLitch ، RAMpage، Throwhammer، Nethammer، Drammer  توسط متخصصین عنوان شده است.

باگ Rowhammer که  از سال ۲۰۱۲ عنوان شده مبتنی بر سخت افزار بوده ودر نسل جدید تراشه های DRAM پیدا شده.به نظر می رسد که دسترسی پشت سر هم وبسیار سریع یک ردیف از حافظه میتواند باعث bit flip در ردیف های مجاور شود به عنوان مثال تغییر مقدار بیت ها از صفر به یک وبرعکس.

در سال های اخیر دیده شده که expliot هایی برای ارتقا سطح دسترسی در سیستم های آسیب پذیر از طریق bit flip کردن روی حافظه دستگاه قربانی با موفقیت به کار گرفته شده اند.

RAMBleed که توسط محققین در دانشگاه های میشیگان ،دانشگاه فنی Graz ودانشگاه آدلاید کشف شده نیز وابسته به مکانیزم bit flip است ولی به جای flip کردن ردیف های مجاور این حمله این امکان را به مهاجم می دهدتا اطلاعات مربوط به برنامه های دیگر وکاربران دیگر سیستم را از قسمت محافظت شده حافظه بخواند.

اگر مهاجم بخواهد به داده های سری در سلول های سری حافظه دسترسی پیدا کند باید:

  • یک بیت قابل flip شدن را در همان offset حافظه با بیت سری پیدا کند.
  • دستکاری حافظه با استفاده از تکنیک های memory massaging تا با دقت داده سری قربانی  در ردیف های بالا وپایین ردیف حافظه مهاج قرار گیرد تا bit flip ها در ردیف حافظه مهاجم ,وابسته به مقدار داده سری قربانی میشود.
  • Hammer کردن ردیف های A0 و A2 وbit flip کردن ردیف A1 که مقدار اولیه آن ۱قرار گرفته ،اثر گداری روی مقدار آن با استفاده از داده های قربانی در سلول سری

اگربیت flip شود مهاجم متوجه میشود که مقدار بیت سری صفر است در غیر اینصورت متوجه می شود که مقدار یک است.ادامه این فرایند با بیت های قابل flip شدن در offset های متفاوت در صفحه به مهاجم این امکان را می دهد تمام بیت های سری کاربر را بدست بیاورد.برای نشان دادن تکنیک خواندن side channel یک حمله در برابر OpenSSH 7.9 روی لینوکس ترتیب داده شد وبا موفقیت یک کلید RSA-2048 از root level SSh daemonا بدست آمد.

بنابر تحقیقات انجام شده حتی محافظت هایی که مموری ها ECC دارند که میتواند bit flip را تشخیص داده واصلاح کنند وحتی خیلی از حمله های Row hammer را مهار میکنند نمی توانند جلوی حمله RAMbleed را بگیرند.با اینکه رم های DDR3 و DDR4 در برابر حمله های RAMbleed آسیب پذیرند ولی توصیه میشود با ارتقا رم به DDR4 با TTR فعال شده تا حدودی میتوان ریسک حمله RAMbleed را کاهش داد چون exploit کردن را سخت تر میکند.