روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ سپتامبر ۲۰۲۵، پژوهشگران مؤسسه فناوری فدرال زوریخمقالهای منتشر کردند که «فینیکس[1]» — گونهای تغییریافته از حملهی چکش ردیفی[2] — است؛ حملهای که روی ماژولهای حافظه DDR5 کار میکند. نویسندگان نه تنها اثربخشی حمله جدید را روی ۱۵ ماژول آزمایششده نشان دادند، بلکه سه کاربرد عملی نیز ارائه کردند: خواندن و نوشتن دادهها از حافظه، سرقت کلید خصوصی رمزنگاریشدهای که در حافظه ذخیره شده و دورزدن سازوکارهای محافظتی ابزار sudo در لینوکس برای افزایش سطح دسترسی.
تاریخچهای کوتاه از حملهی چکش ردیفی
برای درک این مطالعه نسبتاً پیچیده لازم است ابتدا نگاهی کوتاه به تاریخچه چکش ردیفیبیندازیم. حملهیچکش ردیفیبرای نخستینبار در یک مقاله پژوهشی در سال ۲۰۱۴ مطرح شد. در آن زمان محققین شرکتهای کارنگی ملون و اینتل نشان دادند که دسترسی مکرر به ردیفهایی از سلولهای حافظه میتواند باعث تغییر مقدار بیتها در سلولهای مجاور شود. این سلولهای مجاور ممکن است دادههای حیاتی را در خود داشته باشند و تغییر آنها میتواند پیامدهای جدی (مثل ارتقای سطح دسترسی) به همراه داشته باشد.
این پدیده به این دلیل رخ میدهد که هر سلول در تراشهی حافظه در واقع یک خازن است: مؤلفهای ساده که تنها برای مدت کوتاهی قادر به نگهداری بار الکتریکی است. بههمینخاطر حافظه رم فرّار است: با خاموشکردن رایانه یا سرور، دادهها از بین میروند. به همین دلیل نیز بار سلولها باید بهطور منظم تازهسازی شوند حتی اگر هیچکس آن ناحیه حافظه را دسترسی نکند. سلولهای حافظه جداگانه نیستند؛ آنها در ردیفها و ستونهایی سازماندهی شدهاند و بهگونهای به هم متصلاند که میتواند موجب تداخل شود. دسترسی به یک ردیف میتواند بر ردیف مجاور تأثیر بگذارد؛ مثلاً تازهسازی یک ردیف ممکن است داده ردیف دیگر را خراب کند. سالها این اثر تنها برای سازندگان حافظه شناختهشده بود که برای افزایش قابلیت اطمینان تلاش میکردند آن را کاهش دهند. اما با کوچکتر شدن سلولها و فشردهتر شدن آنها، اثر «چکشزدن ردیفی» بهطور واقعی قابل سوءاستفاده در حملات دنیای واقعی شد.
پس از نمایش حمله چکش ردیفی توسعهدهندگان حافظه شروع به افزودن مکانیزمهای دفاعی کردند که منجر به فناوری سختافزاری [3]TRR شد. به لحاظ تئوریک، TRR ساده است: دسترسیهای تهاجمی به ردیفها را زیر نظر قرار داده و اگر شناسایی شود، ردیفهای مجاور را بهزور تازهسازی میکند. در عمل اما این مکانیزم چندان کارا نبود. در سال ۲۰۲۱ محققان حمله Blacksmith را توصیف کردند که با استفاده از الگوهای دسترسی پیچیدهتر، TRR را دور میزد.
توسعهدهندگان دوباره واکنش نشان دادند — دفاعهایی حتی پیشرفتهتر برای مقابله با حملات مشابهچکش ردیفیدر ماژولهای DDR5 اضافه کردند و نرخ تازهسازی اجباری را افزایش دادند. برای کند کردن حملات جدیدتر، سازندگان از افشای جزئیات مقابلههای پیادهسازیشده اجتناب کردند. این امر بسیاری را به این باور رساند که DDR5 عملاً مشکلچکش ردیفیرا حل کرده است. با اینحال، دقیقاً سال گذشته محققانی از همان ETH Zurich توانستند با موفقیت برخی ماژولهای DDR5 را هدف قرار دهند — البته تحت شرایطی معین: حافظه باید همراه با پردازندههای AMD Zen 2 یا Zen 3 بهکار گرفته میشد و حتی در آن شرایط نیز برخی ماژولها مصون ماندند.
ویژگیهای حمله جدید
برای توسعه فینیکس، پژوهشگران مکانیزم TRR را معکوسمهندسی کردند. آنها رفتار آن را تحت الگوهای مختلف دسترسی به ردیفهای حافظه تحلیل کرده و بررسی نمودند که آیا محافظت برای ردیفهای مجاور فعال میشود یا خیر. مشخص شد که TRR بهطرز چشمگیری پیچیدهتر شده و الگوهای دسترسی شناختهشده قبلی دیگر کارساز نیستند — سیستم محافظت اکنون آن الگوها را بهعنوان رفتارهای بالقوه خطرناک شناسایی و ردیفهای مجاور را مجبور به تازهسازی میکند. در نتیجه، پژوهشگران دریافتند که پس از ۱۲۸ دسترسی به حافظه که توسط TRR پیگیری میشد، یک «پنجره فرصت» شامل ۶۴ دسترسی پدیدار میشود که در آن دفاعها ضعیفتر عمل میکنند. مسئله این نیست که سیستم محافظتی کاملاً از کار میافتد، بلکه پاسخهای آن به اندازه کافی نیستند تا از تغییر مقدار در یک سلول هدفگذاریشده جلوگیری کنند. پنجره دوم بعد از دسترسی به سلولهای حافظه در بازهای معادل ۲۶۰۸ دوره تازهسازی ظاهر میشود.
پژوهشگران سپس این نقاط آسیبپذیر را با دقت مورد بررسی قرار دادند تا حملهای بسیار هدفمند علیه سلولهای حافظه ترتیب دهند و در عین حال دفاعها را ناکار کنند. بهصورت ساده، حمله اینگونه عمل میکند: کد مخرب مجموعهای از دسترسیهای ساختگی را اجرا میکند که عملاً مکانیزم TRR را بهحالت عادیِ کمهشیاری میبرد. سپس فاز فعال حمله آغاز میشود که در نهایت مقدار سلول هدف را تغییر میدهد. در نتیجه، تیم تأیید کرد که این حمله بهطور قابلاعتمادی روی هر ۱۵ ماژول DDR5 آزمایششده که ساخت SK Hynix بودند مؤثر بوده است.
سه سناریوی حمله دنیای واقعی
یک حمله واقعبینانه باید مقدار را در ناحیهای دقیقاً تعریفشده از حافظه تغییر دهد — کاری دشوار. نخست، مهاجم نیاز به دانش دقیق از نرمافزار هدف دارد. او باید از چندین مکانیزم محافظتی متداول عبور کند و یک یا دو بیت خطا در هدفگیری میتواند بهجای هک موفق، منجر به کرش سیستم شود. محققان سوئیسی در پی اثبات این بودند که فینیکس میتواند برای ایجاد آسیب واقعی در دنیای واقعی استفاده شود. آنها سه سناریوی حمله را ارزیابی کردند. سناریوی نخست (PTE) شامل دسترسی به جدول صفحه (page table) برای ایجاد شرایط خواندن/نوشتن دلخواه در حافظه RAM میشد. سناریوی دوم (RSA) هدفش سرقت کلید خصوصی RSA-2048 از حافظه بود. سناریوی سوم (sudo) شامل دورزدن محافظتهای ابزار استاندارد sudo در لینوکس با هدف ارتقای سطح دسترسی میشد.
برای برخی ماژولها، نخستین نسخه حمله (۱۲۸ دوره تازهسازی) مؤثر بود، در حالی که برای برخی دیگر تنها روش دوم (۲۶۰۸ دوره) جواب میداد. در برخی آزمایشها، سرقت کلید RSA و بهرهبرداری از sudo موفقیتآمیز نبود. با این حال، روشی برای خواندن و نوشتن دلخواه در حافظه برای همه ماژولها یافت شد و زمان اجرای حمله نسبتاً کوتاه بود — از حدود پنج ثانیه تا هفت دقیقه. این زمان کافی است تا نشان دهد حملاتچکش ردیفییک تهدید واقعی هستند، هرچند در سناریوهایی محدود و خاص.
راهکارهای امنیتی
حمله فینیکس نشان میدهد که حملات سبکچکش ردیفیمیتوانند روی ماژولهای DDR5 به همان اندازه مؤثر باشند که روی DDR4 و DDR3 اجرا میشوند. اگرچه آزمایشها تنها روی ماژولهای یک تولیدکننده انجام شد و محققان ضعف نسبتاً سادهای در الگوریتم TRR آن تولیدکننده یافتند که احتمالاً بهراحتی قابل رفع است، اما این یک گام مهم در تحقیقات امنیتی ماژولهای حافظه به شمار میرود. نویسندگان چند راهکار برای مقابله با حملاتچکش ردیفیارائه کردند. اول اینکه، کاهش فاصلهی تازهسازی اجباری روی تمام سلولها میتواند بهطور قابلتوجهی حمله را مختل کند. این اقدام ممکن است مصرف انرژی و دمای تراشه را افزایش دهد، اما راهحلی مستقیم و ساده است. دوم، استفاده از حافظههای دارای کد اصلاح خطا (ECC) پیشنهاد شده است. این کار حملاتچکش ردیفیرا پیچیدهتر میکند، هرچند بهطور کامل غیرممکن نمیسازد. علاوه بر این تدابیر واضح، نویسندگان دو راهکار دیگر را نیز مطرح کردند. نخست، روش محافظتی«بهروزرسانی با دقت جزئیات بالا[4]» که هماکنون در حال پیادهسازی است. این روش در کنترلر حافظهی پردازنده تعبیه شده و رفتار تازهسازی سلولها را تغییر میدهد تا در برابر حملاتچکش ردیفیمقاومت کند. دوم، محققین توصیه میکنند توسعهدهندگان ماژول و تراشه از تکیه بر تدابیر امنیتی اختصاصی (“امنیت با پنهانکاری”) دست بردارند. در عوض، بهتر است رویکردی مشابه حوزه رمزنگاری اتخاذ شود — جایی که الگوریتمهای امنیتی بهصورت عمومی در دسترس بوده و تحت آزمایشهای مستقل قرار میگیرند.
[1] Phoenix
[2] Rowhammer
[3]بهروزرسانی ردیف هدف (Target Row Refresh)
[4] Fine Granularity Refresh
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.