شرکت NVIDIA به کاربران توصیه کرده است که کدهای تصحیح خطای سطح سیستم (System-Level ECC) را برای محافظت از پردازندههای گرافیکی (GPU) مجهز به حافظه GDDR6 در برابر حملات Rowhammer فعال کنند. این توصیه پس از انتشار پژوهشی جدید از دانشگاه تورنتو ارائه شده است که امکانپذیری عملی حملات Rowhammer علیه GPU مدل NVIDIA A6000 را نشان میدهد.
جزئیات آسیبپذیری حملات Rowhammer
محققان دانشگاه تورنتو ابزاری به نام GPUHammer توسعه دادند که قادر به تغییر بیتها(flip) در حافظه GPU است. آنها گزارش کردند که با اجرای GPUHammer روی یک NVIDIA RTX A6000 با ۴۸ گیگابایت حافظه GDDR6، در چهار بانک DRAM، هشت تغییر بیت تکبیتی مجزا و تغییراتی در تمام بانکهای آزمایششده مشاهده شد. حداقل تعداد دسترسی (TRH) برای ایجاد تغییر بیت حدود ۱۲,۰۰۰ بار بود، که با یافتههای قبلی در مورد حافظه DDR4 سازگار است.
این محققان همچنین اولین حمله کاهش دقت مدلهای یادگیری ماشین (ML) را با استفاده از Rowhammer روی GPU انجام دادند. به گفته یکی از محققان، GPUHammer توانست دقت یک مدل هوش مصنوعی را از ۸۰٪ به کمتر از ۱٪ با یک تغییر بیت در A6000 کاهش دهد.
Rowhammer یک نقص سختافزاری است که از طریق فرآیندهای نرمافزاری فعال میشود و ناشی از نزدیکی بیش از حد سلولهای حافظه به یکدیگر است. این حمله، که ابتدا روی سلولهای DRAM نشان داده شد، میتواند حافظه GPU را نیز تحت تأثیر قرار دهد. این روش با دسترسی مکرر به یک ردیف حافظه از طریق عملیات خواندن-نوشتن، باعث تغییر مقدار بیتهای داده مجاور (از یک به صفر یا برعکس) میشود و اطلاعات ذخیرهشده در حافظه را تغییر میدهد.
این نقص میتواند منجر به شرایط انکار سرویس، خرابی دادهها یا حتی افزایش سطح دسترسی شود. کدهای تصحیح خطای سطح سیستم (ECC) با افزودن بیتهای اضافی و تصحیح خطاهای تکبیتی، یکپارچگی دادهها را حفظ کرده و قابلیت اطمینان و دقت دادهها را تضمین میکنند. در GPUهای workstation و مراکز داده که حافظه ویدئویی (VRAM) حجم زیادی از دادهها و محاسبات دقیق مرتبط با بارهای کاری هوش مصنوعی را مدیریت میکند، فعالسازی ECC برای جلوگیری از خطاهای بحرانی ضروری است.
محصولات در معرض خطر
NVIDIA اعلام کرد که پژوهش دانشگاه تورنتو یک حمله احتمالی Rowhammer را علیه NVIDIA A6000 با حافظه GDDR6 و بدون فعالسازی ECC سطح سیستم نشان داده است. این شرکت فعالسازی ECC را برای محصولات زیر توصیه میکند:
- GPUهای مراکز داده:
- Ampere: A100، A40، A30، A16، A10، A2، A800
- Ada: L40S، L40، L4
- Hopper: H100، H200، GH200، H20، H800
- Blackwell: GB200، B200، B100
- Turing: T1000، T600، T400، T4
- Volta: Tesla V100، Tesla V100S
- GPUهای workstation:
- Ampere RTX: A6000، A5000، A4500، A4000، A2000، A1000، A400
- Ada RTX: 6000، 5000، 4500، 4000، 4000 SFF، 2000
- Blackwell RTX PRO
- Turing RTX: 8000، 6000، 5000، 4000
- Volta: Quadro GV100
- سیستمهای تعبیهشده/صنعتی:
- Jetson AGX Orin Industrial
- IGX Orin
NVIDIA خاطرنشان کرد که GPUهای جدیدتر مانند سری Blackwell RTX 50 (GeForce)، Blackwell Data Center (GB200، B200، B100)، Hopper Data Center (H100، H200، H20، GH200) بهصورت داخلی مجهز به محافظت ECC روی تراشه (on-die ECC) هستند و نیازی به دخالت کاربر ندارند.
روشهای بررسی و فعالسازی ECC
برای بررسی فعال بودن ECC سطح سیستم، دو روش وجود دارد:
- روش خارج از باند (Out-of-Band): استفاده از کنترلکننده مدیریت پایه (BMC) و نرمافزار رابط سختافزاری مانند Redfish API برای بررسی وضعیت ECCModeEnabled.
- روش داخل باند (In-Band): استفاده از ابزار خط فرمان nvidia-smi از CPU سیستم برای بررسی و فعالسازی ECC در صورت پشتیبانی.
ابزارهایی مانند NSM Type 3 و NVIDIA SMBPBI نیز برای پیکربندی قابل استفادهاند؛ اما نیاز به دسترسی به NVIDIA Partner Portal دارند.
یکی از محققان تخمین زده است که این توصیهها ممکن است تا ۱۰٪ کاهش سرعت در استنتاج یادگیری ماشین و ۶.۵٪ کاهش ظرفیت حافظه در تمام بارهای کاری ایجاد کند.
خطرات و محدودیتها
Rowhammer یک نگرانی امنیتی واقعی است که میتواند منجر به خرابی دادهها یا فعالسازی حملات در محیطهای چندمستأجری مانند سرورهای ابری شود که GPUهای آسیبپذیر در آنها مستقر هستند. با این حال، خطر این حمله به زمینه بستگی دارد و سوءاستفاده قابلاعتماد از Rowhammer پیچیده است، زیرا نیاز به شرایط خاص، نرخ دسترسی بالا و کنترل دقیق دارد، که اجرای آن را دشوار میکند.