أنا سيرجي روبليف ، رئيس مركز العمليات الأمنية (SOC) في Infosecurity.
في هذه المقالة ، سأدرس بالتفصيل المشروع الطموح
لقواعد سيغما ، شعاره هو: "سيغما للسجلات يشبه سنورت لحركة المرور ويارا للملفات."

سيكون حول ثلاثة جوانب:
- قابلية تطبيق بناء جملة Sigma-rule للحفاظ على قاعدة معرفة من البرامج النصية الخاصة بالكشف عن التهديد
- قدرات أدوات إنشاء القواعد لأنظمة SIEM المعبأة
- قيمة SOC للمحتوى الحالي للمستودعات العامة لقواعد Sigma
ذات مرة ، في مجرة بعيدة بعيدة
بدأ كل شيء منذ بضع سنوات عندما كانت الأشجار كبيرة ، وكان فريق المراقبة التابع لنا صغيرًا. لقد واجهنا الكثير من الأسئلة ، أي فريق يكبر إلى ثلاثة أشخاص يمر بهذا.

أسباب ظهور الأسئلة مختلفة:
- نمو الفريق
- دوران الموظفين
- وهناك عدد كبير من النظم غير المتجانسة للمراقبة
إذا كان عليك أن تأخذ الدعم الذي تم تكوينه بالفعل من قبل شخص ما SIEM ، فإن عدد الأسئلة يزداد مثل الانهيار.
استخدام مكتبة القضية
توصلت التجربة العالمية في بناء مراكز المراقبة بالفعل إلى حل لتنظيم الفوضى واسمها هو مكتبة دراسات الحالة. الغرض من كل حالة هو وصف شامل للمشكلة في إطار مراقبة أمن المعلومات.
قد يختلف تكوين المعرفة المنصوص عليها في كل حالة ؛ ننتقل من المجموعة التالية:
- الهدف - المهمة التي تم حلها بواسطة القضية
- التهديد - التهديد الذي تسعى قاعدة الكشف إلى الكشف عنه.
- أصحاب المصلحة - المهتمون بهذه القاعدة: IB / IT / Business
- متطلبات البيانات - مجموعة البيانات المطلوبة لتحديد التهديد
- المنطق - منطق الكشف عن التهديد
- الاختبار - خوارزمية لاختبار صحة قاعدة الكشف
- الأولوية - أولوية معالجة الحدث حسب الحالة (تحسب عادةً من الضرر المحتمل الناجم عن تهديد تم تنفيذه بنجاح)
- الإخراج - قائمة الإجراءات لتحليل التنبيه ، ووصف للمخارج الصحيحة من إجراء التحليل وتكوين البيانات المسجلة في نتائج التحليل
استخدم مثال الحالة لمهمة اكتشاف الاتصال مع خادم إدارة الروبوتات (المعروف باسم C&C أو C2 فقط):

