سانتا هو نظام ترخيص الوصول الثنائي والملفات لنظام التشغيل macOS. وهو يتألف من امتداد نظام يراقب عمليات التنفيذ، وبرنامج خفي يتخذ قرارات التنفيذ بناءً على محتويات قاعدة بيانات محلية، ووكيل واجهة المستخدم الرسومية (GUI) الذي يقوم بإعلام المستخدم في حالة اتخاذ قرار الحظر، وأداة مساعدة لسطر الأوامر لإدارة النظام و مزامنة قاعدة البيانات مع الخادم.
تم تسميته باسم سانتا لأنه يتتبع الثنائيات المشاغبة أو اللطيفة.
يتم تخزين مستندات سانتا في دليل المستندات ويتم نشرها على https://santa.dev.
تتضمن المستندات خيارات النشر وتفاصيل حول كيفية عمل أجزاء من سانتا وتعليمات لتطوير سانتا نفسه.
إذا كانت لديك أسئلة أو كنت بحاجة إلى مساعدة للبدء، فإن مجموعة santa-dev هي مكان رائع.
إذا كنت تعتقد أن لديك خطأ ما، فلا تتردد في الإبلاغ عن مشكلة وسنرد عليها في أقرب وقت ممكن.
إذا كنت تعتقد أنك عثرت على ثغرة أمنية، فيرجى قراءة سياسة الأمان الخاصة بالإبلاغ عن الكشف.
أوضاع متعددة: في وضع MONITOR الافتراضي، سيتم السماح بتشغيل جميع الثنائيات باستثناء تلك التي تم وضع علامة عليها على أنها محظورة، أثناء تسجيلها وتسجيلها في قاعدة بيانات الأحداث. في وضع LOCKDOWN، يُسمح فقط بتشغيل الثنائيات المدرجة.
تسجيل الأحداث: عند تحميل ملحق النظام، يتم تسجيل كافة عمليات الإطلاق الثنائية. عندما تكون في أي من الوضعين، يتم تخزين كافة الثنائيات غير المعروفة أو المرفوضة في قاعدة البيانات لتمكين التجميع لاحقًا.
القواعد المستندة إلى الشهادات، مع مستويات التجاوز: بدلاً من الاعتماد على تجزئة الملف الثنائي (أو "بصمة الإصبع")، يمكن السماح/حظر الملفات التنفيذية من خلال شهادة التوقيع الخاصة بها. وبالتالي، يمكنك السماح/حظر جميع الثنائيات بواسطة ناشر معين تم توقيعه بهذه الشهادة عبر تحديثات الإصدار. لا يمكن السماح بالثنائي إلا من خلال شهادته إذا تم التحقق من صحة توقيعه بشكل صحيح ولكن قاعدة بصمة الثنائي ستتجاوز قرار الشهادة؛ على سبيل المثال، يمكنك إدراج شهادة في القائمة المسموح بها أثناء حظر ملف ثنائي موقّع بهذه الشهادة، أو العكس.
القواعد المستندة إلى المسار (عبر NSRegularExpression/ICU): يتيح ذلك ميزة مشابهة لتلك الموجودة في Managed Client (مقدمة لملفات تعريف التكوين، التي تستخدم نفس آلية التنفيذ)، وقيود تشغيل التطبيق عبر ثنائي mcxalr. يحمل هذا التنفيذ فائدة إضافية تتمثل في كونه قابلاً للتكوين عبر regex، وعدم الاعتماد على LaunchServices. كما هو مفصل في الويكي، عند تقييم القواعد، فإن هذا يحمل أدنى الأسبقية.
قواعد الشهادة الآمنة من الفشل: لا يمكنك وضع قاعدة رفض من شأنها حظر الشهادة المستخدمة للتوقيع على Launchd، والمعروف أيضًا باسم pid 1، وبالتالي جميع المكونات المستخدمة في macOS. وبالتالي، يتم السماح تلقائيًا بالثنائيات الموجودة في كل تحديث لنظام التشغيل (وفي بعض الحالات الإصدارات الجديدة بالكامل). لا يؤثر هذا على الثنائيات من متجر تطبيقات Apple، والتي تستخدم شهادات متنوعة تتغير بانتظام للتطبيقات الشائعة. وبالمثل، لا يمكنك حظر سانتا نفسه، ويستخدم سانتا شهادة منفصلة مميزة عن تطبيقات جوجل الأخرى.
تتحقق مكونات Userland من صحة بعضها البعض: يتواصل كل مكون من مكونات Userland (البرنامج الخفي ووكيل واجهة المستخدم الرسومية والأداة المساعدة لسطر الأوامر) مع بعضها البعض باستخدام XPC ويتحقق من تطابق شهادات التوقيع الخاصة بها قبل قبول أي اتصال.
التخزين المؤقت: يتم تخزين الثنائيات المسموح بها مؤقتًا بحيث تتم المعالجة المطلوبة لتقديم طلب فقط إذا لم يتم تخزين الثنائي مؤقتًا بالفعل.
لن يتمكن أي نظام أو عملية واحدة من إيقاف جميع الهجمات أو توفير الأمان بنسبة 100%. تمت كتابة سانتا بهدف المساعدة في حماية المستخدمين من أنفسهم. غالبًا ما يقوم الأشخاص بتنزيل البرامج الضارة والوثوق بها، أو إعطاء بيانات اعتماد البرامج الضارة، أو السماح لبرامج غير معروفة بتصفية المزيد من البيانات حول نظامك. وباعتباره مكونًا مُدارًا مركزيًا، يمكن أن يساعد سانتا في وقف انتشار البرامج الضارة بين أسطول كبير من الأجهزة. بشكل مستقل، يمكن أن يساعد سانتا في تحليل ما يتم تشغيله على جهاز الكمبيوتر الخاص بك.
يعد سانتا جزءًا من إستراتيجية الدفاع المتعمق، ويجب عليك الاستمرار في حماية المضيفين بأي طرق أخرى تراها مناسبة.
يحظر سانتا التنفيذ فقط (execve والمتغيرات)، ولا يحمي من المكتبات الديناميكية المحملة بـ dlopen، أو المكتبات الموجودة على القرص التي تم استبدالها، أو المكتبات المحملة باستخدام DYLD_INSERT_LIBRARIES
.
البرامج النصية: تمت كتابة سانتا حاليًا لتجاهل أي تنفيذ ليس ثنائيًا. وذلك لأنه بعد الموازنة بين تكلفة الإدارة والفائدة، وجدنا أنها لم تكن جديرة بالاهتمام. بالإضافة إلى ذلك، يستخدم عدد من التطبيقات النصوص البرمجية التي تم إنشاؤها مؤقتًا، والتي لا يمكننا إدراجها في القائمة المسموح بها وقد يؤدي عدم القيام بذلك إلى حدوث مشكلات. يسعدنا إعادة النظر في هذا (أو على الأقل جعله خيارًا) إذا كان مفيدًا للآخرين.
يتضمن عميل سطر الأوامر santactl
علامة للمزامنة مع خادم الإدارة، الذي يقوم بتحميل الأحداث التي حدثت على الجهاز وتنزيل القواعد الجديدة. هناك العديد من الخوادم مفتوحة المصدر التي يمكنك مزامنتها معها:
وبدلاً من ذلك، يمكن santactl
تكوين القواعد محليًا (بدون خادم مزامنة).
أداة مثل سانتا لا تصلح حقًا لالتقاط لقطات الشاشة، لذا إليك مقطع فيديو بدلاً من ذلك.
تصحيحات لهذا المشروع هي موضع ترحيب كبير. يرجى الاطلاع على وثيقة المساهمة.
هذا ليس أحد منتجات Google الرسمية.