متود جدید حمله به تراشه‌های DRAM به نام RowPress

03 مرداد 1402 متود جدید حمله به تراشه‌های DRAM به نام RowPress

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛  مقاله‌ی امروز در مورد حمله جدیدی است به تراشه‌های DRAM که می‌تواند روی پی‌سی‌ها، سرورها و اسمارت‌فون‌ها اثر بگذارد. با این حال گفته می‌شود این حمله که نامش را RowPress گذاشته‌اند زمان‌بر است. در ادامه با ما همراه شوید تا آن را مورد بررسی قرار دهیم.

وقتی می‌گوییم حمله‌ی زمان‌بری است منظور این است که باید به دفعات، یک ردیف  DRAM چکش‌کاری شود و همین به لحاظ فیزیکی باعث ضربه به خوردن به ردیف‌های مجاور نیز می‌شود. خود این ایده شاید جدید نباشد- چیزی شبیه به این تقریباض ده سال پیش تحت نام  RowHammer ارائه شد. با این همه، RowPress تکنیکی مؤثرتر است اما ابتدا بیایید نگاهی داشته باشیم بر معنای دقیق «چکش‌کاری» یا Hammering.

ساز و کار RAM

تراشه‌های RAM هرگز قابل‌اطمینان نبوده‌اند. در واقع هر سلول مموری که در آن یک بیت اطلاعات جا می‌شود باتری‌ی مینیاتوری است. وقتی آن را شارژ می‌کنید یک 1 در سلول می‌نویسیم. اگر شارژی نباشد آن ارزش، یک 0 است. و این میلیون‌ها بار در ثانیه رخ می‌دهد! در میکروچیپ‌های مدرن این سلول‌ها به طرز خارق‌العاده‌ای کنار هم فشرده شده‌اند: میلیاردها از آن‌ها می‌توانند تنها در اندازه‌ی یک کریستال کوچک باشند. با سرعت بالای به‌روزرسانی و کوچک‌سازی شدید قطعات الکترونیکی، دیر یا زود خرابی‌ها اجتناب ناپذیر هستند - "باتری" مینیاتوری شارژ خود را از دست داده و یک به صفر تبدیل می‌شود. گاهی خرابی‌ها حاصل عوامل بیرونی هستند: مثلاً اگر تراشه مموری در مقابل حرارت یا حتی پرتوهای کیهانی قرار گیرد. چنین خرابی‌هایی می‌تواند به خطاهای مهم منجر شود: تصور کنید برنامه‌ای یک آدرس را در رم ذخیره کرده که نیاز دارد وقتی همه شرایط مهیا بود مورد دسترسی قرار گیرد. اگر برخی بیت‌های داده در این آدرس خود به خود از یک به صفر بروند (به جای کد شما) خدا می‌داند چه چیز اجرا خواهد شد! بسیاری از فناوری‌ها برای جلوگیری از خرابی استفاده می‌شوند. بعنوان مثال آپدیتی اجباری برای محتواهای سلول‌های مموری: خواندن/نوشتن متوالی اطلاعات - حتی اگر نه CPU و نه برنامه به آن نیازی داشته باشند. فرآیند خواندن داده‌ها مخرب است، بنابراین پس از دسترسی، اطلاعات باید بازنویسی شوند. همچنین مکانیزم اصلاح خطا نیز وجود دارد: مموری برای چک کردن صحت داده‌ها هم داده و هم اطلاعات جداگانه را ذخیره می‌کند. مهم است درک کنیم تراکم بالای سلول‌های مموری را در کامپیوترهای مدرن یک قابلیت بنیادی است؛ و سلول‌ها طور دیگری عمل نخواهند کرد.
حمله RowHammer

اما برگردیم به گزارش RowHammer سال 2014. محققین دانشگاه Carnegie Mellon و شرکت اینتل نشان دادند چطور می‌شود قابلیت‌های یک رم به طور پویا آپدیت‌شده را که در بالا توضیح دادیم اکسپلویت کرد. اگر خوانش داده مخرب باشد و در ادامه‌اش شاهد بازنویسی باشیم، اگر برنامه‌ای بنویسیم که ده‌ها یا صدها هزار بار در ثانیه می‌خواند چه؟ این فرآیند چیزی است که محققین بدان «چکش‌کاری» می‌گویند.

سلول‌های مموری بعنوان یک ماتریکس ترتیب‌دهی شدند و هر عملکردی روی یک سلول خاص شامل دسترسی به کل ترتیب آن‌ها می‌شود. به نظر می‌رسد که دسترسی متوالی و مکرر به ردیف سلول‌ها می‌تواند ردیف‌های مجاور را نیز تحت‌الشعاع قرار دهد. اگر این عملیات به دفعات صورت گیرد، یک‌ها وصفرها در سلول‌های ردیف همسایه نیز امکان خرابی دارند. مطالعات سال 2014 نشان داد که چنین حمله‌ای روی ماژول مموری  DDR3–که آن زمان استاندارد محسوب می‌شود- محتمل بوده است. اما این چرا خطرناک است؟ تصور کنید هکری بتواند یک سری کد دلخواه را بدون مزایای ویژه روی سیستم هدف‌دار اجرا کند. در موردی افراطی این شاید حتی کد یک وب‌پیج باشد با لینکی که برای قربانی ارسال می‌شود! اگر این کد اجازه داشته باشد محدوده‌ای از رم را چکش‌کاری کند پس قابلیت دارد برای سلول‌های همسایه نیز مزاحمت ایجاد کند؛ جایی که فرضاً داده‌های سیستم‌عامل ممکن است ذخیره شده باشد.

آهنگری: دور زدن لایه‌های محافظتی RowHammer

چطور از داده‌ها در برابر حمله RowHammer محافظت کنیم؟ ساده‌ترین راه این است که آپدیت اطلاعات در ردیف‌های همسایه را بعد از درخواست برای خوانش داده از ردیف سلول مموری، به طور اجباری اعمال کنیم. این کار به طور قابل‌ملاحظه‌ای احتمال خرابی داده را کاهش می‌دهد. در مورد آسیب‌پذیری‌های سخت‌افزاری در سی‌پی‌یوها دیر یا زود در هر متود محافظتی مشکلی بوجود خواهد آمد. در سال 2021 محققین حمله‌ای به نام BlackSmith یا آهنگری نشان دادند. در این حمله متوجه شدیم تحت شرایط خاص این امکان وجود دارد که حتی با محافظت‌های RowHammer خرابی‌هایی به بار آید. اما چطور این حمله صورت گرفت؟ اگر به جای چکش‌کاری ردیف سلول‌های مموری کنار آنی که هدف است، کسی تلاش کند ترکیب‌های دیگری را امتحان کند چه: یعنی بازجویی ردیف‌های بالا و پایین تارگت آن هم صدها هزار بار یا حمله یکجا به چهار ردیف در یک توالی مشخص؟ بله باید بگوییم این روش جواب می‌دهد. چرا؟ چون مشکل بنیادی (تراکم بالای سلول‌های مموری) از بین نرفته است!

RowPress: کارایی رو به فزونی حمله

حمله جدید  RowPress حتی کاراتر نیز هست- علی‌رغم استفاده از اصل پایه یکسان –شاید با یک تغییر جزئی اما حیاتی- مهاجم سعی دارد یک ردیف سلول را برای خوانش باز نگه دارد (تا هرجا امکانش باشد). محققین تصمیم گرفتند قابلیت استاندارد دیگری را از نحوه عملکرد تراشه‌های مموری و کنترلر پیدا کنند؛ عملکردی که حتی تأثیر بیشتری روی ردیف‌ سلول‌های مموری همسایه خواهد داشت. به لحاظ تأثیر (اندازه‌گیری‌شده توسط تعداد چکش‌کاریِ لازم- هر قدر کمتر بهتر) RowPress به نسبت  RowHammer حتی صدها بار پتانسیل بیشتری دارد. در برخی موارد حاشیه‌ای، بیت‌فلیپ[1] بعد از یک عملیات واحد خوانش روی داده‌های مجاور میسر شد.

این مشکل چقدر جدی است؟ احتمال حمله RowHammer، Blacksmith یا RowPress به کاربران خانگی بسیار ناچیز است. بیشتر شرکت‌ها در معرض خطر هستند. در تئوری، این حملات می‌توانند حافظه سرورهایی را که در کلودهای عمومی اجرا می شوند، هدف قرار دهند. از این گذشته، ارائه دهندگان به سرورهای خود دسترسی پیدا کرده و نوعی ماشین مجازی را به کاربران اختصاص می‌دهند تا هر کدی را که دوست دارند اجرا کنند. آنها باید اطمینان حاصل کنند این دستگاه هیچ راهی برای فرار از محیط مجازی خود و دسترسی به داده های مشتریان دیگر ندارد. به طور کلی، چنین سیستم مجازی برنامه‌ای است که قادر به خواندن و نوشتن دادهها در RAM سرور است. به عبارت دیگر - یک پلتفرم آماده برای حمله به حافظه یک سرور فیزیکی.

این که چنین حمله‌ای چقدر تئوری است را می‌توان از عکس تنظیمات آزمایشی مورد استفاده برای مطالعه RowPress مشاهده کرد. ماژول حافظه به یک برد جداگانه منتقل شده است. به آن نوعی دستگاه اشکال‌زدایی برای تنظیم دقیق عملکرد RAM متصل است. برخی از سیستم‌های حفاظتی غیرفعال شده‌اند. از همه مهمتر، یک قطعه حرارتی با تراشه های حافظه روی ماژول نصب می‌شود که دما را تا 50 یا حتی 80 درجه سانتیگراد افزایش می‌دهد و خود همین احتمال خراب شدن تصادفی یا عمدی داده‌ها را افزایش می‌دهد.

جزئیات حمله سخت‌افزاری

