التعامل مع النتائج الإيجابية الزائفة في Microsoft Sentinel

ملاحظة

يسمى Azure Sentinel الآن Microsoft Sentinel، وسنقوم بتحديث هذه الصفحات في الأسابيع القادمة. تعرف على المزيد حول التحسينات الأمنية الأخيرة لـ Microsoft.

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

الأسباب الإيجابية الكاذبة والوقاية

حتى في قاعدة التحليلات التي تم إنشاؤها بشكل صحيح ، غالبا ما تنبع الإيجابيات الخاطئة من كيانات محددة مثل المستخدمين أو عناوين IP التي يجب استبعادها من القاعدة.

تتضمن السيناريوهات الشائعة ما يلي:

  • تظهر الأنشطة العادية التي يقوم بها مستخدمون معينون، عادة ما يكونون من مديري الخدمات، نمطا يبدو مشبوها.
  • يتم الكشف عن نشاط فحص الأمان المتعمد القادم من عناوين IP المعروفة على أنه ضار.
  • يجب أن تستبعد القاعدة التي تستبعد عناوين IP الخاصة أيضا بعض عناوين IP الداخلية غير الخاصة.

توضح هذه المقالة طريقتين لتجنب الإيجابيات الكاذبة:

  • تنشئ قواعد التشغيل التلقائي استثناءات بدون تعديل قواعد التحليلات.
  • تسمح تعديلات قواعد التحليلات المجدولة باستثناءات أكثر تفصيلا ودائمة.

يصف الجدول التالي خصائص كل طريقة:

الأسلوب الخاصية
قواعد الأتمتة
  • يمكن تطبيقه على العديد من قواعد التحليلات.
  • احتفظ بسجل تدقيق. تمنع الاستثناءات إنشاء الحوادث، ولكن لا يزال يتم تسجيل التنبيهات لأغراض التدقيق.
  • غالبا ما يتم إنشاؤها بواسطة المحللين.
  • السماح بتطبيق الاستثناءات لفترة محدودة. على سبيل المثال ، قد تؤدي أعمال الصيانة إلى ظهور إيجابيات خاطئة خارج الإطار الزمني للصيانة ستكون حوادث حقيقية.
تعديلات قواعد التحليلات
  • السماح بالتعبيرات المنطقية المتقدمة والاستثناءات المستندة إلى الشبكة الفرعية.
  • تتيح لك استخدام قوائم المراقبة لإضفاء الطابع المركزي على إدارة الاستثناءات.
  • عادة ما يتطلب التنفيذ من قبل مهندسي مركز العمليات الأمنية (SOC).
  • هي الحل الإيجابي الخاطئ الأكثر مرونة واكتمالا ، ولكنها أكثر تعقيدا.

إضافة استثناءات باستخدام قواعد التنفيذ التلقائي

أبسط طريقة لإضافة استثناء هي إضافة قاعدة أتمتة عندما ترى حادثا إيجابيا كاذبا.

لإضافة قاعدة أتمتة للتعامل مع نتيجة إيجابية خاطئة:

  1. في Microsoft Sentinel، ضمن الحوادث، حدد الحادث الذي تريد إنشاء استثناء له.

  2. حدد إنشاء قاعدة التنفيذ التلقائي.

  3. في الشريط الجانبي إنشاء قاعدة أتمتة جديدة ، قم اختياريا بتعديل اسم القاعدة الجديد لتحديد الاستثناء، بدلا من اسم قاعدة التنبيه فقط.

  4. ضمن شروط، أضف اختياريا المزيد من أسماء القواعد التحليلية لتطبيق الاستثناء عليها.

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

    Screenshot showing how to create an automation rule for an incident in Microsoft Sentinel.

  6. بعد تعريف المشغل، يمكنك متابعة تعريف ما تفعله القاعدة:

    Screenshot showing how to finish creating and applying an automation rule in Microsoft Sentinel.

    • تم تكوين القاعدة بالفعل لإغلاق حادث يفي بمعايير الاستثناء.
    • يمكنك إضافة تعليق إلى الحادث المغلق تلقائيا يشرح الاستثناء. على سبيل المثال، يمكنك تحديد أن الحادث نشأ عن نشاط إداري معروف.
    • بشكل افتراضي، يتم تعيين القاعدة لتنتهي صلاحيتها تلقائيا بعد 24 ساعة. قد يكون انتهاء الصلاحية هذا هو ما تريده ، ويقلل من فرصة حدوث أخطاء سلبية خاطئة. إذا كنت تريد استثناء أطول، فقم بتعيين انتهاء صلاحية القاعدة إلى وقت لاحق.
  7. حدد تطبيق لتنشيط الاستثناء.

تلميح

يمكنك أيضا إنشاء قاعدة أتمتة من البداية، دون البدء من حادث. حدد التنفيذ التلقائي من قائمة التنقل اليمنى ل Microsoft Sentinel، ثم حدد إنشاء>إضافة قاعدة جديدة.

إضافة استثناءات عن طريق تعديل قواعد التحليلات

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

تعديل الاستعلام

لتحرير قواعد التحليلات الموجودة، حدد التنفيذ التلقائي من قائمة التنقل اليمنى ل Microsoft Sentinel. حدد القاعدة التي تريد تعديلها، ثم حدد تعديل في أسفل يسار لفتح معالج قواعد Analytics.

للحصول على إرشادات مفصلة حول استخدام معالج قواعد Analytics لإنشاء قواعد التحليلات وتعديلها، يرجى الاطلاع على إنشاء قواعد تحليلات مخصصة للكشف عن التهديدات.

لتنفيذ استثناء في ديباجة قاعدة نموذجية، يمكنك إضافة شرط مثل where IPAddress !in ('<ip addresses>') بالقرب من بداية استعلام القاعدة. يستبعد هذا السطر عناوين IP محددة من القاعدة.

let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in ('10.0.0.8', '192.168.12.1')
...

لا يقتصر هذا النوع من الاستثناءات على عناوين IP. يمكنك استبعاد مستخدمين محددين باستخدام الحقل UserPrincipalName ، أو استبعاد تطبيقات معينة باستخدام AppDisplayName.

يمكنك أيضا استبعاد سمات متعددة. على سبيل المثال ، لاستبعاد التنبيهات من عنوان 10.0.0.8 IP أو المستخدم user@microsoft.com، استخدم:

| where IPAddress !in ('10.0.0.8')
| where UserPrincipalName != 'user@microsoft.com'

لتنفيذ استثناء أكثر دقة عند الاقتضاء، وتقليل فرصة حدوث سلبيات خاطئة، يمكنك الجمع بين السمات. ينطبق الاستثناء التالي فقط في حالة ظهور كلتا القيمتين في نفس التنبيه:

| where IPAddress != '10.0.0.8' and UserPrincipalName != 'user@microsoft.com'

استبعاد الشبكات الفرعية

يتطلب استبعاد نطاقات IP التي تستخدمها المؤسسة استبعاد الشبكة الفرعية. يوضح المثال التالي كيفية استبعاد الشبكات الفرعية.

ipv4_lookup المشغل هو مشغل إثراء، وليس مشغل تصفية. يقوم where isempty(network) الخط بالفعل بالتصفية ، من خلال فحص تلك الأحداث التي لا تظهر تطابقا.

let subnets = datatable(network:string) [ "111.68.128.0/17", "5.8.0.0/19", ...];
let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| evaluate ipv4_lookup(subnets, IPAddress, network, return_unmatched = true)
| where isempty(network)
...

استخدام قوائم المراقبة لإدارة الاستثناءات

يمكنك استخدام قائمة مراقبة لإدارة قائمة الاستثناءات خارج القاعدة نفسها. عند الاقتضاء ، يتمتع هذا الحل بالمزايا التالية:

  • يمكن للمحلل إضافة استثناءات دون تحرير القاعدة ، والتي تتبع أفضل ممارسات SOC.
  • يمكن أن تنطبق قائمة المراقبة نفسها على العديد من القواعد، مما يتيح إدارة الاستثناءات المركزية.

يشبه استخدام قائمة المراقبة استخدام استثناء مباشر. استخدم _GetWatchlist('<watchlist name>') للاتصال بقائمة المراقبة:

let timeFrame = 1d;
let logonDiff = 10m;
let allowlist = (_GetWatchlist('ipallowlist') | project IPAddress);
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in (allowlist)
...

يمكنك أيضا إجراء تصفية الشبكة الفرعية باستخدام قائمة مراقبة. على سبيل المثال، في رمز استبعاد الشبكات الفرعية السابق، يمكنك استبدال تعريف الشبكات datatable الفرعية بقائمة مراقبة:

let subnets = _GetWatchlist('subnetallowlist');

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

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