![](https://help.apple.com/assets/6537FB06A074DBB5E802EA07/6537FB31280588A5490B6E1D/id_ID/52d714626638d3391623c853be0c593b.png)
Konten file LocalPolicy untuk Mac dengan Apple silicon
LocalPolicy adalah file Image4 yang ditandatangani oleh Secure Enclave. Image4 adalah format struktur data yang dikodekan dengan ASN.1 (Abstract Syntax Notation One) DER yang digunakan untuk menjelaskan informasi mengenai objek rantai boot aman di platform Apple. Di model boot aman berbasis Image4, kebijakan keamanan diminta pada waktu penginstalan perangkat lunak yang dimulai oleh permintaan penandatanganan ke server penandatanganan Apple pusat. Jika kebijakan dapat diterima, server penandatanganan mengembalikan file Image4 yang ditandatangani, yang berisi berbagai rangkaian kode empat karakter (4CC). File Image4 yang ditandatangani dan 4CC ini dievaluasi saat proses mulai oleh perangkat lunak seperti ROM Boot atau LLB.
Penyerahan kepemilikan di antara sistem operasi
Akses ke Kunci Identitas Pemilik (OIK) disebut sebagai “Kepemilikan”. Kepemilikan diperlukan untuk memungkinkan pengguna untuk menandatangani kembali LocalPolicy setelah membuat perubahan kebijakan atau perangkat lunak. OIK dilindungi dengan hierarki kunci yang sama seperti yang dijelaskan di Perlindungan Kunci yang Disegel (SKP), dengan OIK dilindungi oleh Kunci enkripsi kunci (KEK) yang sama dengan Kunci enkripsi volume (VEK). Ini berarti OIK biasanya dilindungi oleh kata sandi pengguna dan pengukuran sistem operasi serta kebijakan. Hanya terdapat satu OIK untuk semua sistem operasi di Mac. Maka, saat menginstal sistem operasi kedua, persetujuan eksplisit diperlukan dari pengguna di sistem operasi pertama untuk menyerahkan Kepemilikan ke pengguna di sistem operasi kedua. Namun, pengguna belum ada untuk sistem operasi kedua, saat penginstal dijalankan dari sistem operasi pertama. Pengguna di sistem operasi biasanya tidak dibuat hingga sistem operasi di-boot dan Asisten Pengaturan dijalankan. Maka, dua tindakan baru diperlukan saat menginstal sistem operasi kedua di Mac dengan Apple silicon:
Membuat LocalPolicy untuk sistem operasi kedua
Menyiapkan “Instal Pengguna” untuk menyerahkan Kepemilikan
Saat menjalankan Asisten Penginstalan dan menargetkan penginstalan untuk volume kosong kedua, pengguna akan ditanyai apakah ingin menyalin pengguna dari volume saat ini untuk dijadikan pengguna pertama pada volume kedua. Jika pengguna memilih ya, “Instal Pengguna” yang dibuat adalah, sebenarnya, KEK yang diturunkan dari kata sandi pengguna dan kunci perangkat keras yang dipilih, yang kemudian digunakan untuk mengenkripsi OIK saat diserahkan ke sistem operasi kedua. Lalu, dari dalam Asisten Penginstalan sistem operasi kedua, kata sandi pengguna akan diminta untuk mengizinkannya mengakses OIK di Secure Enclave untuk sistem operasi baru. Jika pengguna memilih untuk tidak menyalin pengguna, Instal Pengguna masih dibuat dengan cara yang sama, namun kata sandi kosong digunakan alih-alih kata sandi pengguna. Alur kedua ini ada untuk skenario administrasi sistem tertentu. Namun, pengguna yang ingin melakukan penginstalan multivolume dan ingin melakukan penyerahan Kepemilikan dalam cara yang paling aman harus selalu memilih untuk menyalin pengguna dari sistem operasi pertama ke sistem operasi kedua.
LocalPolicy di Mac dengan Apple silicon
Untuk Mac dengan Apple silicon, kontrol kebijakan keamanan lokal telah didelegasikan ke aplikasi yang dijalankan di Secure Enclave. Perangkat lunak dapat menggunakan info pengesahan pengguna dan mode boot CPU utama untuk menentukan siapa yang dapat mengubah kebijakan keamanan dan dari lingkungan boot mana. Ini membantu pencegahan perangkat lunak berbahaya agar tidak menggunakan kontrol kebijakan keamanan terhadap pengguna dengan menurunkannya untuk memperoleh lebih banyak hak.
Properti manifes LocalPolicy
File LocalPolicy berisi beberapa 4CC arsitektural yang ditemukan di sebagian besar file Image4—seperti ID papan atau model (BORD), menandakan keping Apple tertentu (CHIP), atau Identifikasi Keping Eksklusif (ECID). Tetapi 4CC hanya fokus di kebijakan keamanan yang dapat dikonfigurasi pengguna.
Catatan: Apple menggunakan istilah One True recoveryOS (1TR) yang Dipasangkan untuk menandakan boot ke recoveryOS yang dipasangkan menggunakan satu kali tekan dan tahan tombol daya fisik. Ini berbeda dari boot recoveryOS normal, yang dilakukan menggunakan NVRAM atau dua kali tekan dan tahan atau yang dapat terjadi saat ada kesalahan selama proses mulai. Penekanan tombol fisik jenis khusus meningkatkan kepercayaan bahwa lingkungan boot tidak dapat dijangkau oleh penyerang yang hanya memanfaatkan perangkat lunak yang telah masuk ke macOS.
Hash Nonce LocalPolicy (lpnh)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi:
lpnh
digunakan untuk anti-pemutaran ulang LocalPolicy. Ini adalah hash SHA384 Nonce LocalPolicy (LPN) yang disimpan di Komponen Penyimpanan Aman dan dapat diakses menggunakan ROM Boot Secure Enclave atau Secure Enclave. Nilai anti-pemutaran ulang raw tidak pernah terlihat bagi Prosesor Aplikasi, hanya ke sepOS. Penyerang yang ingin meyakinkan LLB bahwa LocalPolicy sebelumnya yang telah mereka dapatkan bersifat valid harus menempatkan nilai ke Komponen Penyimpanan Aman yang membuat hash ke nilailpnh
yang sama pada di LocalPolicy yang mereka ingin putar ulang. Biasanya, terdapat satu LPN yang valid di sistem—kecuali selama pembaruan perangkat lunak, saat terdapat dua yang valid—untuk mengizinkan kemungkinan kembali melakukan boot perangkat lunak lama saat terjadi kesalahan pembaruan. Saat LocalPolicy mana pun untuk sistem operasi mana pun diubah, semua kebijakan ditandatangani kembali dengan nilai lpnh baru sesuai dengan LPN baru yang ditemukan di Komponen Penyimpanan Aman. Perubahan ini terjadi saat pengguna mengubah pengaturan keamanan atau membuat sistem operasi baru dengan LocalPolicy baru untuk masing-masing.
Hash Nonce Kebijakan Jarak Jauh (rpnh)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi:
rpnh
berperilaku sama denganlpnh
tapi hanya diperbarui saat kebijakan jarak jauh diperbarui, seperti saat mengubah status pendaftaran Lacak. Perubahan ini terjadi saat pengguna mengubah status Lacak di Mac mereka.
Hash Nonce recoveryOS (ronh)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi:
ronh
berperilaku sama dengan lpnh, tapi ditemukan secara eksklusif di LocalPolicy untuk recoveryOS sistem. ronh diperbarui saat recoveryOS sistem diperbarui, seperti di pembaruan perangkat lunak. Nilai anti-pemutaran ulang terpisah darilpnh
danrpnh
digunakan sehingga saat perangkat dinonaktifkan oleh Lacak, sistem operasi yang ada tersebut dapat dinonaktifkan (dengan menghapus LPN serta RPN dari Keping Penyimpanan Aman), dan tetap mempertahankan boot ke recoveryOS sistem. Dengan acara ini, sistem operasi dapat diaktifkan ulang saat pemilik sistem membuktikan kontrolnya terhadap sistem dengan memasukkan kata sandi iCloud mereka yang digunakan untuk akun Lacak. Perubahan ini terjadi saat pengguna memperbarui recoveryOS sistem atau membuat sistem operasi baru.
Hash Manifes Image4 Tahap Berikutnya (nsih)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi: Bidang nsih mewakili hash SHA384 pada struktur data manifes Image4 yang menjelaskan macOS yang di-boot. Manifes Image4 macOS berisi pengukuran untuk semua objek boot—seperti iBoot, cache kepercayaan statis, hierarki perangkat, Kumpulan Kernel Boot, dan hash root volume yang merupakan volume sistem yang ditandatangani (SSV). Saat LLB diteruskan untuk melakukan boot macOS yang ditentukan, iBoot dirancang untuk memastikan bahwa hash manifes Image4 macOS yang dilampirkan ke iBoot sesuai dengan yang ditangkap di bidang
nsih
LocalPolicy. Dengan cara ini,nsih
menangkap tujuan pengguna terkait jenis sistem operasi yang diinginkan pengguna saat ia membuat LocalPolicy. Pengguna mengubah nilainsih
secara implisit saat melakukan pembaruan perangkat lunak.
Hash Manifes Cryptex1 Image4 (spih)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi: Bidang
spih
merepresentasikan hash SHA384 dari struktur data manifes Cryptex1 Image4. Manifest Cryptex1 Image4 berisi pengukuran kripteksnya, segel sistem filenya, dan cache kepercayaan terkaitnya. Saat macOS dimulai, kernel XNU dan Lapisan Perlindungan Halaman memastikan bahwa hash manifes Cryptex1 Image4 sama dengan yang diterbitkan iBoot dari bidangspih
LocalPolicy. Pengguna mengubah nilaispih
secara implisit saat menginstal Respons Keamanan Cepat atau menjalankan pembaruan perangkat lunak. Hash Manifes Cryptex1 Image4 dapat diperbarui secara terpisah dari Hash Manifes Image4 Tahap Berikutnya.
Pembuatan Cryptex1 (stng)
Jenis: Integer 64 bit yang tidak ditandatangani
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi: Bidang
stng
nilai penghitung yang merepresentasikan kapan Hash Manifes Cryptex1 Image4 diperbarui terakhir kali di LocalPolicy. Bidang ini menyediakan nilai anti-pemutaran ulanglpnh
selama evaluasi Lapisan Perlindungan Halaman kebijakan lokal untuk menerapkan Cryptex Mendatang. Pengguna menambah nilaistng
secara implisit saat menginstal Respons Keamanan Cepat atau pembaruan perangkat lunak.
Hash Kebijakan Kumpulan Kernel Pembantu (AuxKC) (auxp)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: macOS
Deskripsi:
auxp
adalah hash SHA384 kebijakan daftar kext yang disahkan oleh pengguna (UAKL). Ini digunakan pada waktu pembuatan AuxKC untuk membantu memastikan bahwa hanya kext yang disahkan oleh pengguna yang disertakan di AuxKC.smb2
adalah prasyarat untuk mengatur bidang ini. Pengguna mengubah nilaiauxp
secara implisit saat mereka mengubah UAKL dengan menyetujui kext dari panel Privasi & Keamanan di Pengaturan Sistem (macOS 13 atau lebih baru) atau panel Keamanan & Privasi di Preferensi Sistem (macOS 12 atau lebih lama).
Hash Manifes Image4 Kumpulan Kernel Pembantu (AuxKC) (auxi)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: macOS
Deskripsi: Setelah sistem memverifikasi bahwa hash UAKL sesuai dengan yang ditemukan di bidang
auxp
LocalPolicy, sistem meminta AuxKC untuk ditandatangani oleh aplikasi prosesor Secure Enclave yang bertanggung jawab atas penandatanganan LocalPolicy. Berikutnya, hash SHA384 pada tanda tangan manifes Image4 AuxKC ditempatkan ke LocalPolicy untuk menghindari kemungkinan pencampuran dan pencocokan AuxKC yang ditanda tangan sebelumnya ke sistem operasi pada waktu boot. Jika bidangauxi
ditemukan di LocalPolicy, iBoot akan mencoba untuk memuat AuxKC dari penyimpanan dan memvalidasi tanda tangannya. iBoot juga memverifikasi bahwa hash manifes Image4 yang dilampirkan ke AuxKC sesuai dengan nilai yang ditemukan di bidangauxi
. Jika AuxKC gagal dimuat untuk alasan apa pun, sistem melanjutkan boot tanpa objek boot ini, dan (maka) tanpa ada kext pihak ketiga yang dimuat. Bidangauxp
adalah prasyarat untuk mengatur bidang auxi di LocalPolicy. Pengguna mengubah nilaiauxi
secara implisit saat mereka mengubah UAKL dengan menyetujui kext dari panel Privasi & Keamanan di Pengaturan Sistem (macOS 13 atau lebih baru) atau panel Keamanan & Privasi di Preferensi Sistem (macOS 12 atau lebih lama).
Hash Penerimaan Kumpulan Kernel Pembantu (AuxKC) (auxr)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: macOS
Deskripsi:
auxr
adalah hash SHA384 penerimaan AuxKC, yang menandakan kumpulan kext persis yang disertakan ke AuxKC. Penerimaan AuxKC dapat berupa subset UAKL, karena kext dapat dikecualikan dari AuxKC bahkan jika kext disahkan pengguna, jika diketahui dapat digunakan untuk serangan. Selain itu, beberapa kext yang dapat digunakan untuk merusak batas kernel pengguna dapat menyebabkan berkurangnya fungsionalitas seperti ketidakmampuan dalam menggunakan Apple Pay atau memutar konten 4K dan HDR. Pengguna yang menginginkan kemampuan ini harus memilih penyertaan AuxKC yang lebih dibatasi. Bidangauxp
adalah prasyarat untuk mengatur bidangauxr
di LocalPolicy. Pengguna mengubah nilaiauxr
secara implisit saat mereka membangun AusKC baru dari panel Privasi & Keamanan di Pengaturan Sistem (macOS 13 atau lebih baru) atau panel Keamanan & Privasi di Preferensi Sistem (macOS 12 atau lebih lama).
Hash Manifes Image4 CustomOS (coih)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: 1TR
Deskripsi:
coih
adalah hash SHA384 dari manifes Image4 CustomOS. Muatan untuk manifes tersebut digunakan oleh iBoot (bukan kernel XNU) untuk mentransfer kontrol. Pengguna mengubah nilaicoih
secara implisit saat menggunakan alat baris perintahkmutil configure-boot
pada 1TR.
UUID grup volume APFS (vuid)
Jenis: OctetString (16)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi:
vuid
menandakan grup volume yang harus digunakan kernel sebagai root. Bidang ini sebagian besar digunakan untuk informasi dan tidak digunakan untuk pembatasan keamanan.vuid
ini diatur oleh pengguna secara implisit saat membuat penginstalan sistem operasi baru.
UUID Grup kunci enkripsi kunci (KEK) (kuid)
Jenis: OctetString (16)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi:
kuid
menandakan volume yang di-boot. Kunci enkripsi kunci biasanya telah digunakan untuk Perlindungan Data. Untuk setiap LocalPolicy, KEK digunakan untuk melindungi kunci penandatanganan LocalPolicy.kuid
diatur oleh pengguna secara implisit saat membuat penginstalan sistem operasi baru.
Pengukuran Kebijakan Boot Tepercaya recoveryOS yang dipasangkan (prot)
Jenis: OctetString (48)
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi: Pengukuran Kebijakan Boot Tepercaya recoveryOS yang dipasangkan (TBPM) adalah kalkulasi hash SHA384 iteratif khusus melalui manifes Image4 LocalPolicy, kecuali nilai anti-pemutaran ulang, untuk memberikan pengukuran yang konsisten sepanjang waktu (karena nilai anti-pemutaran ulang seperti
lpnh
sering diperbarui). Bidangprot
, yang hanya ditemukan di setiap LocalPolicy macOS, menyediakan pasangan untuk menandakan LocalPolicy recoveryOS yang sesuai dengan LocalPolicy macOS.
Memiliki Kebijakan Lokal recoveryOS yang Ditandatangani Secure Enclave (hrlp)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi:
hrlp
menandakan apakah nilaiprot
(di atas) adalah pengukuran LocalPolicy recoveryOS yang ditandatangani oleh Secure Enclave atau tidak. Jika tidak, LocalPolicy recoveryOS ditandatangani oleh server penandatanganan online Apple, yang menandatangani item seperti file Image4 macOS.
Versi Sistem Operasi Lokal (love)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR, recoveryOS, macOS
Deskripsi:
love
menandakan versi OS tujuan pembuatan LocalPolicy. Versi diperoleh dari manifes status berikutnya selama pembuatan LocalPolicy dan digunakan untuk memberlakukan pembatasan pemasangan recoveryOS.
Multi-Boot Aman (smb0)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR, recoveryOS
Deskripsi: Jika
smb0
ada dan benar, LLB memungkinkan manifes Image4 tahap berikutnya untuk ditandatangani secara global, alih-alih memerlukan tanda tangan yang disesuaikan. Pengguna dapat mengubah bidang ini dengan Utilitas Keamanan Mulai ataubputil
untuk menurunkan ke Keamanan Dikurangi.
Multi-Boot Aman (smb1)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR
Deskripsi: Jika
smb1
ada dan benar, iBoot memungkinkan objek seperti kumpulan kernel khusus untuk ditandatangani oleh Secure Enclave dengan kunci yang sama seperti LocalPolicy. Keberadaansmb0
adalah prasyarat untuk adanyasmb1
. Pengguna dapat mengubah bidang ini menggunakan alat baris perintah seperticsrutil
ataubputil
untuk menurunkan ke Keamanan Permisif.
Multi-Boot Aman (smb2)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR
Deskripsi: Jika
smb2
ada dan benar, iBoot memungkinkan Kumpulan Kernel Pembantu untuk ditandatangani oleh Secure Enclave dengan kunci yang sama seperti LocalPolicy. Keberadaansmb0
adalah prasyarat untuk adanyasmb2
. Pengguna dapat mengubah bidang ini menggunakan Utilitas Keamanan Mulai ataubputil
untuk menurunkan ke Keamanan Dikurangi dan mengaktifkan kext pihak ketiga.
Multi-Boot Aman (smb3)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR
Deskripsi: Jika
smb3
ada dan benar, pengguna di perangkat telah memilih kontrol mobile device management (MDM) pada perangkatnya. Keberadaan bidang ini membuat aplikasi prosesor Secure Enclave yang mengontrol LocalPolicy menerima pengesahan MDM alih-alih memerlukan pengesahan pengguna lokal. Pengguna dapat mengubah bidang ini menggunakan Utilitas Keamanan Mulai ataubputil
untuk mengaktifkan kontrol yang dikelola pada kext pihak ketiga dan pembaruan perangkat lunak. (Di macOS 11.2 atau lebih baru, MDM juga dapat memulai pembaruan ke versi macOS terbaru jika mode keamanan saat ini adalah Keamanan Penuh.)
Multi-Boot Aman (smb4)
Jenis: Boolean
Lingkungan yang dapat berubah: macOS
Deskripsi: Jika
smb4
ada dan benar, perangkat telah memilih kontrol MDM pada sistem operasi menggunakan Apple School Manager, Apple Business Manager, atau Apple Business Essentials. Keberadaan bidang ini membuat aplikasi Secure Enclave yang mengontrol LocalPolicy menerima pengesahan MDM alih-alih memerlukan pengesahan pengguna lokal. Bidang ini diubah oleh solusi MDM saat perangkat lunak mendeteksi bahwa nomor seri perangkat muncul di salah satu dari ketiga layanan tersebut.
Perlindungan Integritas Sistem (sip0)
Jenis: Integer 64 bit yang tidak ditandatangani
Lingkungan yang dapat berubah: 1TR
Deskripsi:
sip0
menyimpan bit kebijakan Perlindungan Integritas Sistem (SIP) yang sebelumnya disimpan di NVRAM. Bit kebijakan SIP baru ditambahkan di sini (alih-alih menggunakan bidang LocalPolicy seperti di bawah), jika bit hanya digunakan di macOS, dan tidak digunakan oleh LLB. Pengguna dapat mengubah bidang ini menggunakancsrutil
dari 1TR untuk menonaktifkan SIP dan menurunkan ke Keamanan Permisif.
Perlindungan Integritas Sistem (sip1)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR
Deskripsi: Jika
sip1
ada dan benar, iBoot mengizinkan kegagalan untuk memverifikasi hash root volume SSV. Pengguna dapat mengubah bidang ini menggunakancsrutil
ataubputil
dari 1TR.
Perlindungan Integritas Sistem (sip2)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR
Deskripsi: Jika sip2 ada dan benar, iBoot tidak akan mengunci register perangkat keras Area Hanya Baca Teks yang Dapat Dikonfigurasi (CTRR) yang menandai memori kernel sebagai tidak dapat ditulisi. Pengguna dapat mengubah bidang ini menggunakan
csrutil
ataubputil
dari 1TR.
Perlindungan Integritas Sistem (sip3)
Jenis: Boolean
Lingkungan yang dapat berubah: 1TR
Deskripsi: Jika
sip3
ada dan benar, iBoot tidak akan memberlakukan daftar izin internalnya untuk variabel NVRAM boot-args, yang sebaliknya akan memfilter pilihan yang diteruskan ke kernel. Pengguna dapat mengubah bidang ini menggunakancsrutil
ataubputil
dari 1TR.
Sertifikat dan RemotePolicy
Seperti yang dijelaskan di Pembuatan dan manajemen kunci penandatanganan LocalPolicy, Image4 LocalPolicy juga berisi Sertifikat Identitas Pemilik (OIC) dan RemotePolicy yang disematkan.