تم تبسيط المثال إلى حد كبير ؛ في الواقع ، مع وصف مناسب ، تنمو الحالة في وثيقة متعددة الصفحات.
في تلك اللحظة ، عندما تجاوز عدد الحالات عدة عشرات ، بدأنا في البحث عن أدوات جاهزة للمحافظة على قاعدة المعرفة هذه ، ويفضل أن يكون لدينا ، بالإضافة إلى واجهة صديقة للإنسان ، نوع من واجهة العمل المناسبة للآلة.
مشروع سيجما
من المؤكد أن مشروع Sigma يستحق النظر في سياق قاعدة المعرفة بشأن قواعد الكشف عن الحوادث. لقد بدأت في عام 2016 ، وقد تابعت ذلك منذ البداية تقريبًا.
في الواقع ، يتكون المشروع من
- سيغما قواعد أنفسهم
- أدوات مساعدة لتحويل القواعد إلى استعلامات لأنظمة SIEM المختلفة
قائمة SIEM مثيرة للإعجاب: جميع حلول تحليل الأحداث الشائعة موجودة تقريبًا. مزيد عن كل شيء بالتفصيل وبالترتيب.
بناء الجملة القاعدة
قواعد سيجما هي وثائق YAML تصف سيناريو للكشف عن هجوم معين. بناء الجملة ، تتكون القواعد من الكتل التالية:
معلومات التعريف
جزء وصفي لهيكل وتبسيط البحث عن القواعد اللازمة.
title: Access to ADMIN$ Share description: Detects access to $ADMIN share author: Florian Roth falsepositives: - Legitimate administrative activity level: low tags: - attack.lateral_movement - attack.t1077 status: experimental
أود أيضًا أن أشير إلى أن العديد من القواعد مزودة بالفعل بروابط لأسلوب الهجوم وفقًا لمنهجية MITER ATT & CK.
إعلان مصدر البيانات
وصف المصدر بناءً على الأحداث التي يتم فيها تطبيق منطق الكشف.
logsource: product: windows service: security
من الممكن بناءً على وصف كل من الخدمة النهائية لمنتج معين وفئة كاملة من الأنظمة.
معالجة منطق الإعلان
عند مستوى منطق الكشف ، يتم توضيح ما يلي:
- أنماط البحث
- قيم بعض الحقول في السجل
- الإطار الزمني
- الوظائف الكلية
يمكن أن يكون المنطق تافهاً ، على سبيل المثال ، الشروط المفروضة على مجموعة من الحقول:
detection: selection: EventID: 5140 ShareName: Admin$ filter: SubjectUserName: '*$' condition: selection and not filter
ومعقدة جدا:
detection: selection1: EventID: - 529 - 4625 UserName: '*' WorkstationName: '*' selection2: EventID: 4776 UserName: '*' Workstation: '*' timeframe: 24h condition: - selection1 | count(UserName) by WorkstationName > 3 - selection2 | count(UserName) by Workstation > 3
لا تزال الوسائل التعبيرية للغة ، رغم أنها ليست عالمية ، واسعة جدًا وتتيح لك وصف عدد كبير من الحالات لتحديد الهجمات.
أدوات تطوير القاعدة
بالإضافة إلى محرر النصوص المفضل لديك لـ YAML ، يتوفر WEB UI من SOC Prime أيضًا ، مما يتيح لك التحقق من صحة بناء جملة قاعدة مكتوبة بالفعل وإنشاء قواعد يدويًا من كتل الرسوم البيانية.

سيجما كأداة قاعدة المعرفة
لتلخيص ملخص موجز.
في الوقت الحالي ، يركز بناء جملة القواعد بشكل أساسي على وصف منطق الكشف عن التهديد وليس الغرض منه هو وصف شامل لحالة الاستخدام ؛ وبالتالي ، لن يعمل على الاحتفاظ بمكتبة كاملة باستخدام قواعد Sigma فقط.
بالنسبة لبنية حالة الاستخدام التي اخترناها ، تغلق Sigma النصف فقط (الهدف ومتطلبات البيانات والمنطق والأولوية).

تحويل إلى مختلف SIEM
نظرًا لأننا مقدم خدمة لخدمات SOC ، فإن فكرة الاحتفاظ بجميع تطوراتنا وفقًا لقواعد الارتباط في بعض التنسيقات العالمية وفي مرحلة التنفيذ للتحويل إلى تنسيق SIEM المطلوب تبدو جذابة للغاية بالنسبة لنا.
يتضمن المشروع أدوات مساعدة لوحدة التحكم لإنشاء طلبات الأحداث بتنسيق SIEM المختلفة. النظر في ما هو التحويل وما هو تحت غطاء محرك السيارة لها.

يتم التحويل في 3 مراحل:
- تحليل القواعد - أعتقد أن هذا واضح: يتم فرز مستند YAML إلى كتل مكونة
- التخفيض إلى التصنيف SIEM
ترتبط ضرورة هذه المرحلة بحقيقة أن التطبيع في أنظمة SIEM يتم تنفيذه بطريقة مختلفة بعض الشيء ، لذلك يجب تقليل الإعلانات الصادرة عن قواعد Sigma إلى تصنيف أحداث أحداث SIEM المحددة - طلب إنشاء SIEM
لكي تنجح هذه المرحلة ، هناك حاجة إلى مكون آخر - خلفية لهذا SIEM.
في الحقيقة ، فإن الواجهة الخلفية هي مكون إضافي لأداة التحويل المساعدة ، والتي تحتوي على منطق التحويل إلى تنسيق الطلب النهائي في SIEM. يتم تحويل كتل الكشف ومصدر السجل مع الأخذ في الاعتبار تعيين الحقول المتراكمة مسبقًا ، تتم إضافة معلومات إضافية خاصة بـ SIEM.
نتيجة لذلك ، فإن بدء تشغيل أداة التحويل يبدو كالتالي:

يتم تمرير المعلمات التالية:
- الهدف SIEM
- القاعدة
- ملف التعيين لهذا SIEM
لدى SOC Prime أيضًا واجهة مستخدم جاهزة لوظيفة التحويل (
uncoder.io )

