تُؤدي هجمات GDDRHammer و GeForge إلى إتلاف ذاكرة وحدة معالجة الرسومات للوصول إلى جميع ذاكرة وحدة المعالجة المركزية.

طوّر باحثون من عدة جامعات في الولايات المتحدة وأستراليا نوعين من هجمات Rowhammer، هما GDDRHammer وGeForge، اللذان يسمحان بإتلاف بتات فردية في رقائق ذاكرة الفيديو GDDR عند تشغيل نواة CUDA غير مُصرّح بها على وحدة معالجة رسومية NVIDIA. وعلى عكس طريقة GPUHammer التي عُرضت العام الماضي، لا تقتصر هذه الهجمات الجديدة على التأثير على البيانات المُعالجة في ذاكرة وحدة المعالجة الرسومية، بل تسمح بالوصول الكامل إلى جميع الذاكرة الرئيسية ضمن مساحة عناوين وحدة المعالجة المركزية. وقد أظهر الباحثون ثغرات أمنية تمنح صلاحيات الجذر لنظام التشغيل عند تشغيل نواة CUDA غير مُصرّح بها على وحدة المعالجة الرسومية.

يستنزف كلا الهجومين خلايا ذاكرة الفيديو المحددة التي لا يملك المهاجمون وصولاً مباشراً إليها، مما يؤدي إلى تغيير البتات المخزنة في تلك الخلايا. ويتم الوصول إلى الذاكرة داخل مساحة عناوين وحدة المعالجة المركزية عن طريق التدخل في مُخصِّص ذاكرة وحدة معالجة الرسومات (cudaMalloc) لكسر عزل ذاكرة وحدة معالجة الرسومات وتعيين عناوين وحدة معالجة الرسومات الافتراضية إلى عناوين عشوائية في ذاكرة وحدة معالجة الرسومات أو وحدة المعالجة المركزية الفعلية.

يتم تنفيذ الهجوم عن طريق إتلاف قيم البتات في ذاكرة الفيديو، التي تخزن جداول صفحات وحدة معالجة الرسومات المسؤولة عن ترجمة العناوين الافتراضية إلى عناوين فعلية. ويكمن الفرق بين هجومي GDDRHammer وGeForge في أن هجوم GDDRHammer يُعدّل جدول صفحات المستوى الأخير (PT)، بينما يُعدّل هجوم GeForge دليل صفحات المستوى الأخير (PD0).

من بين أمور أخرى، تُستخدم جداول ترجمة العناوين المحددة لتنظيم الوصول المباشر لوحدة معالجة الرسومات إلى ذاكرة وحدة المعالجة المركزية، وبالتالي، فإن تغيير العنوان في جدول صفحات وحدة معالجة الرسومات إلى عنوان فعلي في ذاكرة الوصول العشوائي الرئيسية وتعيين علامة APERTURE، التي تُمكّن وضع تعيين ذاكرة وحدة المعالجة المركزية، يجعل من الممكن قراءة وكتابة البيانات التي تصل إلى الذاكرة الرئيسية عبر ناقل PCIe مع تعطيل IOMMU (معطل افتراضيًا).

تُؤدي هجمات GDDRHammer و GeForge إلى إتلاف ذاكرة وحدة معالجة الرسومات للوصول إلى جميع ذاكرة وحدة المعالجة المركزية.
تُؤدي هجمات GDDRHammer و GeForge إلى إتلاف ذاكرة وحدة معالجة الرسومات للوصول إلى جميع ذاكرة وحدة المعالجة المركزية.

تم إثبات نجاح الهجمات على بطاقات الرسومات الاحترافية عالية الأداء NVIDIA RTX A6000 المبنية على معمارية Ampere الدقيقة (يبدأ سعر البطاقات الجديدة من 6850 دولارًا أمريكيًا، بينما يبدأ سعر البطاقات المستعملة من 4000 دولارًا أمريكيًا) ونماذج NVIDIA RTX 3060 المخصصة للمستهلكين (250-300 دولارًا أمريكيًا). سمحت التقنية المطورة لتجاوز حماية Rowhammer، بالإضافة إلى استخدام إمكانيات المعالجة المتوازية لوحدة معالجة الرسومات، بزيادة معدل تلف الخلايا بمقدار 64 ضعفًا مقارنةً بالهجمات السابقة. كإجراء مؤقت لصد الهجمات، يمكن تفعيل وضع تصحيح الأخطاء (ECC) باستخدام الأمر "nvidia-smi -e 1"، ولكن هذا يُضيف عبئًا إضافيًا ويمكن تجاوزه باستخدام أساليب هجوم مثل ECCploit وECC.fail.

يسمح هجوم RowHammer بتشويه محتويات بتات ذاكرة DRAM الفردية من خلال قراءة البيانات دوريًا من خلايا الذاكرة المجاورة. ولأن ذاكرة DRAM عبارة عن مصفوفة ثنائية الأبعاد من الخلايا، تتكون كل منها من مكثف وترانزستور، فإن القراءة المستمرة لنفس مساحة الذاكرة تؤدي إلى تقلبات في الجهد وتشوهات، مما يتسبب في فقدان طفيف لشحنة الخلايا المجاورة. إذا كانت شدة القراءة عالية، فقد تفقد الخلية المجاورة كمية كبيرة من الشحنة بحيث لا يتوفر لدورة التحديث التالية الوقت الكافي لاستعادة حالتها الأصلية، مما يؤدي إلى تغيير في قيمة البيانات المخزنة في الخلية.

طُرحت طريقة هجوم Rowhammer في عام 2014، مما أدى إلى سباق محموم بين باحثي الأمن ومصنّعي الأجهزة: حاول مصنّعو رقائق الذاكرة سدّ الثغرة الأمنية، بينما اكتشف الباحثون طرقًا جديدة لتجاوزها. على سبيل المثال، لحماية النظام من Rowhammer، أضاف مصنّعو الرقائق آلية TRR (تحديث الصف المستهدف)، ولكن تبيّن أن هذه الآلية لا تمنع تلف الخلايا إلا في حالات محددة، ولا توفر الحماية ضد جميع سيناريوهات الهجوم المحتملة. طُوّرت طرق هجوم لرقائق DDR3 وDDR4 وDDR5 على أنظمة بمعالجات Intel وAMD وARM، بالإضافة إلى ذاكرة GDDR في وحدات معالجة الرسومات NVIDIA. علاوة على ذلك، وُجدت طرق لتجاوز تصحيح أخطاء ECC، واقتُرحت طرق هجوم للهجمات الشبكية وتنفيذ أكواد JavaScript في المتصفح.

المصدر: opennet.ru

إضافة تعليق