
deadair v0.4.0
يجد قواعد الكشف في نظام SIEM الخاص بك التي تعمل عمياء.
صحة كشف SIEM مفتوحة المصدر.
ابحث عن الكشوفات المفعّلة العمياء لأن بياناتها التتبعية مفقودة، أو قديمة، أو متأخرة، أو
غير متوافقة مع المخطط.
يعمل محليًا · للقراءة فقط · بدون وكيل · بدون رفع بيانات تتبعية
اقرأ الشرح التقني · مميز في Detection Engineering Weekly · مميز في tl;dr sec #341
فحص حقيقي لمختبر Elastic قابل للتصرف مع بيانات تتبعية مفقودة، قديمة، متأخرة، وغير مستخدمة عمدًا. افتح الصورة لإعادة التشغيل القصيرة، أو أعد إنتاجها باستخدام make record-scan-lab.
لماذا deadair
يمكن أن تكون القاعدة مفعّلة، ومجدولة، وخالية من الأخطاء بعد اختفاء البيانات التي تحتاجها. يقرأ deadair مخزون القواعد الحية، ويحل مدخلات كل قاعدة باستخدام دلالات الواجهة الخلفية الأصلية، ويفحص المصادر الملموسة خلفها.
يكتشف:
- القواعد التي لا تُحل مؤشرات الفهرس أو الاسم المستعار أو دفق البيانات الخاصة بها إلى شيء؛
- القواعد ذات المحددات المختلطة حيث اختفى أحد المدخلات المعلنة بينما لا يزال آخر يُحل؛
- القواعد التي تكون جميع مصادرها المطابقة قديمة أو فارغة؛
- على Elastic، القواعد التي تعمل بحقول معلنة مفقودة؛
- على Elastic وقواعد Sentinel المجدولة المؤهلة، نافذة عمياء لتأخر الإدخال؛
- على Sentinel، القواعد التي تستخدم مصادرها المعروفة خطة جدول Basic أو Auxiliary غير متوافقة؛
- على Elastic وOpenSearch، بيانات تتبعية سليمة لا يقرأها أي كشف مفعّل.
يدعم deadair Elastic Security وOpenSearch Security Analytics وMicrosoft Sentinel.
بدء سريع
نزّل ملفًا ثنائيًا لنظام macOS أو Linux أو Windows من GitHub Releases، أو ثبّته باستخدام Go:
go install github.com/alephnull-sh/deadair/cmd/deadair@latest
اطبع الإعداد للقراءة فقط الخاص بـ SIEM الخاص بك:
deadair setup elastic # Elastic Security
deadair setup opensearch # OpenSearch Security Analytics
deadair setup sentinel # Microsoft Sentinel
شغّل إعدادًا واحدًا، ثم تحقق وافحص:
deadair check # تحقق من أن بيانات الاعتماد يمكنها الفحص
deadair scan # تقييم القواعد الحية والبيانات التتبعية
رموز الخروج مستقرة: 0 يجتاز البوابة المكوّنة، 1 يعني نتائج محجوبة، و2 يعني فشل الفحص.
كيف يعمل
| المرحلة | ما يفعله deadair |
|---|---|
| المخزون | يقرأ الكشوفات المفعّلة والمدخلات التي تعلنها |
| الحل | يستخدم حل الفهرس الأصلي على Elastic وOpenSearch؛ على Sentinel، يجمع تحليل KQL مع أدلة الجدول وقائمة المراقبة والدالة المحفوظة وASIM ومساحة العمل المتقاطعة المعيّنة |
| القياس | يفحص حداثة المصدر وتوقيته، بالإضافة إلى المخطط والتخزين حيث تدعم الواجهة الخلفية ذلك |
| التقرير | يصدر مقاييس طرفية وJSON وHTML وتجميعات الأسطول وPrometheus مع الأدلة وراء كل حكم |
يتبع Sentinel نفس نموذج القاعدة إلى المصدر. يفهم محوله أيضًا قوائم المراقبة الحرفية، والدوال المحفوظة، ومحللات ASIM، ومساحات العمل المعيّنة، ونسب الجدول الملخص. عندما يوفر Azure أدلة كافية، يمكن لـ deadair إظهار أن شريحة مفلترة واحدة من جدول مشترك أصبحت هادئة أو أن خط أنابيب الملخص تخلف عن الركب. هذان الفحصان استشاريان؛ لا يغيران البوابة. يصف دليل الاستخدام قواعد الأدلة، و سجل التحقق يسجل تغطية الاختبار الحي.
فحص حي لمختبر Sentinel قابل للتصرف مزروع ببيانات تتبعية مفقودة وقديمة ومتأخرة وغير متوافقة. افتح الصورة لإعادة التشغيل القصيرة. راجع سجل توافق Azure المنفصل لاختبارات القراءة فقط ورفض الكتابة.
يفحص deadair ما إذا كانت البيانات التتبعية للكشف موجودة وسليمة. لا يتحقق من منطق القاعدة أو يثبت أن هجومًا محاكى سيطلق تنبيهًا. استخدم التحقق الثابت من القاعدة واختبارات الكشف من البداية إلى النهاية لتلك المهام.
النتائج
| النتيجة | المعنى | الفحص الأول |
|---|---|---|
| لا يوجد مصدر مطابق | لا يُحل أي من مدخلات القاعدة إلى فهرس أو دفق بيانات أو جدول Sentinel مرئي | تغييرات النمط، والتكاملات المفقودة، ونطاق بيانات الاعتماد |
| جميع المصادر قديمة أو فارغة | كل مصدر مُحل غير قابل للاستخدام الآن | إيقاع المصدر ومسار الإدخال |
| حقول مفقودة | حقل معلن في قاعدة Elastic غائب أو غير قابل للبحث في مصدر أو أكثر مُحل بعد قراءة كل تعيين مصدر | تغييرات المحلل والحزمة والتعيين |
| نافذة عمياء للتأخر | تأخر الإدخال p95 للأحداث المقترنة يتجاوز هامش الاسترجاع للقاعدة | فاصل القاعدة، والاسترجاع، وتجاوز الطابع الزمني، وتأخير خط الأنابيب |
| تغطية إدخال جزئية | يُحل التعبير الكامل، لكن محددًا إيجابيًا واحدًا داخله يُحل فارغًا | الترحيلات، والمحددات الاحتياطية، والبدائل المتوقعة؛ إعلامي ما لم تفرضه السياسة |
| خطة مصدر غير متوافقة | تعتمد قاعدة Sentinel على جدول Basic أو Auxiliary غير مؤهل لمسار أدلة قاعدة التحليلات | خطة الجدول ونوع القاعدة |
| تدهور المصدر | المصدر قديم أو فارغ أو منخفض الحجم أو منحرف المخطط | تاريخ المصدر والصيانة المتوقعة |
| بيانات تتبعية غير مستخدمة | على Elastic أو OpenSearch، يتم تخزين البيانات لكن لا يُحل أي كشف محلي مفعّل إليها | القواعد المعطلة والجمع المتعمد |
كل حكم محدود بما يمكن لبيانات الاعتماد المكوّنة رؤيته. تتضمن تقارير JSON التعبيرات المكوّنة، والمصادر المُحلّة، وطريقة الحل، وحالة التقييم، وبيانات الواجهة الخلفية الوصفية، وأدلة القدرات. راجع دليل الاستخدام للحصول على أمثلة عملية وفرز.
توصيل SIEM
Elastic:
export DEADAIR_ES_URL=https://es.example.internal:9200
export DEADAIR_KIBANA_URL=https://kibana.example.internal:5601
export DEADAIR_API_KEY=<read-only-api-key>
deadair check
deadair scan --json-out report.json --html-out report.html
OpenSearch:
export DEADAIR_BACKEND=opensearch
export DEADAIR_OPENSEARCH_URL=https://opensearch.example.internal:9200
export DEADAIR_OPENSEARCH_USERNAME=deadair
export DEADAIR_OPENSEARCH_PASSWORD=<password>
deadair check
deadair scan
Microsoft Sentinel:
az login --tenant <tenant-id>
export DEADAIR_BACKEND=sentinel
export DEADAIR_AZURE_SUBSCRIPTION_ID=<subscription-id>
export DEADAIR_AZURE_RESOURCE_GROUP=<resource-group>
export DEADAIR_SENTINEL_WORKSPACE=<workspace-resource-name>
# اختياري: قائمة السماح JSON لأهداف workspace() الحرفية.
# export DEADAIR_SENTINEL_REMOTES=/restricted/path/sentinel-remotes.json
deadair check
deadair scan
قبل أن يقيم deadair مساحة العمل البعيدة المعيّنة لقاعدة، يجب أن يكون لدى تلك المساحة Sentinel منشورًا. يمكن لتعيينات نفس الاشتراك إثبات توفر المصدر. تحتاج القواعد عبر الاشتراكات إلى أدلة وقت التشغيل المرتبطة بهوية القاعدة الدقيقة. راجع تفاصيل استخدام Sentinel لقواعد الأدلة، وحدود مساحة العمل والمنطقة، وإرشادات الأداء من Microsoft.
استخدم الأدوار للقراءة فقط الموثقة لـ Elastic، أو OpenSearch، أو Microsoft Sentinel.
CI والأساطيل والمراقبة
# قيّم قاعدة مرشحة مقابل توفر المصدر الحي.
deadair scan --rule new-rule.json
# فشل فقط على الانحدارات الجديدة بين التقارير.
deadair diff yesterday.json today.json
# افحص مثيلات SIEM متعددة من عملية واحدة.
deadair scan --fleet fleet.json
# صدّر نتائج الفحص المخزنة مؤقتًا كمقاييس Prometheus.
deadair serve --interval 5m
يعزل scan --rule قاعدة أو كاشفًا مرشحًا أصليًا للواجهة الخلفية عن الأعمال المتراكمة غير ذات الصلة. يعمل diff
مع التقارير المنقحة التي تم إنشاؤها بنفس المفتاح الذي يحتفظ به المتصل. يشير تكوين الأسطول إلى
الأسرار من خلال متغيرات البيئة بدلاً من تخزين قيم الأسرار.
يلف إجراء GitHub الرسمي بوابات المرشحين أحادية المثيل لـ Elastic وOpenSearch وSentinel. يكتب ملخص وظيفة، ويرفع تقرير JSON منقحًا، ويمكنه تطبيق سياسة deadair دون تثبيت قاعدة. تصادق سير عمل Sentinel المشغل على Azure أولاً؛ لا يحدد الإجراء أي مدخلات بيانات اعتماد Azure.
راجع سلوك بوابة CI، نشر الأسطول وMSSP، وأمثلة Prometheus للتكوينات التي يمكنك اختبارها في بيئتك الخاصة.
الواجهات الخلفية المختبرة
| الواجهة الخلفية | التحقق الحي |
|---|---|
| Elastic Security | CI موثوق على 8.19.19 و9.4.4 |
| OpenSearch Security Analytics | CI موثوق على 2.19.6 و3.7.0 |
| Microsoft Sentinel | توافق اختياري مسجل في مساحات عمل UK South القابلة للتصرف؛ راجع حالة التحقق |
تشغيل توافق Sentinel يدوي، وليس CI مجدولًا.
نموذج الأمان
- جميع استدعاءات المحول للقراءة فقط. تتحقق اختبارات Elastic وOpenSearch الموثوقة بالإضافة إلى فحوصات مختبر Sentinel المنفصلة من أن هويات الفحص الموثقة لا يمكنها تنفيذ عمليات كتابة تمثيلية.
- تُكتب التقارير وHTML وملفات الحالة ومخرجات الأسطول بـ
0600على أنظمة POSIX. - يمكن أن تأتي بيانات الاعتماد من متغيرات البيئة أو الملفات، مما يتجنب الأسرار في وسائط العملية.
- يستبدل
--redactمعرفات المستأجر والقاعدة والمصدر والنمط والحقل والتبعية والنسب والأصل ومساحة العمل وقائمة المراقبة والقالب والحزمة بأسماء مستعارة HMAC بمفتاح. لا يتم أبدًا تسلسل تعبيرات فحص التبعية المُتحقق منها ووسائط KQL الخاصة بها. يُمكّن--redact-key-fileالمولّد من بايتات عشوائية أيضًا التنقيح ويحافظ على ثبات الأسماء عبر عمليات التشغيل المنفصلة. - يرتبط المُصدّر بـ loopback افتراضيًا.
- لا يحتوي deadair على سلوك اتصال بالمنزل أو بيانات تتبعية للاستخدام.
تعامل مع التقارير كأصول SOC حساسة: فهي تحدد الكشوفات العمياء، وأسماء المصادر، وفجوات المخطط، والجمع غير المستخدم.
التوثيق
- دليل الاستخدام — الفحوصات الأولى، وأدلة التقرير، والنتائج، وبوابات CI، والحالة، والأساطيل
- حالة التحقق — المسارات المختبرة والحدود الحالية
- البنية — عقد الواجهة الخلفية، ونموذج البيانات، وخصائص الأمان، والحدود
- أفضل الممارسات — ترتيب النشر، وسياق التنبيه، والتوجيه
- دليل MSSP — الأسرار، والتنقيح، والجدولة، ومعالجة فشل المستأجر
- الكشوفات التي تعمل لكنها لا ترى — المشكلة ومحاكاة قابلة لإعادة الإنتاج
المساهمة
تقارير الأخطاء، والتركيبات المعقمة، وحالات الصحة، والتوثيق، ومقترحات الواجهة الخلفية مرحب بها. ابدأ بـ CONTRIBUTING.md واستخدم قالب RFC للواجهة الخلفية لعمل المحول.
الترخيص
Apache-2.0.