مطبات التحويل
- بعد دراسة آليات التحويل ، واجهنا قيودًا كبيرة ، مما حال دون تحويل جميع التطورات إلى تنسيق Sigma:
- المحول يعمل فقط مع الطلب. تؤثر قاعدة الارتباط في SIEM على المزيد من الجوانب: الإطار الزمني والتجميع والإجراءات بناءً على نتائج التنبيهات المحددة
- لا يتم مراعاة الميزات الرئيسية لـ SIEM الفردية ، مثل ActiveLists.
- عدم كفاية تفاصيل تعيين الحقل - كجزء من تكوين التعيين ، يتم وصف حقول مصادر قليلة فقط ؛ وبناءً على ذلك ، مع وجود قواعد لعدة عشرات من أنواع مختلفة من مصادر الأحداث في قاعدة البيانات ، سيكون عليك الاستثمار بكثافة في كتابة التعيين.
قاعدة القاعدة
دعونا نرى ما تحمله قاعدة سيجما المتاحة للجمهور. حاليًا ، يتم إضافة المحتوى بنشاط إلى مستودعين:
- مستودع المشروع الرئيسي
- شركة نفط الجنوب ، رئيس سوق الكشف عن التهديدات
القواعد في المستودعات لها تقاطع غير صفري.
لدى SOC Prime عددًا من القواعد التي تنطبق على الاشتراكات المدفوعة ؛ لا أضع في اعتبارها محتواها في هذه المقالة.
بالنسبة للتحليلات ، نحتاج إلى مكتبة
sigmatools لـ Python وبعض مهارات البرمجة.
لتحليل وتحميل القواعد من دليل إلى القاموس ، يمكنك استخدام الكود التالي:
from sigma.parser.collection import SigmaCollectionParser import pathlib import itertools def alliter(path): for sub in path.iterdir(): if sub.name.startswith("."): continue if sub.is_dir(): yield from alliter(sub) else: yield sub def get_inputs(paths, recursive): if recursive: return list(itertools.chain.from_iterable([list(alliter(pathlib.Path(p))) for p in paths])) else: return [pathlib.Path(p) for p in paths] BASE_PATH = [r'sigma\rules'] path_list = get_inputs(BASE_PATH, True) rules_map = {} for sigmafile in get_inputs(BASE_PATH, True): f = sigmafile.open(encoding='utf-8') parser = SigmaCollectionParser(f) rule = next(iter(parser)) rules_map[rule['title']] = rule
مع تكرار القواعد نفسها ، تظهر الصورة التالية:

كجزء من قائمة فريدة من القواعد ، نحصل على التوزيعات التالية:
حسب نوع مصدر الحدث:إحصاءات أكبر قليلا
- ويندوز ~ 80 ٪
- سيسمون ~ 53 ٪
- وكيل ~ 8 ٪
- Linux ~ 4٪
في الأساس ، يركز المحتوى الحالي على نظامي Windows و Sysmon ، على وجه الخصوص ، فإن قواعد باقي الأنظمة قليلة.
حسب توفر المحتوى:اتضح أن مطوري قواعد سيجما وضعوا علامة مستقرة أقل من 20 ٪ من جميع القواعد الحالية.
لتلخيص
في المصادر المتاحة للجمهور ، هناك عدد كبير من القواعد. يتم تحديثها بانتظام ، وسرعان ما تظهر قواعد الكشف عن المؤشرات ، وأحيانًا الفني لأبرز شركات APT البارزة.
هناك الكثير من القيود لتطبيق القواعد في الحياة الواقعية:
- هناك الكثير من القواعد لـ Microsoft Sysmon ، والتي نادراً ما تستخدم في المؤسسة.
- هناك العديد من القواعد التي تقوم بالفعل بإجراء اختبارات IoC (التجزئة ، عناوين IP ، عناوين URL ، وكلاء المستخدم). سرعان ما أصبحت هذه القواعد قديمة ، وهناك آليات أكثر فاعلية للعثور على IoC من القواعد.
- الكثير من المحتوى التجريبي ، على التوالي ، يتم فرض متطلبات إضافية على الاختبارات عالية الجودة قبل بدء التشغيل.
في Infosecurity ، نستخدم محتوى قواعد Sigma كمصدر إضافي للمعرفة لاكتشاف الحوادث بشكل أكثر فعالية. إذا وجدنا شيئًا مثيرًا للاهتمام ، فسوف نطبقه بالفعل في إطار قواعد الارتباط الخاصة بنا ، والتي تأخذ في الاعتبار كل من النواة التي تعمل عليها القواعد (Apache Spark) وخصائص البنية التحتية ووسائل الحماية التي نستخدمها.