تدقيق وتعقب التغييرات على مهام الحوادث في Microsoft Sentinel
تضمن مهام الحوادث معالجة شاملة وموحدة للحوادث عبر جميع موظفي SOC. عادة ما يتم تحديد قوائم المهام وفقا للتشغيلات التي أجراها كبار المحللين أو مديري SOC، ويتم وضعها موضع التنفيذ باستخدام قواعد التشغيل التلقائي أو أدلة المبادئ.
يمكن للمحللين الاطلاع على قائمة المهام التي يحتاجون إلى تنفيذها لحدث معين في صفحة تفاصيل الحادث، ووضع علامة عليها كمكتملة أثناء التنقل. يمكن للمحللين أيضا إنشاء مهامهم الخاصة على الفور، يدويا، مباشرة من داخل الحدث.
تشرح هذه المقالة كيف يمكنك، بصفتك مدير SOC، تدقيق محفوظات مهام حوادث Microsoft Sentinel، وتتبع التغييرات التي تم إجراؤها عليها طوال دورة حياتها، من أجل قياس فعالية تعيينات المهام ومساهمتها في كفاءة SOC وأدائه السليم.
بنية صفيف المهام في جدول SecurityIncident
جدول SecurityIncident هو جدول تدقيق - لا يخزن الحوادث نفسها، بل يسجل عمر الحدث: إنشائه وأي تغييرات تم إجراؤها عليه. في أي وقت يتم فيه إنشاء حادث أو إجراء تغيير على حدث، يتم إنشاء سجل في هذا الجدول يعرض الحالة الحالية للحدث.
تتيح لك إضافة تفاصيل المهام إلى مخطط هذا الجدول تدقيق المهام بمزيد من التعمق.
تتكون المعلومات التفصيلية المضافة إلى حقل المهام من أزواج قيم المفاتيح التي تأخذ البنية التالية:
مفتاح | وصف القيمة |
---|---|
تم الإنشاء من خلال | الهوية التي أنشأت المهمة: - البريد الإلكتروني: عنوان البريد الإلكتروني للهوية - الاسم: اسم الهوية - معرف الكائن: GUID للهوية - userPrincipalName: UPN للهوية |
تم الإنشاءTimeUtc | وقت إنشاء المهمة، بالتوقيت العالمي المتفق عليه. |
lastCompletedTimeUtc | الوقت الذي تم فيه وضع علامة على المهمة مكتملة، بالتوقيت العالمي المتفق عليه. |
التعديل الأخير من خلال | الهوية التي عدلت المهمة آخر إجراء: - البريد الإلكتروني: عنوان البريد الإلكتروني للهوية - الاسم: اسم الهوية - معرف الكائن: GUID للهوية - userPrincipalName: UPN للهوية |
LastModifiedTimeUtc | وقت آخر تعديل للمهمة، بالتوقيت العالمي المتفق عليه. |
الحالة | الحالة الحالية للمهمة: جديد، مكتمل، محذوف. |
معرف المهمة | معرف المورد للمهمة. |
title | الاسم المألوف للمهمة من قبل منشئها. |
عرض مهام الحوادث في جدول SecurityIncident
وبصرف النظر عن مصنف مهام الحوادث، يمكنك تدقيق نشاط المهمة عن طريق الاستعلام عن جدول SecurityIncident في السجلات. توضح لك بقية هذه المقالة كيفية القيام بذلك، بالإضافة إلى كيفية قراءة نتائج الاستعلام وفهمها للحصول على معلومات نشاط المهمة.
في صفحة Logs ، أدخل الاستعلام التالي في نافذة الاستعلام وقم بتشغيله. سيقوم هذا الاستعلام بإرجاع كافة الحوادث التي تم تعيين أي مهام لها.
SecurityIncident | where array_length( Tasks) > 0
يمكنك إضافة أي عدد من العبارات إلى الاستعلام لتصفية النتائج وتضييق نطاقها. لتوضيح كيفية عرض النتائج وفهمها، سنقوم بإضافة عبارات لتصفية النتائج بحيث نرى فقط المهام لحدث واحد، وسنضيف أيضا بيانا
project
بحيث نرى فقط تلك الحقول التي ستكون مفيدة لأغراضنا، دون الكثير من الفوضى.تعرف على المزيد حول استخدام Kusto Query Language.
SecurityIncident | where array_length( Tasks) > 0 | where IncidentNumber == "405211" | sort by LastModifiedTime desc | project IncidentName, Title, LastModifiedTime, Tasks
لنلق نظرة على أحدث سجل لهذا الحادث، ونعثر على قائمة المهام المقترنة به.
حدد الموسع الموجود بجانب الصف العلوي في نتائج الاستعلام (التي تم فرزها بترتيب تنازلي للراحة).
حقل المهام هو صفيف من الحالة الحالية لجميع المهام في هذا الحدث. حدد الموسع لعرض كل عنصر في الصفيف في صفه الخاص.
الآن ترى أن هناك مهمتين في هذا الحدث. يتم تمثيل كل واحد بدوره بواسطة صفيف قابل للتوسيع. حدد موسع مهمة واحدة لعرض معلوماته.
هنا ترى تفاصيل المهمة الأولى في الصفيف ("0" هو موضع فهرس المهمة في الصفيف). يعرض حقل العنوان اسم المهمة كما هو معروض في الحدث.
عرض المهام المضافة إلى القائمة
دعونا نضيف مهمة إلى الحدث، ثم سنعود إلى هنا، ونشغل الاستعلام مرة أخرى، ونشاهد التغييرات في النتائج.
في صفحة الحوادث ، أدخل رقم معرف الحادث في شريط البحث.
افتح صفحة تفاصيل الحدث وحدد المهام من شريط الأدوات.
أضف مهمة جديدة، وأعطها الاسم "هذه المهمة مهمة اختبار!"، ثم حدد حفظ. المهمة الأخيرة الموضحة أدناه هي ما يجب أن ينتهي بك الأمر:
الآن دعونا نعود إلى صفحة السجلات ونشغل استعلامنا مرة أخرى.
في النتائج سترى أن هناك سجلا جديدا في الجدول لنفس الحدث (لاحظ الطوابع الزمنية). قم بتوسيع السجل وسترى أنه بينما كان السجل الذي رأيناه من قبل يحتوي على مهمتين في صفيف المهام الخاص به، يحتوي السجل الجديد على ثلاث مهام. المهمة الأحدث هي المهمة التي أضفناها للتو، كما ترون من خلال عنوانها.
عرض تغييرات الحالة على المهام
الآن، إذا عدنا إلى تلك المهمة الجديدة في صفحة تفاصيل الحدث وقمنا بوضع علامة عليها كمكتملة، ثم عدنا إلى السجلات وأعدنا تشغيل الاستعلام مرة أخرى، سنرى سجلا جديدا آخر لنفس الحدث، هذه المرة يعرض الحالة الجديدة لمهمتنا على أنها مكتملة.
عرض حذف المهام
لنعد إلى قائمة المهام في صفحة تفاصيل الحدث ونحذف المهمة التي أضفناها سابقا.
عندما نعود إلى السجلات ونشغل الاستعلام مرة أخرى، سنرى سجلا جديدا آخر، وهذه المرة فقط حالة مهمتنا - السجل الذي بعنوان "هذه المهمة مهمة اختبار!" —سيتم حذفه.
ومع ذلك، بمجرد ظهور المهمة مرة واحدة في الصفيف (بحالة محذوفة )، لن تظهر بعد ذلك في صفيف المهام في سجلات جديدة لهذا الحدث في جدول SecurityIncident . والسجلات الموجودة، كتلك التي رأيناها أعلاه، ستستمر في الاحتفاظ بالأدلة على أن هذه المهمة كانت موجودة في السابق.
عرض المهام النشطة التي تنتمي إلى حادث مغلق
يسمح لك الاستعلام التالي بالاطلاع على ما إذا كان قد تم إغلاق حدث ما ولكن لم يتم إكمال جميع المهام المعينة له. يمكن أن تساعدك هذه المعرفة في التحقق من أن أي أطراف متبقية في تحقيقك قد تم التوصل إليها - تم إخطار جميع الأطراف ذات الصلة، وتم إدخال جميع التعليقات، وتم التحقق من جميع الردود، وما إلى ذلك.
SecurityIncident
| summarize arg_max(TimeGenerated, *) by IncidentNumber
| where Status == 'Closed'
| mv-expand Tasks
| evaluate bag_unpack(Tasks)
| summarize arg_max(lastModifiedTimeUtc, *) by taskId
| where status !in ('Completed', 'Deleted')
| project TaskTitle = ['title'], TaskStatus = ['status'], createdTimeUtc, lastModifiedTimeUtc = column_ifexists("lastModifiedTimeUtc", datetime(null)), TaskCreator = ['createdBy'].name, lastModifiedBy, IncidentNumber, IncidentOwner = Owner.userPrincipalName
| order by lastModifiedTimeUtc desc
الخطوات التالية
- تعرف على المزيد حول مهام الحوادث.
- تعرف على كيفية التحقيق في الحوادث.
- تعرف على كيفية إضافة مهام إلى مجموعات من الحوادث تلقائيا باستخدام قواعد التشغيل التلقائي أو أدلة المبادئ، ومتى تستخدم أي منها.
- تعرف على المزيد حول قواعد التشغيل التلقائي وكيفية إنشائها.
- تعرف على المزيد حول أدلة المبادئ وكيفية إنشائها.