وقتی RowPress را با RowHammer مقایسه می‌کنیم اساساً شاهد تغییر جزئی در متود دسترسی به مموری هستیم که اجازه می‌دهد مهاجمین لایه‌های محافظتی پیاده‌سازی‌شده توسط تولیدکنندگان ماژول را دور بزنند (شامل لایه‌های محافظتی رو سیستم واقعی بدون حرارت یا تقلب). محققین راهکار شخصی خود را برای این مشکل دارند که خوشبختانه روی عملکرد، کمترین اثر را دارد. با این وجود، مانند همه آسیب‌پذیری‌های سخت‌افزاری خلاص شدن از شر همه آن‌ها شاید واقع‌بینانه نباشد. کاهش تراکم تراشه‌های موری امروزی، گزینه نیست. برعکس، ظرفیت آن‌ها دارد روز به روز بیشتر می‌شود. پیاده‌سازی اصطلاح خطای مطمئن نیز این مشکل را حل نخواهد کرد زیرا این کار یک سوم رم را می‌گیرد.

روش معمول مبتنی بر کدهای تصحیح خطا ECC) ) از اثر حملات می‌کاهد اما آنها را حذف نمی‌کند. بنابراین، می‌توان با اطمینان گفت که RowPress آخرین حمله «چکشی» نخواهد بود. نکته مثبت این است که چنین مطالعاتی در حال حاضر در سطح تئوری باقی ماند‌ه‌اند. محققین در حال یافتن بردارهای حمله جدید هستند و سازندگان دستگاه‌ها نیز در حال ارائه لایه‌های دفاعی جدید. مطمئناً، ممکن است در نهایت آنها به طور تصادفی آسیب پذیری با پتانسیل برای استثمار انبوه را کشف کنند. اما با قضاوت بر اساس تاریخچه چنین مطالعاتی در دهه گذشته، این امر محتمل به نظر نمی‌رسد. ولی نباید چنین تحقیقاتی را صرفاً نظری و انتزاعی رد کرد: کاری که متخصصین آزمایشگاهی امروز می‌توانند انجام دهند، مجرمان سایبری واقعی ممکن است فردا - یا در پنج یا ده سال آینده - انجام دهند. در مورد ارائه دهندگان خدمات کلود، آنها باید در حال حاضر از آخرین پیشرفت‌ها مطلع باشند و آنها را سفت و سخت در مدل‌های امنیتی خود لحاظ کنند.

 

[1]نوعی حمله‌ی رمزنگاری‌شده 

منبع: کسپرسکی آنلاین (ایدکو)

کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز می‌شناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.

محصولات مرتبط

  • Kaspersky Internet Security for Android

    امنیت پیشرفته‌ای که همیشه همراه شماست بخش مهمی از زندگی اکثر ما اکنون روی گوشی‌ها و تبلت‌هاست- پس به امنیت موبایلی نیاز دارید که شما را همیشه امن نگه ...

    7,238,100 ریال
    خرید
  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    10,860,600 ریال
    خرید
  • Kaspersky Safe Kids

    اپلیکیشن همه‌کاره برای فرزندپروریِ دیجیتال و سلامت خانواده نرم افزار امنیت کودکان کسپرسکی، نظارت‌های والدین را آسان می‌کند. ردیابی مکان و عادات دستگاه، محدودسازی محتوا، متعادل‌سازی ...

    1,086,060 ریال10,860,600 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    72,443,100 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    10,246,500 ریال20,493,000 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    14,693,550 ریال29,387,100 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    15,718,200 ریال31,436,400 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    65,201,550 ریال130,403,100 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    208,649,100 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    78,242,550 ریال156,485,100 ریال
    خرید
  • Kaspersky Small Office Security

    250,670,100 ریال
    خرید
  • Kaspersky Small Office Security

    91,283,550 ریال182,567,100 ریال
    خرید
  • Kaspersky Small Office Security

    291,966,600 ریال
    خرید
  • Kaspersky Small Office Security

    104,324,550 ریال208,649,100 ریال
    خرید
  • Kaspersky Small Office Security

    333,987,600 ریال
    خرید
  • Kaspersky Small Office Security

    117,365,550 ریال234,731,100 ریال
    خرید
  • Kaspersky Small Office Security

    375,284,100 ریال
    خرید
  • Kaspersky Small Office Security

    119,539,050 ریال239,078,100 ریال
    خرید
  • Kaspersky Small Office Security

    382,529,100 ریال
    خرید
  • Kaspersky Small Office Security

    168,442,800 ریال336,885,600 ریال
    خرید
  • Kaspersky Small Office Security

    539,021,100 ریال
    خرید
  • Kaspersky Small Office Security

    217,346,550 ریال434,693,100 ریال
    خرید
  • Kaspersky Small Office Security

    695,513,100 ریال
    خرید
  • Kaspersky Small Office Security

    262,627,800 ریال525,255,600 ریال
    خرید
  • Kaspersky Small Office Security

    840,413,100 ریال
    خرید
  • Kaspersky Small Office Security

    498,090,300 ریال996,180,600 ریال
    خرید
  • Kaspersky Small Office Security

    1,593,893,100 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد