أمن وحدة تخزين النظام
بالنسبة إلى macOS 10.15، قدمت Apple وحدة تخزين نظام للقراءة فقط، وهي وحدة تخزين مخصصة ومعزولة لمحتوى النظام. يضيف macOS 11 أو أحدث حماية تشفير قوية إلى محتوى النظام باستخدام وحدة تخزين نظام مُوقّعة (SSV). يتميز SSV بآلية kernel تتحقق من تكامل محتوى النظام في وقت التشغيل، وترفض أي بيانات -سواءً كانت تعليمات برمجية أو غيرها- بدون توقيع تشفير صالح من Apple. بدءًا من iOS 15 و iPadOS 15، تحصل أيضًا وحدة تخزين النظام على iPhone أو iPad على حماية تشفير لوحدة تخزين النظام الموقَّعة.
يساعد SSV في منع العبث بأي برنامج من برامج Apple يمثل جزءًا من نظام التشغيل، ويجعل أيضًا تحديث برامج macOS أكثر موثوقية وأكثر أمانًا. ولأن SSV يستخدم لقطات APFS (نظام ملفات Apple)، يمكن استعادة إصدار النظام القديم دون إعادة التثبيت إذا تعذر إجراء تحديث.
منذ طرح APFS، عمل على توفير تكامل بيانات تعريف نظام الملفات باستخدام مجاميع اختبارية غير مشفرة على جهاز التخزين الداخلي. يعزز SSV آلية التكامل عن طريق إضافة تجزئات التشفير، ومن ثم توسيعها لتشمل كل بايت من بيانات الملف. تتم تجزئة البيانات من جهاز التخزين الداخلي (بما في ذلك بيانات تعريف نظام الملفات) بشكل مشفر في مسار القراءة، ثم تتم مقارنة التجزئة بقيمة متوقعة في بيانات تعريف نظام الملفات. في حالة عدم التطابق، يفترض النظام أن البيانات قد تم التلاعب بها، ولن يُعيدها إلى البرنامج الذي يطلبها.
يتم تخزين كل تجزئة SSV SHA256 في شجرة بيانات تعريف نظام الملفات الرئيسي، والتي تكون مجزأةً بحد ذاتها. ولأن كل عقدة في الشجرة تتحقق بشكل متكرر من تكامل تجزئات فروعها—على غرار شجرة التجزئة الثنائية (Merkle)—فإن قيمة تجزئة عقدة الجذر، تسمى الختم، تشمل كل بايت من البيانات في SSV، ما يعني أن التوقيع المشفر يغطي وحدة تخزين النظام بالكامل.
أثناء تثبيت macOS وتحديثه، تتم إعادة حوسبة الختم من نظام الملفات على الجهاز ويتم التحقق من هذا القياس مقابل القياس الموقَّع من Apple. على أجهزة كمبيوتر Mac المزودة بسيليكون Apple، يتحقق مُحمّل التمهيد من الختم قبل نقل التحكم إلى kernel. على أجهزة كمبيوتر Mac المستندة إلى Intel المزودة بشريحة Apple T2 أمنية، يقوم مُحمّل التمهيد بإعادة توجيه القياس والتوقيع إلى kernel، والذي يتحقق بعد ذلك من الختم مباشرةً قبل تثبيت نظام الملفات الجذر. في كلتا الحالتين، إذا فشل التحقق، ستتوقف عملية بدء التشغيل، وسيُطلب من المستخدم إعادة تثبيت macOS. يتكرر هذا الإجراء في كل عملية تمهيد إلا إذا اختار المستخدم الدخول في وضع تأمين أقل من حيث المستوى وقرّر بشكل منفصل تعطيل وحدة تخزين النظام المُوقّعة.
أثناء تحديثات برامج iOS و iPadOS، يتم إعداد وحدة تخزين النظام وإعادة حوسبتها بطريقة مماثلة. تتحقق مُحمّلات إقلاع iOS و iPadOS من سلامة الختم وكونه مطابقًا لقيمة موقَّعة من Apple قبل السماح للجهاز ببدء تشغيل kernel. تدفع حالات عدم التطابق أثناء التمهيد المستخدم لتحديث برنامج النظام على الجهاز. لا يُسمح للمستخدمين بتعطيل حماية وحدة تخزين نظام موقَّعة على iOS و iPadOS.
SSV وتوقيع التعليمات البرمجية
ما يزال توقيع التعليمات البرمجية موجودًا ويتم فرضه بواسطة kernel. تقوم وحدة تخزين النظام المُوقّعة بتوفير الحماية عند قراءة أي بايت على الإطلاق من جهاز التخزين الداخلي. بينما يوفر توقيع التعليمات البرمجية الحماية عندما يتم تعيين كائنات Mach في الذاكرة على أنها قابلة للتنفيذ. يعمل كل من SSV وتوقيع التعليمات البرمجية على حماية التعليمات البرمجية القابلة للتنفيذ على جميع مسارات القراءة والتنفيذ.
SSV وخزنة الملفات
في macOS 11 أو أحدث، يوفر SSV حماية مكافئة لمحتوى النظام أثناء عدم النشاط، وبالتالي لم تعد وحدة تخزين النظام بحاجة إلى أن تكون مشفرة. سيكتشف نظام الملفات أي تعديلات يتم إجراؤها على نظام الملفات أثناء عدم نشاطه عند قراءتها. إذا شغَّل المستخدم خزنة الملفات، فإن محتوى المستخدم في وحدة تخزين البيانات يظل مشفرًا بسر يوفره المستخدم.
إذا اختار المستخدم تعطيل SSV، يصبح النظام عرضة للعبث أثناء عدم نشاطه، ويمكن لهذا التلاعب أن يُمكّن المهاجم من استخراج بيانات المستخدم المُشفّرة عند بدء تشغيل النظام التالي. لذلك، لن يسمح النظام للمستخدم بتعطيل SSV إذا كانت خزنة الملفات قيد التشغيل. ويجب تمكين الحماية أثناء عدم النشاط أو تعطيلها لكلتا وحدتي التخزين بطريقة متسقة.
في macOS 10.15 أو أقدم، يحمي خزنة الملفات برامج نظام التشغيل أثناء عدم نشاطها عن طريق تشفير محتوى المستخدم والنظام بمفتاح محمي بواسطة سر يحدده المستخدم. وهذا يحمي من المهاجم الذي لديه وصول مادي إلى الجهاز من الوصول إلى نظام الملفات الذي يحتوي على برامج النظام أو تعديله بشكل فعال.
SSV و Mac مزودة بشريحة Apple T2 أمنية
على أجهزة كمبيوتر Mac المزودة بشريحة Apple T2 أمنية، لا يحمي SSV سوى macOS نفسه فقط. بينما البرنامج الذي يتم تشغيله على شريحة T2 ويتحقق من macOS يكون محميًا بواسطة التمهيد الآمن.