System Integrity Protection (SIP) adalah kebijakan keamanan keseluruhan dengan tujuan mencegah file sistem dan proses dari dimodifikasi oleh pihak ketiga. Untuk mencapai ini, ia memiliki konsep berikut:
- Perlindungan sistem file
- Perlindungan ekstensi kernel
- Perlindungan runtime
Perlindungan sistem file
SIP mencegah pihak selain Apple dari menambah, menghapus atau memodifikasi direktori dan file yang disimpan dalam direktori tertentu:
/bin
/sbin
/usr
/System
Apple telah mengindikasikan bahwa direktori berikut tersedia untuk diakses oleh pengembang:
/usr/local
/Applications
/Library
~/Library
Semua direktori /usr
kecuali /usr/local
dilindungi oleh SIP.
Dimungkinkan untuk menambah, menghapus atau mengubah file dan direktori yang dilindungi SIP melalui paket installer yang ditandatangani oleh otoritas sertifikat Apple sendiri. Ini memungkinkan Apple untuk membuat perubahan pada bagian OS yang dilindungi SIP tanpa perlu mengubah perlindungan SIP yang ada.
Otoritas sertifikat yang dimaksud disediakan oleh Apple untuk penggunaan mereka sendiri; Paket penginstal yang ditandatangani ID pengembang tidak dapat mengubah file atau direktori yang dilindungi SIP.
Untuk menentukan direktori mana yang dilindungi, Apple saat ini telah menetapkan dua file konfigurasi pada sistem file. Yang utama ditemukan di lokasi di bawah ini:
/System/Library/Sandbox/rootless.conf
di mana rootless.conf
daftar semua aplikasi dan direktori tingkat atas yang dilindungi SIP.
Aplikasi
SIP melindungi aplikasi inti yang diinstal OS X ke dalam Aplikasi dan Utilitas Aplikasi. Ini berarti tidak mungkin lagi menghapus aplikasi yang diinstal OS X, bahkan dari baris perintah saat menggunakan hak akses root.
Direktori
SIP juga melindungi sejumlah direktori dan symlink di luar /Applications
dan tingkat teratas dari direktori tersebut juga terdaftar di rootless.conf
.
Selain perlindungan, Apple juga mendefinisikan beberapa pengecualian untuk perlindungan SIP dalam file rootless.conf, dan pengecualian itu ditandai dengan asterix. Pengecualian dari perlindungan SIP ini berarti bahwa dimungkinkan untuk menambah, menghapus, atau mengubah file dan direktori di dalam lokasi tersebut.
Di antara pengecualian itu adalah sebagai berikut:
/System/Library/User Template
- tempat OS X menyimpan direktori templat yang digunakan saat membuat folder rumah untuk akun baru.
/usr/libexec/cups
- tempat OS X menyimpan informasi konfigurasi printer
Apple menganggap file ini milik mereka dan bahwa perubahan pihak ketiga apa pun akan ditimpa oleh Apple.
Untuk melihat file mana yang telah dilindungi oleh SIP, gunakan ls
perintah dengan huruf kapital O di Terminal:
ls -O
File yang dilindungi SIP akan diberi label sebagai dibatasi .
Satu pemikiran penting yang perlu diketahui adalah bahwa meskipun symlink dilindungi oleh SIP, itu tidak berarti bahwa direktori yang mereka tautkan sedang dilindungi oleh SIP. Pada level root dari boot drive OS X El Capitan, ada beberapa symlink yang dilindungi SIP yang menunjuk ke direktori yang disimpan di dalam direktori level root bernama private
.
Namun, ketika isi private
direktori diperiksa, direktori yang ditunjuk oleh symlinks tidak dilindungi oleh SIP dan keduanya beserta isinya dapat dipindahkan, diedit atau diubah dengan proses menggunakan hak akses root.
Selain daftar pengecualian SIP yang telah ditetapkan Apple rootless.conf
, ada daftar pengecualian SIP kedua. Daftar ini mencakup sejumlah direktori dan nama aplikasi untuk produk pihak ketiga. Serupa dengan rootless.conf
, daftar pengecualian ini adalah perubahan Apple dan pihak ketiga mana pun akan ditimpa oleh Apple.
/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths
Perlindungan runtime
Perlindungan SIP tidak terbatas untuk melindungi sistem dari perubahan sistem file. Ada juga panggilan sistem yang sekarang dibatasi fungsinya.
- task_for_pid () / processor_set_tasks () gagal dengan EPERM
- Port khusus Mach diatur ulang pada exec (2)
- variabel lingkungan dyld diabaikan
- Probe DTrace tidak tersedia
Namun, SIP tidak memblokir inspeksi oleh pengembang aplikasi mereka sendiri saat sedang dikembangkan. Alat Xcode akan terus memungkinkan aplikasi untuk diperiksa dan didebug selama proses pengembangan.
Untuk detail lebih lanjut tentang ini, saya akan merekomendasikan untuk melihat dokumentasi pengembang Apple untuk SIP .
Perlindungan ekstensi kernel
SIP memblokir pemasangan ekstensi kernel yang tidak ditandatangani. Untuk menginstal ekstensi kernel pada OS X El Capitan dengan SIP diaktifkan, ekstensi kernel harus:
- Ditandatangani dengan ID Pengembang untuk menandatangani sertifikat Kexts
- Instal ke / Library / Extensions
Jika menginstal ekstensi kernel yang tidak ditandatangani, SIP harus dinonaktifkan terlebih dahulu.
Untuk informasi lebih lanjut tentang mengelola SIP, silakan lihat tautan di bawah ini:
Perlindungan Integritas Sistem - Menambahkan lapisan lain ke model keamanan Apple
sudo
dan prompt kata sandi telah berfungsi seperti biasa / sebelumnya / diharapkan. Jadi, mungkin jawabannya adalah "sebagian besar waktu Anda tidak akan melihat; ketika Anda melakukannya, Anda akan melihat keras."