مشاركة عبر


تعديل المحتوى لاستخدام نموذج معلومات الأمان المتقدم (ASIM) (معاينة عامة)

يتضمن محتوى الأمان الذي تمت تسويته في Microsoft Sentinel قواعد التحليلات واستعلامات التتبع والمصنفات التي تعمل باستخدام توحيد محللات الوضع الطبيعي.

يمكنك العثور على المحتوى العادي الجاهز في معارض وحلول Microsoft Sentinel، أو إنشاء المحتوى الذي تمت تسويتها، أو تعديل المحتوى المخصص الحالي لاستخدام البيانات التي تمت تسويتها.

توضح هذه المقالة كيفية تحويل قواعد تحليلات Microsoft Sentinel الحالية لاستخدام البيانات التي تمت تسويتها باستخدام نموذج معلومات الأمان المتقدم (ASIM).

لفهم طريقة تناسب المحتوى العادي ضمن بنية ASIM، راجع مخطط بنية ASIM.

هام

ASIM في وضع PREVIEW حاليًا. تتضمن الشروط التكميلية لمعاينة Azure شروطا قانونية إضافية تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو المعاينة أو التي لم يتم إصدارها بعد في التوفر العام.

تعديل المحتوى المخصص لاستخدام التسوية

لتمكين محتوى Microsoft Sentinel المخصص لاستخدام التسوية:

  • قم بتعديل استعلاماتك لاستخدام أي محللات توحيد ذات صلة بالاستعلام.

  • تعديل أسماء الحقول في الاستعلام لاستخدام أسماء حقول المخطط التي تمت تسويتها.

  • عند الاقتضاء، قم بتغيير الشروط لاستخدام القيم التي تمت تسويتها للحاويات في الاستعلام الخاص بك.

نموذج التسوية لقواعد التحليلات

على سبيل المثال، ضع في اعتبارك العميل النادر الذي تمت ملاحظته مع قاعدة تحليلية لعدد بحث DNS العكسي العالي، والتي تعمل على أحداث DNS المرسلة بواسطة خوادم Infoblox DNS:

let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
    | where ProcessName =~ "named" and Log_Type =~ "client"
    | where isnotempty(ResponseCode)
    | where ResponseCode =~ "NXDOMAIN"
    ) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP

التعليمات البرمجية التالية هي الإصدار غير محدد المصدر، والذي يستخدم التسوية لتوفير نفس الكشف لأي مصدر يوفر أحداث استعلام DNS. يستخدم المثال التالي محللات ASIM المضمنة:

_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

لاستخدام محللات ASIM المنشورة في مساحة العمل، استبدل السطر الأول بالتعليمات البرمجية التالية:

imDns(responsecodename='NXDOMAIN')

الاختلافات بين المحللات المضمنة والموزعة في مساحة العمل

الخياران في المثال أعلاه متطابقان وظيفيًا. يحتوي الإصدار الذي تمت تسويته وغير محدد المصدر على الاختلافات التالية:

  • يُستخدم المحلل _Im_Dns أو imDns الذي تمت تسويته بدلًا من محلل Infoblox.

  • تجلب المحللات التي تمت تسويتها أحداث استعلام DNS فقط، لذلك ليست هناك حاجة للتحقق من نوع الحدث، كما تم تنفيذه بواسطة where ProcessName =~ "named" and Log_Type =~ "client" في إصدار Infoblox.

  • يُستخدم الحقل SrcIpAddr بدلاً من Client_IP.

  • تُستخدم تصفية معلمة المحلل لـ ResponseCodeName، مما يلغي الحاجة إلى عبارات where الصريحة.

إشعار

بصرف النظر عن دعم أي مصدر DNS تمت تسويته، يكون الإصدار الذي تمت تسويته أقصر وأسهل في الفهم.

إذا كان المخطط أو المحللات لا يدعم معلمات التصفية، فإن التغييرات متشابهة، باستثناء أنه يتم الاحتفاظ بشروط التصفية من الاستعلام الأصلي. على سبيل المثال:

let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
    | where isnotempty(ResponseCodeName)
    | where ResponseCodeName =~ "NXDOMAIN"
    ) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

راجع المزيد من المعلومات حول العناصر التالية المستخدمة في الأمثلة السابقة، في وثائق Kusto:

لمزيد من المعلومات حول KQL، راجع نظرة عامة على لغة استعلام Kusto (KQL).

الموارد الأخرى:

الخطوات التالية

تتناول هذه المقالة محتوى نموذج معلومات الأمان المتقدم (ASIM).

لمزيد من المعلومات، راجع: