قبل أيام قليلة، تم إصدار معلومات من قبل فريق من الباحثين حول تطوير هجوم Rowhammer الأول أن تم توجيهه بنجاح إلى la ذاكرة الفيديو GDDR6 من وحدة معالجة الرسوميات، وتحديدًا NVIDIA A6000.
التقنية، يُطلق عليه اسم GPUHammerيسمح هذا التلاعب ببتات فردية في ذاكرة الوصول العشوائي الديناميكية (DRAM) لوحدة معالجة الرسومات (GPU)، مما يُضعف دقة نماذج التعلم الآلي بشكل كبير بتغيير بت واحد فقط من معلماتها. تسمح هذه الانعكاسات لمستخدم وحدة معالجة الرسومات (GPU) الخبيث بالتلاعب ببيانات وحدة معالجة الرسومات الخاصة بمستخدم آخر في بيئات مشتركة ومقسمة زمنيًا.
وحتى الآن، كان تطبيق Rowhammer على ذكريات الفيديو يعتبر غير عملي بسبب العديد من القيود التقنية. يصعب رسم خريطة للتصميم المادي لخلايا الذاكرة في شرائح GDDR، كما أن زمن الوصول أبطأ بأربع مرات من ذاكرة DRAM التقليدية، ومعدلات التحديث أعلى بكثير. يضاف إلى ذلك آليات حماية خاصة ضد فقدان الشحن المبكر، والتي تتطلب هندستها العكسية معدات متخصصة.
وللتغلب على هذه العقبات، قام الباحثون بتطوير تقنية هندسة عكسية جديدة تستهدف ذاكرة GDDR DRAMباستخدام شيفرة CUDA منخفضة المستوى، نفّذوا الهجوم عبر تحسينات مُحدّدة كثّفت الوصول إلى خلايا ذاكرة مُحدّدة، مما هيأ ظروفًا مُلائمة للتلاعب بالبتات. يكمن سرّ النجاح في تحقيق حوسبة متوازية عالية التنظيم، والتي عملت كمضخّم للضغط على الخلايا المجاورة.
كيف يعمل الهجوم؟
الهجوم يستغل نقطة ضعف مادية في ذاكرة الوصول العشوائي الديناميكية، حيث يتم الوصول المكثف إلى صف من الذاكرة (المعروف باسم "الطرق") يمكن أن يسبب تغييرات في الصفوف المجاورةعلى الرغم من تحديد هذه الثغرة الأمنية في عام 2014 ودراستها على نطاق واسع في ذاكرة DDR الخاصة بوحدة المعالجة المركزية، إلا أن نقلها إلى وحدات معالجة الرسومات كان حتى الآن يمثل تحديًا بسبب:
- زمن الوصول العالي لذاكرة GDDR6 (أعلى بأربع مرات من DDR4).
- التعقيد في التخصيص المادي للذاكرة.
- وجود تخفيفات خاصة وموثقة بشكل سيئ، مثل TRR.
Rowhammer هي ثغرة أمنية في الأجهزة، حيث يؤدي التنشيط السريع لصف واحد من الذاكرة إلى انعكاسات في الصفوف المجاورة. منذ عام ٢٠١٤، دُرست هذه الثغرة على نطاق واسع في وحدات المعالجة المركزية (CPU) والذواكر المستندة إليها، مثل DDR2014 وDDR3 وLPDDR4. ومع ذلك، نظرًا لأن أحمال عمل الذكاء الاصطناعي والتعلم الآلي المهمة تعمل الآن على وحدات معالجة رسومات منفصلة في السحابة، فإن تقييم مدى تعرض ذاكرة وحدة معالجة الرسومات لهجمات Rowhammer أمر بالغ الأهمية.
وعلى الرغم من هذه العقبات، تمكن الباحثون من تطبيق الهندسة العكسية حول تخصيص الذاكرة الافتراضية/الفيزيائية في CUDA، لقد طوروا طريقة لتحديد بنوك ذاكرة DRAM المحددة وتحسين الوصول المتوازي باستخدام خيوط متعددة وتشوهات، مما يزيد من معدل الضرب دون التسبب في زمن انتقال إضافي.
أظهر إثبات المفهوم كيف يُمكن لقلب بت واحد في أوزان نماذج الشبكات العصبية العميقة (DNN)، وخاصةً في أُسِّ FP16، أن يُؤدي إلى انخفاض دقة نماذج تصنيف الصور على ImageNet من 1% إلى 80%. تُثير هذه النتيجة قلق مراكز البيانات والخدمات السحابية التي تُشغّل أحمال عمل الذكاء الاصطناعي في بيئات مُشتركة مع وحدات معالجة الرسومات.
التخفيفات والقيود
أكدت شركة NVIDIA وجود الثغرة الأمنية وتوصي بتمكين دعم ECC. (كود تصحيح الأخطاء) باستخدام الأمر nvidia-smi -e 1. على الرغم من يمكن لهذا الإجراء تصحيح الأخطاء بت واحد، وهذا يعني خسارة في الأداء تصل إلى 10%. وانخفاض بنسبة 6,25% في الذاكرة المتاحة. كما أنه لا يحمي من الهجمات المستقبلية التي تتضمن عمليات قلب متعددة للبتات.
تأكدنا من وجود تقلبات في بتات Rowhammer على وحدات معالجة الرسومات NVIDIA A6000 المزودة بذاكرة GDDR6. ولم تُظهر وحدات معالجة الرسومات GDDR6 الأخرى، مثل RTX 3080، أي تقلبات في البتات خلال اختباراتنا، ربما بسبب اختلافات في مُصنِّع ذاكرة DRAM، أو خصائص الشريحة، أو ظروف التشغيل مثل درجة الحرارة. كما لم نلاحظ أي تقلبات في وحدة معالجة الرسومات A100 المزودة بذاكرة HBM.
ويؤكد الفريق على أن تم التحقق من GPUHammer حاليًا فقط على وحدة معالجة الرسومات A6000 المزودة بـ GDDR6، وليس على نماذج مثل A100 (HBM) أو RTX 3080. ومع ذلك، نظرًا لأن هذا هجوم قابل للتوسيع، يتم تشجيع الباحثين الآخرين على تكرار وتوسيع التحليل على بنيات ونماذج مختلفة لوحدات معالجة الرسومات.
وأخيرًا، إذا كنت مهتمًا بمعرفة المزيد حول هذا الموضوع، فيمكنك الرجوع إلى التفاصيل في الرابط التالي.