Santa adalah sistem otorisasi akses biner dan file untuk macOS. Ini terdiri dari ekstensi sistem yang memantau eksekusi, daemon yang membuat keputusan eksekusi berdasarkan konten database lokal, agen GUI yang memberi tahu pengguna jika ada keputusan blok dan utilitas baris perintah untuk mengelola sistem dan menyinkronkan database dengan server.
Dinamakan Santa karena melacak biner yang nakal atau bagus.
Dokumen Santa disimpan di direktori Dokumen dan diterbitkan di https://santa.dev.
Dokumen tersebut mencakup opsi penerapan, detail tentang cara kerja Sinterklas, dan instruksi untuk mengembangkan Sinterklas itu sendiri.
Jika Anda memiliki pertanyaan atau memerlukan bantuan untuk memulai, grup santa-dev adalah tempat yang tepat.
Jika Anda yakin ada bug, silakan laporkan masalahnya dan kami akan meresponsnya sesegera mungkin.
Jika Anda yakin telah menemukan kerentanan, harap baca kebijakan keamanan untuk pelaporan pengungkapan.
Beberapa mode: Dalam mode MONITOR default, semua biner kecuali yang ditandai sebagai diblokir akan diizinkan untuk berjalan, saat dicatat dan dicatat dalam database peristiwa. Dalam mode LOCKDOWN, hanya biner terdaftar yang diperbolehkan untuk dijalankan.
Pencatatan peristiwa: Saat ekstensi sistem dimuat, semua peluncuran biner dicatat. Saat berada dalam mode mana pun, semua biner yang tidak dikenal atau ditolak disimpan dalam database untuk mengaktifkan agregasi nanti.
Aturan berbasis sertifikat, dengan tingkat penggantian: Daripada mengandalkan hash biner (atau 'sidik jari'), file yang dapat dieksekusi dapat diizinkan/diblokir dengan sertifikat penandatanganannya. Oleh karena itu, Anda dapat mengizinkan/memblokir semua biner oleh penerbit tertentu yang ditandatangani dengan sertifikat tersebut di seluruh pembaruan versi. Biner hanya dapat diizinkan oleh sertifikatnya jika tanda tangannya divalidasi dengan benar, namun aturan untuk sidik jari biner akan mengesampingkan keputusan untuk sertifikat; yaitu Anda dapat memasukkan sertifikat ke dalam daftar yang diizinkan sambil memblokir biner yang ditandatangani dengan sertifikat tersebut, atau sebaliknya.
Aturan berbasis jalur (melalui NSRegularExpression/ICU): Ini memungkinkan fitur serupa dengan yang ditemukan di Klien Terkelola (pendahulu profil konfigurasi, yang menggunakan mekanisme implementasi yang sama), Pembatasan Peluncuran Aplikasi melalui biner mcxalr. Implementasi ini membawa manfaat tambahan karena dapat dikonfigurasi melalui regex, dan tidak bergantung pada LaunchServices. Sebagaimana dirinci di wiki, ketika mengevaluasi aturan, hal ini memiliki prioritas paling rendah.
Aturan sertifikat yang aman dari kegagalan: Anda tidak dapat memasukkan aturan penolakan yang akan memblokir sertifikat yang digunakan untuk menandatangani peluncuran, alias pid 1, dan oleh karena itu semua komponen yang digunakan di macOS. Oleh karena itu, biner di setiap pembaruan OS (dan dalam beberapa kasus seluruh versi baru) secara otomatis diizinkan. Hal ini tidak memengaruhi biner dari App Store Apple, yang menggunakan berbagai sertifikat yang berubah secara berkala untuk aplikasi umum. Demikian pula, Anda tidak dapat memblokir Sinterklas itu sendiri, dan Sinterklas menggunakan sertifikat terpisah yang berbeda dari aplikasi Google lainnya.
Komponen Userland memvalidasi satu sama lain: masing-masing komponen userland (daemon, agen GUI, dan utilitas baris perintah) berkomunikasi satu sama lain menggunakan XPC dan memeriksa apakah sertifikat penandatanganannya identik sebelum komunikasi apa pun diterima.
Caching: biner yang diperbolehkan di-cache sehingga pemrosesan yang diperlukan untuk membuat permintaan hanya dilakukan jika biner belum di-cache.
Tidak ada satu sistem atau proses yang dapat menghentikan semua serangan, atau memberikan keamanan 100%. Santa ditulis dengan tujuan membantu melindungi pengguna dari diri mereka sendiri. Orang sering kali mengunduh malware dan memercayainya, memberikan kredensial malware tersebut, atau mengizinkan perangkat lunak tak dikenal mengambil lebih banyak data tentang sistem Anda. Sebagai komponen yang dikelola secara terpusat, Santa dapat membantu menghentikan penyebaran malware di antara sejumlah besar mesin. Secara mandiri, Santa dapat membantu menganalisis apa yang berjalan di komputer Anda.
Sinterklas adalah bagian dari strategi pertahanan mendalam, dan Anda harus terus melindungi tuan rumah dengan cara apa pun yang Anda inginkan.
Santa hanya memblokir eksekusi (execve dan varian), tidak melindungi terhadap pustaka dinamis yang dimuat dengan dlopen, pustaka pada disk yang telah diganti, atau pustaka yang dimuat menggunakan DYLD_INSERT_LIBRARIES
.
Skrip: Santa saat ini ditulis untuk mengabaikan eksekusi apa pun yang bukan biner. Hal ini karena setelah mempertimbangkan biaya administrasi vs manfaatnya, kami merasa hal tersebut tidak bermanfaat. Selain itu, sejumlah aplikasi menggunakan skrip yang dibuat sementara, yang tidak mungkin kami izinkan dan jika tidak dilakukan, akan menimbulkan masalah. Kami akan dengan senang hati meninjaunya kembali (atau setidaknya menjadikannya pilihan) jika ini berguna bagi orang lain.
Klien baris perintah santactl
menyertakan tanda untuk disinkronkan dengan server manajemen, yang mengunggah peristiwa yang terjadi pada mesin dan mengunduh aturan baru. Ada beberapa server sumber terbuka yang dapat Anda sinkronkan:
Alternatifnya, santactl
dapat mengonfigurasi aturan secara lokal (tanpa server sinkronisasi).
Alat seperti Sinterklas tidak cocok untuk mengambil tangkapan layar, jadi inilah videonya.
Patch pada proyek ini sangat kami harapkan. Silakan lihat dokumen KONTRIBUSI.
Ini bukan produk resmi Google.