هجوم DMA
هجوم DMA هو نوع من هجمات القناة الجانبية في أمن الكمبيوتر ، حيث يمكن للمهاجم اختراق جهاز كمبيوتر أو جهاز آخر، من خلال استغلال وجود منافذ توسعة عالية السرعة تسمح بالوصول المباشر إلى الذاكرة (DMA).
تُستخدم تقنية الوصول المباشر إلى الذاكرة (DMA) في العديد من الاتصالات، لأنها تُمكّن الجهاز المتصل (مثل كاميرا الفيديو ، أو بطاقة الشبكة ، أو جهاز التخزين ، أو أي ملحق مفيد آخر، أو بطاقة داخلية للحاسوب ) من نقل البيانات بينه وبين الحاسوب بأقصى سرعة ممكنة، وذلك باستخدام الوصول المباشر إلى الذاكرة الرئيسية للقراءة أو الكتابة إليها مباشرةً دون أي إشراف أو تدخل من نظام التشغيل . وقد أدى الاستخدام المشروع لهذه الأجهزة إلى انتشار واسع النطاق لملحقات ووصلات DMA، ولكن يمكن للمهاجم استغلال هذه التقنية لإنشاء ملحق يتصل عبر المنفذ نفسه، ومن ثم الوصول المباشر إلى جزء من مساحة عناوين الذاكرة الفعلية للحاسوب أو كلها، متجاوزًا بذلك جميع آليات أمان نظام التشغيل وأي شاشة قفل ، لقراءة جميع أنشطة الحاسوب، وسرقة البيانات أو مفاتيح التشفير ، وتثبيت برامج التجسس وغيرها من البرامج الضارة أو تشغيلها ، أو تعديل النظام للسماح بوجود أبواب خلفية أو برامج خبيثة أخرى.
سيؤدي منع الاتصالات المادية بهذه المنافذ إلى منع هجمات الوصول المباشر إلى الذاكرة (DMA). في العديد من أجهزة الكمبيوتر، يمكن أيضًا تعطيل الاتصالات التي تُنفذ تقنية DMA من خلال نظام الإدخال والإخراج الأساسي (BIOS) أو واجهة المستخدم الرسومية الموحدة (UEFI) إذا لم تكن مستخدمة، وهو ما قد يُلغي أو يُقلل من احتمالية حدوث هذا النوع من الثغرات الأمنية، وذلك بحسب الجهاز.
تشمل أمثلة الاتصالات التي قد تسمح بالوصول المباشر إلى الذاكرة (DMA) بشكل قابل للاستغلال ما يلي: FireWire و CardBus و ExpressCard و Thunderbolt و USB4 و PCI و PCI-X و PCI Express .
وصف
في أنظمة التشغيل الحديثة، تُمنع التطبيقات غير النظامية (أي تطبيقات وضع المستخدم ) من الوصول إلى أي مواقع ذاكرة غير مصرح بها صراحةً من قِبل وحدة التحكم في الذاكرة الافتراضية (المعروفة بوحدة إدارة الذاكرة ). إضافةً إلى احتواء الأضرار التي قد تنجم عن عيوب البرمجيات، والسماح باستخدام أكثر كفاءة للذاكرة الفعلية، تُشكل هذه البنية جزءًا لا يتجزأ من أمان نظام التشغيل. مع ذلك، تسمح برامج تشغيل وضع النواة، والعديد من الأجهزة، وثغرات وضع المستخدم بالوصول المباشر وغير المقيد إلى مساحة عناوين الذاكرة الفعلية. تشمل مساحة العناوين الفعلية جميع ذاكرة النظام الرئيسية، بالإضافة إلى ناقلات الذاكرة المُرتبطة بالأجهزة (التي يتحكم بها نظام التشغيل من خلال عمليات القراءة والكتابة كما لو كانت ذاكرة وصول عشوائي عادية).
تسمح مواصفات OHCI 1394 للأجهزة، لأسباب تتعلق بالأداء، بتجاوز نظام التشغيل والوصول إلى الذاكرة الفعلية مباشرةً دون أي قيود أمنية. [ 1 ] [ 2 ] ولكن يمكن بسهولة تزوير أجهزة SBP2 ، مما يُمكّن من خداع نظام التشغيل للسماح للمهاجم بقراءة وكتابة الذاكرة الفعلية، وبالتالي الوصول غير المصرح به إلى مواد التشفير الحساسة في الذاكرة. [ 3 ]
قد تظل الأنظمة عرضةً لهجوم الوصول المباشر إلى الذاكرة (DMA) من جهاز خارجي إذا كانت مزودة بمنفذ توسعة من نوع FireWire أو ExpressCard أو Thunderbolt أو أي منفذ آخر، مثل PCI و PCI Express عمومًا، والذي يربط الأجهزة المتصلة مباشرةً بمساحة عناوين الذاكرة الفعلية بدلًا من مساحة عناوين الذاكرة الافتراضية . لذا، قد تظل الأنظمة التي لا تحتوي على منفذ FireWire عرضةً للهجوم إذا كانت مزودة بمنفذ PCMCIA أو CardBus أو PC Card أو ExpressCard يسمح بتثبيت بطاقة توسعة مزودة بمنفذ FireWire.
الاستخدامات
على سبيل المثال، قد يستخدم المهاجم أسلوب الهندسة الاجتماعية ويرسل جهاز Thunderbolt خبيثًا إلى "الفائز المحظوظ". عند توصيله بجهاز الكمبيوتر، سيتمكن الجهاز، بفضل وصوله المباشر وغير المقيد إلى مساحة العناوين الفيزيائية، من تجاوز جميع إجراءات الأمان الخاصة بنظام التشغيل تقريبًا، وسيكون قادرًا على قراءة مفاتيح التشفير، وتثبيت برامج ضارة، أو التحكم في أجهزة النظام الأخرى. كما يمكن تنفيذ الهجوم بسهولة في حال تمكّن المهاجم من الوصول المادي إلى جهاز الكمبيوتر المستهدف.
إضافة إلى الاستخدامات الضارة المذكورة أعلاه، هناك بعض الاستخدامات المفيدة أيضاً، حيث يمكن استخدام ميزات الوصول المباشر إلى الذاكرة لأغراض تصحيح أخطاء النواة . [ 4 ]
يستخدم الغشاشون في ألعاب الفيديو عبر الإنترنت بطاقات DMA متخصصة للوصول إلى ذاكرة اللعبة، مما يوفر لهم ميزات مثل الرؤية عبر الجدران. تعتمد هذه الطريقة على استخدام جهاز كمبيوتر ثانٍ لتحليل تفريغ الذاكرة دون الحاجة إلى أي تعديل برمجي على جهاز الكمبيوتر الذي تُشغّل عليه اللعبة، مما يجعل اكتشافها أصعب بكثير من أساليب الغش التقليدية. قد يستخدم الغشاش بطاقة FPGA مزودة ببرامج ثابتة خبيثة للغش عبر DMA. تشتهر شركة دلتا فورس بصراعها المستمر بين الغشاشين ومطوري برامج مكافحة الغش . [ 5 ] في مايو 2026، وردت أنباء عن اتهام نظام مكافحة الغش الخاص بشركة Riot Games بتعطيل أجهزة الكمبيوتر عند محاولته منع الغش عبر DMA. [ 6 ] [ 7 ]
توجد أداة تُسمى Inception لهجوم DMA، ولا تتطلب سوى جهاز مزود بمنفذ توسعة قابل للاختراق. [ 8 ] ومن التطبيقات الأخرى المعروفة باستغلال هذه الثغرة الأمنية للوصول غير المصرح به إلى أجهزة الكمبيوتر التي تعمل بنظامي التشغيل Windows وMac OS وLinux، برنامج التجسس FinFireWire .
إجراءات التخفيف
يمكن منع هجمات الوصول المباشر إلى الذاكرة (DMA) من خلال توفير الحماية المادية ضد الأجهزة التي يحتمل أن تكون خبيثة.
تتمتع برامج تشغيل وضع النواة بقدرات كبيرة على اختراق أمان النظام، لذا يجب توخي الحذر عند تحميل برامج التشغيل الموثوقة والخالية من الأخطاء. على سبيل المثال، تتطلب الإصدارات الحديثة من نظام التشغيل مايكروسوفت ويندوز (64 بت) أن تخضع برامج التشغيل للاختبار والتوقيع الرقمي من قِبل مايكروسوفت، وتمنع تثبيت أي برامج تشغيل غير موقّعة.
وحدة إدارة الذاكرة للإدخال/الإخراج (IOMMU) هي تقنية تُطبّق مفهوم الذاكرة الافتراضية على ناقلات النظام، ويمكن استخدامها لسدّ هذه الثغرة الأمنية (بالإضافة إلى زيادة استقرار النظام). [ 9 ] تُسوّق إنتل وحدة IOMMU الخاصة بها باسم VT-d، بينما تُسوّقها AMD باسم AMD-Vi. يدعم كلٌّ من لينكس وويندوز 10 وويندوز 11 وحدات IOMMU هذه [ 10 ] [ 11 ] [ 12 ] ، ويمكنها استخدامها لحظر عمليات الإدخال/الإخراج غير المسموح بها. إذا تمّ تكوين ميزات حماية الوصول المباشر إلى الذاكرة (DMA) بشكل صحيح عبر UEFI/BIOS ، فيمكن لأنظمة لينكس وويندوز 10 وويندوز 11 أيضًا استخدام وحدات IOMMU للحماية من هجمات DMA. [ 13 ] اعتبارًا من عام 2012، يدعم نظام macOS من آبل أيضًا استخدام وحدات IOMMU لإحباط هجمات DMA. [ 14 ] [ 15 ]
قد تتخذ أنظمة التشغيل الحديثة خطوات لمنع هجمات الوصول المباشر إلى الذاكرة (DMA). تتضمن نواة لينكس الحديثة خيار تعطيل الوصول المباشر إلى الذاكرة عبر أجهزة فاير واير مع السماح بالوظائف الأخرى. [ 16 ] يمكن لنظام ويندوز 8.1 منع الوصول إلى منافذ الوصول المباشر إلى الذاكرة لجهاز غير مراقب إذا كانت وحدة التحكم مقفلة. [ 17 ] ولكن حتى عام 2019، لم تأخذ شركات أنظمة التشغيل الرئيسية في الحسبان الطرق المتنوعة التي يمكن لجهاز خبيث من خلالها استغلال التفاعلات المعقدة بين أجهزة طرفية محاكاة متعددة، مما يكشف عن أخطاء وثغرات أمنية دقيقة. [ 18 ]
يُعدّ منع تخزين البيانات الحساسة في ذاكرة الوصول العشوائي (RAM) دون تشفير وسيلةً أخرى للتخفيف من هجمات الوصول المباشر إلى الذاكرة (DMA). مع ذلك، لا تكفي الحماية من قراءة محتوى ذاكرة الوصول العشوائي، إذ قد يؤدي الكتابة إليها عبر DMA إلى اختراق التخزين الآمن ظاهريًا خارجها عن طريق حقن التعليمات البرمجية . ومن أمثلة هذا النوع من الهجمات هجوم TRESOR-HUNT، الذي يكشف مفاتيح التشفير التي لا تُخزّن أبدًا في ذاكرة الوصول العشوائي (بل في سجلات معينة لوحدة المعالجة المركزية فقط)؛ ويحقق TRESOR-HUNT ذلك عن طريق الكتابة فوق أجزاء من نظام التشغيل. [ 19 ]
توصي مايكروسوفت بإجراء تغييرات على إعدادات ويندوز الافتراضية لمنع حدوث ذلك إذا كان الأمر يثير القلق. [ 20 ]
انظر أيضاً
مراجع
- ↑ فريدي ويذريدن (2010-09-07). "تحليل بيانات الذاكرة عبر واجهة IEEE 1394" (ملف PDF) . تم الاطلاع عليه بتاريخ 22-05-2024 .
- ↑ بيغدون، ديفيد راسموس (21-02-2006). الاختراق في الذاكرة ذات العنونة الفيزيائية - إثبات المفهوم (ملف PDF) . ندوة تقنيات الاستغلال المتقدمة، فصل الشتاء 2006/2007.
- ↑ "حظر برنامج تشغيل SBP-2 للحد من تهديدات DMA 1394 لـ BitLocker" . مايكروسوفت . 2011-03-04 . تم الاطلاع عليه بتاريخ 2011-03-15 .
- ↑ توم غرين. "1394 تصحيح أخطاء النواة: نصائح وحيل" . مايكروسوفت . مؤرشف من الأصل في 2011-04-09 . تم الاسترجاع في 2011-04-02 .
- ↑ "التهديدات الناشئة لنزاهة الألعاب: تفكيك معضلة الغش في DMA" . intl.anticheatexpert.com . 19 فبراير 2025.
- ↑ ردت شركة Riot على مزاعم "تعطل" جهاز Vanguard قائلة: "لن نؤثر، ولا يمكننا التأثير، على وظائف جهاز الكمبيوتر الخاص بك"." . PCGamesN . 2026-05-22 . تم الاسترجاع في 2026-06-04 . "
- ↑ زولنر، أميليا (22 مايو 2026). "شركة Riot تدّعي أن برنامج مكافحة الغش في لعبة Valorant لا يُعطّل أجهزة الكمبيوتر" . كوتاكو . تم الاطلاع عليه بتاريخ 4 يونيو 2026 .
- ↑ "إنسبشن" أداة للتلاعب بالذاكرة المادية واختراقها، تستغل تقنية الوصول المباشر للذاكرة (DMA) القائمة على PCI. يمكن للأداة الهجوم عبر FireWire وThunderbolt وExpressCard وPC Card وأي واجهات PCI/PCIe أخرى. (carm) 28 يونيو 2019 - عبر GitHub.
- ↑ أليكس ماركوز؛ آدم موريسون؛ دان تسافرير. "حماية IOMMU الحقيقية من هجمات DMA: عندما تكون عملية النسخ أسرع من عملية النسخ الصفرية". إشعارات ACM SIGPLAN، المجلد 51، العدد 4، الصفحات 249-262، 2016. doi : 10.1145/2954679.2872379
- ↑ "/linux/Documentation/Intel-IOMMU.txt" . 14 يوليو 2014. مؤرشف من الأصل في 14 يوليو 2014.
- ↑ "قاعدة بيانات برنامج تشغيل Linux Kernel: CONFIG_AMD_IOMMU: دعم AMD IOMMU" . cateee.net .
- ↑ دانسيمب. "حماية الوصول المباشر إلى الذاكرة (ويندوز 10) - أمان مايكروسوفت 365" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 16 فبراير 2021 .
- ↑ دانسيمب. "حماية الوصول المباشر إلى الذاكرة (ويندوز 10) - أمان مايكروسوفت 365" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 16 فبراير 2021 .
- ↑ "" .
- ↑ "أفضل الممارسات للتخفيف من هجمات الوصول المباشر إلى الذاكرة" .
- ↑ هيرمان، أوفه (14 أغسطس 2008). "هجمات الذاكرة الفيزيائية عبر FireWire/DMA - الجزء 1: نظرة عامة والتخفيف" . مؤرشف من الأصل في 4 مارس 2016.
- ↑ "التدابير المضادة: حماية الأجهزة المشفرة بتقنية BitLocker من الهجمات" . مايكروسوفت . يناير 2014. مؤرشف من الأصل في 24 مارس 2014.
- ↑ "Thunderclap: استكشاف نقاط الضعف في حماية IOMMU لنظام التشغيل عبر DMA من الأجهزة الطرفية غير الموثوقة - ندوة NDSS" . تم الاطلاع عليه بتاريخ 21 يناير 2020 .
- ↑ بلاس، إريك-أوليفر (2012). "البحث عن الكنز". وقائع المؤتمر السنوي الثامن والعشرين لتطبيقات أمن الحاسوب . الصفحات 71-78 . doi : 10.1145/2420950.2420961 . ISBN 9781450313124. S2CID 739758 .
- ↑ "KB2516445: حظر برنامج تشغيل SBP-2 للحد من تهديدات DMA 1394 لـ Bitlocker" . مايكروسوفت . 2011-03-04 . تم الاطلاع عليه بتاريخ 2011-03-15 .
روابط خارجية
- "مملوك بواسطة جهاز iPod - الاختراق عبر Firewire" عرض تقديمي من ماكسيميليان دورنسيف من مؤتمر PacSec/core04، اليابان، 2004
- هجمات الذاكرة الفعلية عبر Firewire/DMA - الجزء 1: نظرة عامة والتخفيف (تحديث)
- هجمات القنوات الجانبية
