
deadair v0.5.1
يعثر على قواعد الكشف في نظام SIEM لديك التي تعمل بشكل أعمى.
صحة كشف SIEM مفتوحة المصدر.
ابحث عن الكشوفات المُفعّلة العمياء لأن بيانات التليمتري الخاصة بها مفقودة أو قديمة أو متأخرة أو غير متوافقة مع المخطط.
يعمل محليًا · للقراءة فقط · بدون وكيل · بدون رفع بيانات تليمتري
اقرأ الشرح التقني · مميز في نشرة Detection Engineering Weekly
فحص حقيقي لمختبر Elastic مؤقت يحتوي عمدًا على بيانات تليمتري مفقودة وقديمة ومتأخرة وغير مستخدمة. أعد إنتاجه باستخدام make record-scan-lab.
لماذا deadair
قد تكون القاعدة مُفعّلة ومجدولة وخالية من الأخطاء بينما تكون البيانات التي تحتاجها قد اختفت. يقرأ deadair جرد القواعد الحيّ، ويحلّل مدخلات كل قاعدة باستخدام الدلالات الأصيلة للنظام الخلفي، ويفحص المصادر الفعلية الكامنة خلفها.
وهو يلتقط:
- القواعد التي لا تُحيل محددات فهرسها أو اسمها المستعار أو دفق بياناتها إلى أي شيء؛
- القواعد التي تكون جميع مصادرها المطابقة قديمة أو فارغة؛
- القواعد التي تعمل بحقول مفقودة أو بنافذة عمياء بسبب تأخر الإدخال؛
- البيانات التليومترية السليمة التي لا يقرؤها أي كشف مُفعّل.
يعمل deadair حاليًا مع Elastic Security وOpenSearch Security Analytics.
بدء سريع
نزّل ملفًا تنفيذيًا لنظام macOS أو Linux أو Windows من GitHub Releases، أو ثبّته باستخدام Go:
go install github.com/alephnull-sh/deadair/cmd/deadair@latest
اربط بيانات اعتماد SIEM للقراءة فقط:
deadair setup elastic # print the least-privilege setup
deadair check # verify the credential can scan
deadair scan # assess live rules and telemetry
أكواد الخروج ثابتة: 0 تعني صحي، و1 تعني وجود نتائج، و2 تعني فشل الفحص.
كيف يعمل
| المرحلة | ما يفعله deadair |
|---|---|
| الجرد | يقرأ الكشوفات المُفعّلة والمدخلات التي تُصرّح بها |
| التحليل | يطلب من Elastic أو OpenSearch تحليل أنماط الفهارس والأسماء المستعارة ودفقات البيانات والمحددات والمدخلات البعيدة |
| القياس | يفحص عدد المستندات وأحدث حدث والتخزين وخرائط الحقول وتاريخ المخطط وتأخر الإدخال |
| التقرير | يُصدر مخرجات طرفية وJSON وHTML وملخصات أسطول ومقاييس Prometheus مع الأدلة التي تدعم كل حكم |
يُثبت deadair ما إذا كانت المتطلبات التليومترية القابلة للملاحظة للكشف موجودة وسليمة. وهو لا يُثبت أن منطق القاعدة صحيح أو أن هجومًا محاكى سينتج تنبيهًا. اقرنه بالتحقق الثابت من القواعد واختبار الكشف الشامل من طرف إلى طرف لهذه الطبقات.
النتائج
| النتيجة | المعنى | أول فحص |
|---|---|---|
| لا يوجد مصدر مطابق | لا يُحيل أي من مدخلات القاعدة إلى فهرس أو دفق بيانات مرئي | تغييرات النمط والوحدات التكاملية المفقودة ونطاق بيانات الاعتماد |
| كل المصادر قديمة أو فارغة | كل مصدر تم تحليله غير قابل للاستخدام الآن | إيقاع المصدر ومسار الإدخال |
| حقول مفقودة | الحقول المُصرَّح بها غائبة من كل تعيين مصدر مطابق | تغييرات المحلل والحزمة والتعيين |
| نافذة عمياء لتأخر الإدخال | يتجاوز تأخر الإدخال المقاس هامش الاسترجاع للقاعدة | فاصل القاعدة والاسترجاع وتجاوز الطابع الزمني وتأخير خط المعالجة |
| تدهور المصدر | يكون المصدر قديمًا أو فارغًا أو منخفض الحجم أو منحرفًا عن المخطط | تاريخ المصدر والصيانة المتوقعة |
| بيانات تليمتري غير مستخدمة | تُخزَّن البيانات لكن لا يُحيل إليها أي كشف محلي مُفعّل | القواعد المعطّلة والجمع المقصود |
كل حكم يقتصر على ما يمكن لبيانات الاعتماد المهيأة رؤيته. تتضمن تقارير 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
استخدم الأدوار ذات الامتياز الأدنى الموثقة لـElastic أو OpenSearch. كما تُثبت مجموعة الاختبارات التكاملية الموثوقة أن محاولات الكتابة باستخدام بيانات الاعتماد هذه مرفوضة.
CI والأساطيل والمراقبة
# Gate a candidate rule against live source availability.
deadair scan --rule new-rule.json
# Fail only on new regressions between reports.
deadair diff yesterday.json today.json
# Scan multiple SIEM instances from one process.
deadair scan --fleet fleet.json
# Export cached scan results as Prometheus metrics.
deadair serve --interval 5m
يعزل scan --rule القاعدة المرشحة عن الأعمال المتراكمة غير المرتبطة. يعمل diff مع تقارير منقّحة حتميًا. تشير إعدادات الأسطول إلى الأسرار عبر متغيرات البيئة بدلًا من تخزين قيم سرية.
بوابة لقاعدة مرشحة وفرق بين تقارير مقابل بيئة Elastic مؤقتة.
راجع سلوك بوابة CI ونشر الأسطول ومزوّدي خدمات MSSP وأمثلة Prometheus للأنماط الإنتاجية.
الأنظمة الخلفية المختبرة
يختبر سير عمل التكامل حاليًا هذه الإصدارات المحددة:
| النظام الخلفي | الإصدارات المحددة في CI المباشر |
|---|---|
| Elastic Security | 8.19.19, 9.4.4 |
| OpenSearch Security Analytics | 2.19.6, 3.7.0 |
قد تعمل إصدارات أخرى لكنها غير مشمولة بمصفوفة CI الحالية.
نموذج الأمان
- كل الوصول إلى النظام الخلفي للقراءة فقط؛ تُثبت اختبارات التكامل الموثوقة أن بيانات الاعتماد الموثقة لا يمكنها الكتابة.
- تُكتب التقارير وملفات HTML وملفات الحالة ومخرجات الأسطول بصلاحيات
0600على أنظمة POSIX. - يمكن أن تأتي بيانات الاعتماد من متغيرات بيئة أو ملفات، مما يتجنب الأسرار في وسائط العمليات.
- يستبدل
--redactأسماء المستأجرين والقواعد والمصادر والأنماط والحقول بملخصات رقمية ثابتة. - يرتبط المُصدِّر بالحلقة المحلية افتراضيًا.
- ليس لدى deadair سلوك اتصال بالخادم الأساسي أو بيانات استخدام تليمتري.
تعامل مع التقارير على أنها أدوات SOC حسّاسة: فهي تحدد الكشوفات العمياء وأسماء المصادر وثغرات المخطط والبيانات المجموعة غير المستخدمة.
التوثيق
- دليل الاستخدام — الفحوصات الأولى وأدلة التقارير والنتائج وبوابات CI والحالة والأساطيل
- التحقق والاختبار الذاتي — ما تم إثباته وما لا يزال يحتاج إلى أدلة ميدانية
- البنية — عقد النظام الخلفي ونموذج البيانات وخصائص الأمان والحدود
- أفضل الممارسات — ترتيب النشر وسياق التنبيه والتوجيه
- دليل MSSP — الأسرار والتنقيح والاحتفاظ وتحديد الحجم ومعالجة أعطال المستأجرين
- كشوفات تعمل لكنها لا ترى — المشكلة ومحاكاة قابلة لإعادة الإنتاج
المساهمة
نرحب بتقارير الأخطاء والبيانات التجريبية المنقّحة وحالات الصحة والتوثيق ومقترحات الأنظمة الخلفية. ابدأ بـ CONTRIBUTING.md واستخدم قالب RFC الخاص بالأنظمة الخلفية لأعمال المحولات.
الترخيص
Apache-2.0.