GPUThor؛ حمله جدید Rowhammer به GPUها میتواند امنیت سرورهای ابری را تهدید کند
حمله GPUThor با سوءاستفاده از آسیبپذیری حافظه GDDR6، حملات Rowhammer به GPUها را مؤثرتر کرده و میتواند امنیت سرورهای ابری را تهدید کند.
پژوهشگران یک حمله Rowhammer جدید و مؤثرتر را روی شتابدهندههای گرافیکی (GPU) به نمایش گذاشتهاند که میتواند دادههای ذخیرهشده در حافظه ویدئویی را تغییر دهد و حتی باعث از کار افتادن شتابدهنده شود.
این حمله که GPUThor نام دارد، از رفتار فیزیکی حافظه گرافیکی سوءاستفاده میکند و نشان میدهد آسیبپذیریهای مربوط به حافظه فقط به رم سیستمهای سنتی محدود نیستند.
پژوهشگران دانشگاه تورنتو در کانادا در مقالهای جدید، جزئیات GPUThor را بررسی کردهاند؛ روشی که در مقایسه با حملات قبلی Rowhammer روی حافظه گرافیکی، اثربخشی بسیار بیشتری دارد.
Rowhammer چیست و چه ارتباطی با کارت گرافیک دارد؟
ایده اصلی حمله Rowhammer نخستینبار در سال ۲۰۱۴ مطرح شد. این حمله بر یک ویژگی فیزیکی حافظههای مدرن تکیه دارد: سلولهای حافظه کاملاً از یکدیگر ایزوله نیستند.
در شرایط خاص، اگر یک ردیف از سلولهای حافظه بهصورت مکرر و سریع مورد دسترسی قرار گیرد، ممکن است دادههای ذخیرهشده در ردیفهای مجاور دچار تغییر شوند. به این پدیده Bit Flip یا تغییر بیت گفته میشود.
پس از اثبات امکان ایجاد چنین تغییراتی، مهاجم میتواند تلاش کند از آن برای اهداف مخرب استفاده کند؛ برای مثال ایجاد اختلال در سرویس یا در سناریوهای پیچیدهتر، دستیابی به اجرای کد دلخواه.
اما چرا GPUها اهمیت پیدا کردهاند؟
رشد سریع هوش مصنوعی و پردازشهای موازی باعث شده تقاضا برای شتابدهندههای گرافیکی افزایش پیدا کند. GPUهایی که در ابتدا عمدتاً برای پردازش گرافیکی طراحی شده بودند، اکنون در دیتاسنترها و زیرساختهای ابری برای اجرای مدلهای هوش مصنوعی و محاسبات سنگین استفاده میشوند.
به همین دلیل، سرویسهای ابری که دسترسی اجارهای به GPU ارائه میکنند، میتوانند به هدف جذابی برای حملات Rowhammer تبدیل شوند.
در یک سناریوی فرضی، مهاجم یک GPU را از یک ارائهدهنده ابری اجاره میکند و سپس تلاش میکند از همان سختافزار برای حمله به سایر بخشهای زیرساخت استفاده کند. به همین دلیل، امنیت حافظه GPU به یکی از موضوعات مهم پژوهشهای امنیت سختافزار تبدیل شده است.
حمله GPUThor چگونه کار میکند؟
در ماههای گذشته، چند پژوهش مختلف حملات Rowhammer را روی شتابدهندههای Nvidia مجهز به حافظه GDDR6 بررسی کردند. با این حال، نتایج این حملات نسبتاً محدود بود.
بیشترین تأثیر روی کارتهای گرافیک مصرفی مشاهده شد و حمله به شتابدهندههای حرفهای و دیتاسنتری مانند Nvidia A6000 دشوارتر بود. علاوه بر این، حملات قبلی در صورت فعال بودن فناوری ECC، یعنی سیستم تصحیح خطای حافظه، عملاً موفقیت چندانی نداشتند.
GPUThor نیز خانواده شتابدهندههای Nvidia Ampere مجهز به حافظه GDDR6 را هدف قرار میدهد. پژوهشگران مدلهای A4000، A4500، A5000 و A6000 را بررسی کردند.
نتایج نشان میدهد روش جدید در مقایسه با حملات قبلی میتواند تعداد بسیار بیشتری از سلولهای حافظه را تحت تأثیر قرار دهد. پژوهشگران همچنین معتقدند از نظر تئوری امکان بهکارگیری این تکنیک روی شتابدهندههای جدیدتر نیز وجود دارد؛ هرچند این موضوع هنوز بهطور عملی اثبات نشده است.
نقطه ضعف مکانیزم دفاعی Target Row Refresh
یکی از مهمترین بخشهای پژوهش GPUThor، بررسی مکانیزم دفاعی Target Row Refresh یا TRR است.
TRR یکی از روشهای دفاعی در برابر حملات Rowhammer محسوب میشود. زمانی که سیستم متوجه دسترسیهای غیرعادی و مکرر به یک ردیف حافظه شود، ردیفهای مجاور را تازهسازی میکند تا از تغییر دادهها جلوگیری شود.
مهاجمان معمولاً برای دور زدن TRR از الگوهای دسترسی تصادفی استفاده میکنند تا سیستم دفاعی را دچار مشکل کنند.
اما پژوهشگران GPUThor به نکته مهمی در کارتهای Nvidia Ampere پی بردند: طبق یافتههای آنها، مکانیزم TRR تنها یک بار در هر ۷۲ چرخه تازهسازی سلول حافظه فعال میشود.
پژوهشگران با استفاده از این ویژگی، الگوی دسترسی نامتوازنی طراحی کردند که در آن سلولهای هدف با شدت بسیار بیشتری مورد حمله قرار میگرفتند.
نتیجه چشمگیر بود.
در مقایسه با حمله GDDR قبلی موسوم به GPUHammer، پژوهشگران گزارش کردند که GPUThor حدود ۷۰۰۰ تا ۲۳ هزار برابر مؤثرتر عمل میکند.
ثبت صدها هزار تغییر بیت در هر گیگابایت
ترکیب الگوی حمله تهاجمیتر با چند بهینهسازی دیگر باعث شد GPUThor بتواند بین ۷۲ هزار تا ۳۷۷ هزار تغییر بیت در هر گیگابایت ایجاد کند.
این رقم در مقایسه با گونههای قبلی Rowhammer بسیار بیشتر است؛ حملات قبلی در بهترین حالت تنها چند صد تغییر بیت ایجاد میکردند.
افزایش تعداد تغییرات همچنین امکان ایجاد خطاهای دو بیتی و حتی سه بیتی را فراهم کرد.
این مسئله برای سیستمهای مجهز به ECC اهمیت زیادی دارد. فناوری ECC معمولاً میتواند یک خطای تکبیتی را اصلاح کند، اما مقابله با خطاهای چندبیتی بسیار دشوارتر است.
GPUThor میتواند باعث از کار افتادن GPU شود
پژوهشگران تنها به ایجاد تغییر در دادهها اکتفا نکردند و تأثیر عملی حمله را نیز بررسی کردند.
نتایج نشان داد دسترسی مکرر به حافظه ویدئویی با استفاده از GPUThor میتواند باعث حمله منع سرویس (DoS) شود.
در این سناریو، شتابدهنده گرافیکی ابتدا راهاندازی مجدد میشود و در این فرایند بخشی از دادههای خود را از دست میدهد. سپس سختافزار بهعنوان قطعهای که نیاز به تعویض دارد، به مدیر سیستم گزارش میشود.
این یافته نشان میدهد حملات Rowhammer به GPU صرفاً یک تهدید نظری نیستند و در شرایط خاص میتوانند پیامد عملی برای زیرساختهای پردازشی داشته باشند.
آیا GPUThor میتواند کنترل سرور را در دست بگیرد؟
با وجود نتایج قابل توجه، GPUThor هنوز به یک حمله کامل برای اجرای کد دلخواه تبدیل نشده است.
پژوهشگران تاکنون نتوانستهاند نشان دهند که تغییر دادههای حافظه با این روش مستقیماً به اجرای کد دلخواه (Arbitrary Code Execution) منجر میشود.
آنها با این حال معتقدند از نظر تئوری میتوان از این روش برای رسیدن به چنین هدفی استفاده کرد؛ حتی در شرایطی که ECC فعال باشد.
همچنین اگرچه اثربخشی بسیار بالاتر GPUThor احتمال حمله به نسلهای جدیدتر شتابدهندهها را مطرح میکند، این موضوع نیز هنوز در آزمایشهای عملی اثبات نشده است.
آینده حملات Rowhammer به GPUها
پژوهش GPUThor نشان میدهد حملات Rowhammer روی شتابدهندههای گرافیکی هنوز ظرفیتهای کشفنشدهای دارند.
با افزایش استفاده از GPUها در دیتاسنترها، رایانش ابری و زیرساختهای هوش مصنوعی، امنیت حافظه گرافیکی اهمیت بیشتری پیدا میکند. اگر پژوهشهای آینده بتوانند روشهای مشابهی را روی نسلهای جدیدتر و قدرتمندتر GPUها اجرا کنند، ممکن است تهدید Rowhammer از یک مسئله تخصصی سختافزاری به یک نگرانی جدیتر برای امنیت زیرساختهای ابری تبدیل شود.
در حال حاضر، GPUThor بیش از آنکه یک ابزار عملی برای نفوذ کامل به سرورها باشد، هشداری درباره ظرفیت بالقوه حملات فیزیکی و نیمهفیزیکی به حافظه GPU محسوب میشود؛ هشداری که با گسترش استفاده از شتابدهندههای گرافیکی در سرورها و سامانههای هوش مصنوعی، اهمیت آن بیشتر خواهد شد.