وسائل حماية الوصول إلى الذاكرة المباشرة في أجهزة كمبيوتر Mac
لتحقيق إنتاجية عالية على الواجهات عالية السرعة مثل PCIe و FireWire وثندربولت و USB، يجب أن تدعم أجهزة الكمبيوتر الوصول المباشر للذاكرة (DMA) من الأجهزة الطرفية. وهذا يعني أنه يجب أن يكون بإمكانها القراءة والكتابة إلى RAM دون مشاركة مستمرة من وحدة المعالجة المركزية. منذ 2012، طبقت أجهزة كمبيوتر Mac تقنيات عديدة لحماية DMA، مما أدى إلى الوصول إلى أفضل وأشمل مجموعة من وسائل حماية DMA على أي كمبيوتر.
وسائل حماية الوصول إلى الذاكرة المباشرة على أجهزة كمبيوتر Mac المزودة بسيليكون Apple
تحتوي الأنظمة على شرائح من Apple على وحدة إدارة ذاكرة إدخال/إخراج (IOMMU) لكل وكيل DMA في النظام، بما في ذلك منافذ PCIe وثندربولت. ولأن لكل IOMMU مجموعتها الخاصة من جداول ترجمة العناوين لترجمة طلبات DMA، فلا يمكن للأجهزة الطرفية المتصلة بواسطة PCIe أو ثندربولت الوصول إلا إلى الذاكرة التي تم تعيينها صراحةً لاستخدامها. لا يمكن للأجهزة الطرفية الوصول إلى الذاكرة التي تنتمي إلى أجزاء أخرى من النظام—مثل kernel أو البرامج الثابتة—أو الذاكرة المخصصة للأجهزة الطرفية الأخرى. إذا اكتشفت IOMMU محاولةً من جهاز طرفي للوصول إلى ذاكرة لم يتم تعيينها لاستخدام هذا الجهاز الطرفي، فإنها تعمل على تشغيل حالة خطأ في kernel.
وسائل حماية الوصول إلى الذاكرة المباشرة على Mac مستند إلى Intel
تعمل أجهزة كمبيوتر Mac المستندة إلى Intel مع تقنية Intel Virtualization Technology for Directed I/O (VT-d) على تهيئة IOMMU، مما يتيح إعادة تعيين DMA وإعادة تعيين المقاطعة، في وقت مبكر جدًا من عملية التمهيد للتخفيف من فئات مختلفة من الثغرات الأمنية. يبدأ مكون IOMMU المادي من Apple في العمل بسياسة رفض افتراضي، لذا فإنه فور تشغيل النظام، يبدأ تلقائيًا بحظر طلبات DMA من الأجهزة الطرفية. بعد التهيئة بواسطة البرنامج، تبدأ وحدات IOMMU في السماح بطلبات DMA من الأجهزة الطرفية إلى مناطق الذاكرة التي تم تعيينها بشكل صريح لاستخدامها.
ملاحظة: إعادة تعيين المقاطعة لـ PCIe ليست ضرورية على أجهزة كمبيوتر Mac المزودة بسيليكون Apple حيث تتعامل كل IOMMU مع وحدات MSI للأجهزة الطرفية الخاصة بها.
بدءًا من macOS 11، تقوم جميع أجهزة كمبيوتر Mac المزودة بشريحة Apple T2 الأمنية بتشغيل برامج تشغيل UEFI التي تسهل الوصول المباشر للذاكرة DMA في بيئة الحلقة 3 المقيدة عندما يتم إقران برامج التشغيل هذه بأجهزة خارجية. تساعد هذه الخاصية في التخفيف من الثغرات الأمنية التي قد تحدث عندما يتفاعل جهاز ضار مع برنامج تشغيل UEFI بطريقة غير متوقعة في وقت التمهيد. على وجه الخصوص، يقلل من تأثير الثغرات الأمنية في برامج التشغيل التي تتعامل مع مخازن DMA المؤقتة.