محتويات ملف LocalPolicy لأجهزة كمبيوتر Mac المزودة بسيليكون Apple
LocalPolicy هو ملف Image4 موقّع بواسطة Secure Enclave. بينما Image4 عبارة عن تنسيق بنية بيانات مُشفّر بواسطة ASN.1 (Abstract Syntax Notation One) DER يُستخدم لوصف معلومات حول كائنات سلسلة التمهيد الآمن على أنظمة Apple الأساسية. في نموذج التمهيد الآمن المستند إلى Image4، يتم طلب سياسات الأمن في وقت تثبيت البرنامج الذي يتم بدؤه بواسطة طلب توقيع إلى خادم توقيع Apple مركزي. إذا كانت السياسة مقبولة، يقوم خادم التوقيع بإرجاع ملف Image4 مُوقَّع يحتوي على مجموعة متنوعة من تسلسلات الرموز المكونة من أربعة أحرف (4CC). ويتم تقييم ملفات Image4 المُوقَّعة ورموز 4CCs هذه في وقت التمهيد بواسطة برنامج مثل Boot ROM أو LLB.
تسليم الملكية بين أنظمة التشغيل
يُشار إلى الوصول إلى مفتاح هوية المالك (OIK) باسم "الملكية". وتكون الملكية مطلوبة للسماح للمستخدمين بإعادة توقيع LocalPolicy بعد إجراء تغييرات في السياسة أو البرنامج. وتتم حماية OIK بنفس التسلسل الهرمي للمفاتيح كما هو موضح في حماية المفاتيح المؤمنة (SKP)، مع حماية OIK بنفس مفتاح تشفير المفاتيح (KEK) المستخدم في مفتاح تشفير وحدة التخزين (VEK). وهذا يعني أنه عادةً ما يكون محميًا بكلمات سر المستخدم وقياسات نظام التشغيل والسياسة. يوجد OIK واحد فقط لجميع أنظمة التشغيل على الـ Mac. لذلك، عند تثبيت نظام تشغيل ثانٍ، يلزم الحصول على موافقة صريحة من المستخدمين على نظام التشغيل الأول لتسليم الملكية إلى المستخدمين في نظام التشغيل الثاني. ومع ذلك، فإن المستخدمين غير موجودين حتى الآن لنظام التشغيل الثاني، عند تشغيل المُثبت من نظام التشغيل الأول. ولا يتم إنشاء المستخدمين في أنظمة التشغيل بشكل طبيعي حتى يتم تمهيد نظام التشغيل وتشغيل مساعد الإعداد. وبالتالي، يلزم اتخاذ إجراءين جديدين عند تثبيت نظام تشغيل ثانٍ على Mac مزود بسيليكون Apple:
إنشاء LocalPolicy لنظام التشغيل الثاني
تحضير "مستخدم تثبيت" لتسليم الملكية
عند تشغيل مساعد التثبيت والتثبيت المستهدف لوحدة تخزين فارغة ثانوية، تظهر مطالبة لسؤال المستخدم عمّا إذا كان يرغب في نسخ مستخدم من وحدة التخزين الحالية ليكون المستخدم الأول لوحدة التخزين الثانية أم لا. إذا وافق المستخدم، فإن "مستخدم التثبيت" الذي يتم إنشاؤه يكون، في الواقع، KEK مشتق من كلمة سر المستخدم المحدد ومفاتيح المكونات المادية، والذي يُستخدم بعد ذلك لتشفير OIK عند تسليمه إلى نظام التشغيل الثاني. ثم من داخل مساعد تثبيت نظام التشغيل الثاني، يطلب كلمة سر هذا المستخدم للسماح له بالوصول إلى OIK في Secure Enclave لنظام التشغيل الجديد. إذا اختار المستخدمون عدم نسخ مستخدم، فستظل عملية إنشاء مستخدم التثبيت جاريةً بالطريقة ذاتها، ولكن يتم استخدام كلمة سر فارغة بدلاً من كلمة سر المستخدم. وهذا التدفق الثاني موجود لبعض سيناريوهات إدارة النظام. ومع ذلك، يجب على المستخدمين الذين يرغبون في إجراء عمليات تثبيت متعددة وحدات التخزين ويريدون إجراء تسليم الملكية بالطريقة الأكثر أمانًا أن يختاروا دائمًا نسخ مستخدم من نظام التشغيل الأول إلى نظام التشغيل الثاني.
LocalPolicy على Mac مزود بسيليكون Apple
بالنسبة إلى أجهزة كمبيوتر Mac المزودة بسيليكون Apple، تم تفويض عنصر التحكم في سياسة الأمن المحلية ليكون تطبيقًا يعمل في Secure Enclave. ويمكن لهذا البرنامج استخدام بيانات اعتماد المستخدم ووضع التمهيد لوحدة المعالجة المركزية الأساسية لتحديد من يمكنه تغيير سياسة الأمن وتحديد بيئة التمهيد التي تسمح بذلك. ويساعد ذلك على منع البرامج الضارة من استخدام عناصر التحكم في سياسة الأمن ضد المستخدم من خلال خفض مستواها للحصول على مزيد من الامتيازات.
خصائص ملف بيانات LocalPolicy
يحتوي ملف LocalPolicy على بعض رموز 4CCs الهيكلية الموجودة في معظم ملفات Image4 - مثل لوحة أو معرِّف الطراز (BORD)، مما يشير إلى شريحة Apple معينة (CHIP)، أو معرِّف الشريحة الحصري (ECID). لكن عناصر 4CCs الواردة أدناه تركز فقط على سياسات الأمن التي يمكن للمستخدمين تكوينها.
ملاحظة: تستخدم Apple مصطلح One True recoveryOS (1TR) المقترن للإشارة إلى التمهيد في recoveryOS المقترن باستخدام زر طاقة مادي بضغطة واحدة مطولاً. ويختلف هذا عن تمهيد recoveryOS العادي الذي يحدث باستخدام NVRAM أو الضغط المزدوج مطولاً أو عند حدوث أخطاء عند بدء التشغيل. يؤدي الضغط على الزر المادي من نوع معين إلى زيادة الثقة في أن بيئة التمهيد لا يمكن الوصول إليها بواسطة مهاجم برمجي فقط استطاع اختراق macOS.
التجزئة العشوائية لـ LocalPolicy (lpnh)
النوع: OctetString (48)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: يتم استخدام
lpnh
لمكافحة إعادة تشغيل LocalPolicy. وهذه هي تجزئة SHA384 الخاصة بالقيمة العشوائية لـ LocalPolicy (LPN) التي يتم تخزينها في مكون التخزين الآمن ويمكن الوصول إليها باستخدام Boot ROM في Secure Enclave أو في Secure Enclave. ولا تكون القيمة غير القابلة لإعادة التشغيل مرئية مطلقًا لمعالج التطبيقات، ولكن تكون مرئية لـ sepOS فقط. سيحتاج المهاجم الذي يريد إقناع LLB بأن LocalPolicy السابقة التي تم اكتشافها كانت صالحة، وإلى وضع قيمة في مكون التخزين الآمن التي يتم تجزئتها بنفس قيمةlpnh
الموجودة في LocalPolicy التي يريد إعادة تشغيلها. عادةً ما يوجد LPN واحد صالح على النظام—باستثناء أثناء تحديثات البرامج، عندما يوجد اثنان صالحان في الوقت نفسه—للسماح بإمكانية العودة إلى تمهيد البرنامج القديم في حالة حدوث خطأ في التحديث. عند تغيير أي LocalPolicy لأي نظام تشغيل، تتم إعادة توقيع كل السياسات بقيمة lpnh الجديدة المطابقة لـ LPN الجديد الموجود في مكون التخزين الآمن. يحدث هذا التغيير عندما يغير المستخدم إعدادات الأمان أو ينشئ أنظمة تشغيل جديدة باستخدام LocalPolicy جديدة لكل منها.
التجزئة العشوائية للسياسة البعيدة (rpnh)
النوع: OctetString (48)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: تعمل
rpnh
بالطريقة نفسها التي تعمل بهاlpnh
، ولكن لا يتم تحديثها إلا عند تحديث السياسة البعيدة، مثلاً عند تغيير حالة التسجيل في تطبيق تحديد الموقع. يحدث هذا التغيير عندما يغير المستخدم حالة تطبيق تحديد الموقع على الـ Mac الخاص به.
التجزئة العشوائية لـ recoveryOS (ronh)
النوع: OctetString (48)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: تعمل
ronh
بالطريقة نفسها التي تعمل بها lpnh، ولكن تكون موجودة بشكل حصري في LocalPolicy لنظام recoveryOS. ويتم تحديثها عند تحديث نظام recoveryOS، مثلما يحدث عند تحديث البرامج. يتم استخدام قيمة منفصلة غير قابلة لإعادة التشغيل منlpnh
وrpnh
بحيث عندما يتم وضع الجهاز في حالة تعطيل بواسطة تطبيق تحديد الموقع، يمكن تعطيل أنظمة التشغيل الحالية (عن طريق إزالة LPN و RPN من مكون التخزين الآمن)، مع الاستمرار في ترك نظام recoveryOS قابلًا للإقلاع. وبهذه الطريقة، يمكن إعادة تمكين أنظمة التشغيل عندما يثبت مالك النظام سيطرته على النظام عن طريق إدخال كلمة سر iCloud الخاصة به المستخدمة لحسابه في تطبيق تحديد الموقع. يحدث هذا التغيير عندما يقوم المستخدم بتحديث نظام recoveryOS أو إنشاء أنظمة تشغيل جديدة.
تجزئة ملف بيانات Image4 للمرحلة التالية (nsih)
النوع: OctetString (48)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: يمثل حقل nsih تجزئة SHA384 لبنية بيانات ملف بيانات Image4 التي تصف macOS الذي تم تمهيده. يحتوي ملف بيانات Image4 الخاص بـ macOS على قياسات لكل كائنات التمهيد، مثل iBoot وذاكرة التخزين المؤقت الموثوق بها وشجرة الجهاز ومجموعة Boot Kernel وتجزئة جذر وحدة تخزين النظام الموقَّعة (SSV). عند توجيه LLB إلى تمهيد macOS معين، تم تصميم ذلك ليضمن أن تكون تجزئة ملف بيانات Image4 الخاصة بـ macOS المرفقة مع iBoot مطابقة لما تم التقاطه في حقل
nsih
في LocalPolicy. وبهذه الطريقة، تكتشفnsih
هدف المستخدم في نظام التشغيل الذي أنشأ المستخدم سياسة LocalPolicy لها. يُغيّر المستخدمون قيمةnsih
ضمنيًا عند تنفيذ تحديث للبرامج.
تجزئة ملف بيانات Image4 الخاص بـ Cryptex1 (spih)
النوع: OctetString (48)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: يمثل حقل
spih
تجزئة SHA384 لهيكل بيانات ملف Image4 الخاص بـ Cryptex1. يحتوي ملف بيانات Image4 الخاص بـ Cryptex1 على قياسات وحدة التشفير وعمليات تأمين نظام الملفات وذاكرة التخزين المؤقت الموثوق بها المرتبطة. عند بدء تشغيل macOS، يضمن ملحق XNU kernel وطبقة حماية الصفحة أن تكون تجزئة ملف بيانات Image4 الخاص بـ Cryptex1 مطابقة لما نشره iBoot من حقلspih
في LocalPolicy. يُغيّر المستخدمون قيمةspih
ضمنيًا عند تثبيت الاستجابة الأمنية السريعة أو إجراء تحديث للبرامج. يمكن تحديث تجزئة ملف بيانات Image4 الخاص بـ Cryptex1 بشكل مستقل عن تجزئة ملف بيانات Image4 للمرحلة التالية.
إنشاء Cryptex1 (stng)
النوع: عدد صحيح غير مُوقَّع من 64 بت
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: حقل
stng
هو قيمة عدّاد تمثل وقت آخر تحديث لتجزئة ملف بيانات Image4 الخاص بـ Cryptex1 في LocalPolicy. يوفر قيمة منع إعادة التشغيل بدلًا منlpnh
أثناء تقييم طبقة حماية الصفحة للسياسة المحلية لتطبيق التشفير الوارد. يزيد المستخدمون من قيمةstng
ضمنيًا عند تثبيت الاستجابة الأمنية السريعة وإجراء تحديث للبرامج.
تجزئة سياسة ذاكرة التخزين المؤقت لملحقات Kernel المساعدة (AuxKC) (auxp)
النوع: OctetString (48)
البيئات المتغيرة: macOS
الوصف:
auxp
عبارة عن تجزئة SHA384 لسياسة قائمة kext المصرح بها من قِبل المستخدم (UAKL). وتُستخدم وقت إنشاء AuxKC للمساعدة على ضمان تضمين kexts المُصرّح بها من قِبل المستخدم فقط في AuxKC. ويُعدّsmb2
شرطًا أساسيًا لإعداد هذا الحقل. ويغيّر المستخدمون قيمةauxp
ضمنيًا عندما يغيّرون UAKL من خلال الموافقة على kext من الخصوصية والأمن في إعدادات النظام (macOS 13 أو أحدث) أو جزء الأمن والخصوصية في تفضيلات النظام (macOS 12 أو أقدم).
تجزئة ملف بيانات Image4 لذاكرة التخزين المؤقت لملحقات Kernel المساعدة (AuxKC) (auxi)
النوع: OctetString (48)
البيئات المتغيرة: macOS
الوصف: بعد أن يتحقق النظام من تطابق تجزئة UAKL مع محتويات الحقل
auxp
في LocalPolicy، يطلب توقيع AuxKC بواسطة تطبيق معالج Secure Enclave المسؤول عن توقيع LocalPolicy. ثم تُوضع تجزئة SHA384 الخاصة بتوقيع ملف بيانات AuxKC Image4 في LocalPolicy، لتجنب احتمال خلط ومطابقة AuxKCs المُوقّعة سابقًا مع نظام تشغيل في وقت التمهيد. إذا عثر iBoot على حقلauxi
في LocalPolicy، يحاول تحميل AuxKC من وحدة التخزين ويتحقق من صحة توقيعه. ويتحقق أيضًا من تطابق تجزئة ملف بيانات Image4 المرفق بـ AuxKC مع القيمة الموجودة في حقلauxi
. إذا فشل تحميل AuxKC لأي سبب من الأسباب، يستمر النظام في التمهيد بدون كائن التمهيد هذا، وبالتالي بدون تحميل أي ملفات kexts تابعة لجهات خارجية. يعتبر الحقلauxp
شرطًا أساسيًا لتعيين الحقل auxi في LocalPolicy. ويغيّر المستخدمون قيمةauxi
ضمنيًا عندما يغيّرون UAKL من خلال الموافقة على kext من الخصوصية والأمن في إعدادات النظام (macOS 13 أو أحدث) أو جزء الأمن والخصوصية في تفضيلات النظام (macOS 12 أو أقدم).
تجزئة إيصال ذاكرة التخزين المؤقت لملحقات Kernel المساعدة (AuxKC) (auxr)
النوع: OctetString (48)
البيئات المتغيرة: macOS
الوصف:
auxr
عبارة عن تجزئة SHA384 لإيصال AuxKC، تشير إلى مجموعة kexts الدقيقة التي تم تضمينها في AuxKC. يمكن أن يكون إيصال AuxKC مجموعة فرعية من UAKL، لأنه يمكن استبعاد kexts من AuxKC حتى لو كانت مصرحًا بها من قِبل المستخدم، إذا كانت معروفة بأنها تُستخدم لتنفيذ الهجمات. بالإضافة إلى ذلك، قد تؤدي بعض kexts التي يمكن استخدامها لكسر حدود kernel الخاصة بالمستخدم إلى تقليل الوظائف مثل عدم القدرة على استخدام Apple Pay أو تشغيل محتوى 4K و HDR. أما المستخدمون الذين يرغبون في الحصول على هذه الإمكانيات، فعليهم باختيار تضمين AuxKC أكثر تقييدًا. يعتبر الحقلauxp
شرطًا أساسيًا لتعيين الحقلauxr
في LocalPolicy. ويغيّر المستخدمون قيمةauxr
ضمنيًا عند إنشاء AuxKC جديد من الخصوصية والأمن في إعدادات النظام (macOS 13 أو أحدث) أو جزء الأمن والخصوصية في تفضيلات النظام (macOS 12 أو أقدم).
تجزئة ملف بيانات Image4 (coih) لـ CustomOS
النوع: OctetString (48)
البيئات المتغيرة: 1TR
الوصف: تُعد
coih
تجزئة SHA384 لملف بيانات Image4 على CustomOS. تُستخدم حمولة ملف البيانات هذا بواسطة iBoot (بدلاً من XNU kernel) لنقل التحكم. يغير المستخدمون قيمةcoih
ضمنيًا عند استخدام أداة سطر الأوامرkmutil configure-boot
في 1TR.
معرف UUID لمجموعة وحدات تخزين APFS (vuid)
النوع: OctetString (16)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: يُشير
vuid
إلى مجموعة وحدات التخزين التي يجب أن يستخدمها kernel كجذر. هذا الحقل معلوماتي بشكل أساسي، ولا يُستخدم لقيود الأمن. ويتم تعيينvuid
هذا من قِبل المستخدم ضمنيًا عند إنشاء تثبيت جديد لنظام التشغيل.
معرف UUID للمجموعة لمفتاح تشفير المفاتيح (KEK) (kuid)
النوع: OctetString (16)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: يُشير
kuid
إلى وحدة التخزين التي تم تمهيدها. كان يتم استخدام مفتاح تشفير المفاتيح عادةً لحماية البيانات. لكل LocalPolicy، يتم استخدامه لحماية مفتاح توقيع سياسة LocalPolicy. ويتم تعيينkuid
من قِبل المستخدم ضمنيًا عند إنشاء تثبيت جديد لنظام التشغيل.
قياس سياسة التمهيد الموثوقة لـ recoveryOS المقترن (prot)
النوع: OctetString (48)
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: قياس سياسة الإقلاع الموثوق بها لـ recoveryOS المقترن (TBPM) عبارة عن حساب تجزئة SHA384 تكرارية خاصة عبر ملف بيانات Image4 الخاص بسياسة LocalPolicy، باستثناء القيم غير القابلة لإعادة التشغيل، لتحديد قياس ثابت مع مرور الوقت (نظرًا لتحديث القيم غير القابلة لإعادة التشغيل مثل
lpnh
بشكل متكرر). ويوجد حقلprot
لكل سياسة LocalPolicy في macOS، ويوفر إقرانًا للإشارة إلى سياسة LocalPolicy لـ recoveryOS التي تتوافق مع سياسة LocalPolicy لـ macOS.
يحتوي على سياسة محلية لـ recoveryOS موقّعة بواسطة Secure Enclave (hrlp)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: يشير
hrlp
إلى ما إذا كانت قيمةprot
(أعلاه) هي قياس سياسة LocalPolicy لـ recoveryOS موقّعة بواسطة Secure Enclave أم لا. فإذا لم يكن الأمر كذلك، يتم توقيع LocalPolicy لـ recoveryOS بواسطة خادم التوقيع على الإنترنت من Apple، والذي يقوم بتوقيع أشياء مثل ملفات macOS Image4.
إصدار نظام التشغيل المحلي (love)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR و recoveryOS و macOS
الوصف: يشير
love
إلى إصدار OS الذي تم إنشاء LocalPolicy لأجله. يتم الحصول على الإصدار من بيان الحالة الآتي أثناء إنشاء LocalPolicy ويتم استخدامه لفرض قيود اقتران recoveryOS.
تمهيد متعدد آمن (smb0)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR و recoveryOS
الوصف: إذا كان
smb0
موجودًا وصحيحًا، يسمح LLB بالتوقيع على ملف بيانات Image4 الخاص بالمرحلة التالية عالميًا، بدلاً من طلب توقيع مخصص. ويمكن للمستخدمين تغيير هذا الحقل باستخدام أداة أمن بدء التشغيل أوbputil
لإرجاع مستوى الأمن إلى تأمين منخفض.
تمهيد متعدد آمن (smb1)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR
الوصف: إذا كان
smb1
موجودًا وصحيحًا، يسمح iBoot للكائنات مثل مجموعة kernel مخصصة بأن تكون مُوقّعة من قِبل Secure Enclave باستخدام المفتاح نفسه الموجود في LocalPolicy. ويعد وجودsmb0
شرطًا أساسيًا لوجودsmb1
. ويمكن للمستخدمين تغيير هذا الحقل باستخدام أدوات سطر الأوامر مثلcsrutil
أوbputil
لإرجاع مستوى الأمن إلى تأمين أقل تقييدًا.
تمهيد متعدد آمن (smb2)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR
الوصف: إذا كان
smb2
موجودًا وصحيحًا، فإن iBoot يسمح لمجموعة Kernel المساعدة بأن تكون موقعة بواسطة Secure Enclave بنفس مفتاح LocalPolicy. ويعد وجودsmb0
شرطًا أساسيًا لوجودsmb2
. ويمكن للمستخدمين تغيير هذا الحقل باستخدام أداة أمن بدء التشغيل أوbputil
لإرجاع مستوى الأمان إلى تأمين منخفض وتمكين kexts التابعة لجهات خارجية.
تمهيد متعدد آمن (smb3)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR
الوصف: إذا كان
smb3
موجودًا وصحيحًا، فقد اختار المستخدم على الجهاز السماح لحل إدارة جهاز الجوال MDM بالتحكم في نظامه. يؤدي وجود هذا الحقل إلى جعل سياسة LocalPolicy المتحكمة في تطبيق معالج Secure Enclave تقبل مصادقة MDM بدلاً من طلب مصادقة المستخدم المحلي. ويمكن للمستخدمين تغيير هذا الحقل باستخدام أداة أمن بدء التشغيل أوbputil
لتمكين التحكم المُدار في kexts التابعة لجهات خارجية وتحديثات البرامج. (في macOS 11.2 أو أحدث، يستطيع MDM أيضًا بدء تحديث إلى أحدث إصدار من macOS إذا كان نمط الأمن الحالي هو التأمين الكامل).
تمهيد متعدد آمن (smb4)
النوع: قيمة منطقية
البيئات المتغيرة: macOS
الوصف: إذا كانت قيمة
smb4
موجودة وصحيحة، فقد اختار الجهاز السماح لـ MDM بالتحكم في نظام التشغيل باستخدام Apple School Manager أو Apple Business ManagerApple Business Essentials. يؤدي وجود هذا الحقل إلى جعل سياسة LocalPolicy المتحكمة في تطبيق Secure Enclave تقبل مصادقة MDM بدلاً من طلب مصادقة المستخدم المحلي. يتم تغيير هذا الحقل بواسطة حل MDM عندما يكتشف ظهور الرقم التسلسلي للجهاز في أي من هذه الخدمات الثلاث.
حماية تكامل النظام (sip0)
النوع: عدد صحيح غير مُوقَّع من 64 بت
البيئات المتغيرة: 1TR
الوصف: تحتوي
sip0
على وحدات بت سياسة حماية تكامل النظام (SIP) الموجودة والتي تم تخزينها سابقًا في NVRAM. تُضاف وحدات بت سياسة SIP الجديدة هنا (بدلاً من استخدام حقول LocalPolicy مثلما هو موضح أدناه)، إذا كانت تُستخدم في macOS فقط، ولا تُستخدم بواسطة LLB. ويمكن للمستخدمين تغيير هذا الحقل باستخدامcsrutil
من 1TR لتعطيل SIP وإرجاع مستوى الأمان إلى تأمين أقل تقييدًا.
حماية تكامل النظام (sip1)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR
الوصف: إذا كانت قيمة
sip1
موجودة وصحيحة، يسمح iBoot بحالات الفشل في التحقق من تجزئة جذر وحدة تخزين SSV. ويمكن للمستخدمين تغيير هذا الحقل باستخدامcsrutil
أوbputil
من 1TR.
حماية تكامل النظام (sip2)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR
الوصف: إذا كانت قيمة sip2 موجودة وصحيحة، فلن يقوم iBoot بقفل سجل أجهزة منطقة القراءة فقط للنص القابل للتكوين (CTRR) التي تحدد ذاكرة kernel على أنها غير قابلة للكتابة. ويمكن للمستخدمين تغيير هذا الحقل باستخدام
csrutil
أوbputil
من 1TR.
حماية تكامل النظام (sip3)
النوع: قيمة منطقية
البيئات المتغيرة: 1TR
الوصف: إذا كانت قيمة
sip3
موجودة وصحيحة، لن يفرض iBoot قائمة السماح المضمنة الخاصة به لمتغير boot-args NVRAM، والذي قد يؤدي إلى تصفية الخيارات التي يتم تمريرها إلى kernel. ويمكن للمستخدمين تغيير هذا الحقل باستخدامcsrutil
أوbputil
من 1TR.
الشهادات و RemotePolicy
كما هو موضح في إنشاء مفتاح توقيع LocalPolicy وإدارته، تحتوي LocalPolicy Image4 أيضًا على شهادة هوية المالك (OIC) و RemotePolicy المضمنة.