معرفی ماژول
ماژول Event Investigation در سامانه کورلاگ مکانی است که به چهار سئوال اساسی پاسخ می دهد، چه کسی، چه کاری را، کی و کجا انجام داده است. کاربر در این ماژول به دنبال تحلیل و مشاهده رخدادها و پارامترهای مختلف آن است. نمایش پارامترهای مختلف رخدادهای دریافت شده، شمارش آیتم های مختلف، به صورت صعودی یا نزولی، انتخاب ستونهای قابل نمایش، تنظیم بازه های زمانی مختلف برای جستجو، تنظیم تعداد رخدادهای نمایش داده شده، فیلترینگ پارامترهای مختلف، تنظیم شروط به منظور مشاهده یک رشته کاراکتر خاص داخل پارامترها و … همه از امکاناتی است که این ماژول در اختیار کاربر قرار می دهد. اما قبل از اینکه بتوانید با این ماژول ساده تحلیل های خود را انجام دهید ابتدا باید بتوانید شرایط مناسب را برای تولید خروجی های مناسب ایجاد نمایید. لذا قبل از پرداختن به جزئیات ماژول ابتدا به توضیح ساختار اطلاعات هر رخداد و شرط های ممکن می پردازیم.
ساختار اطلاعاتی سامانه کورلاگ
برای آنکه بتوانید شرط های بهینه ای را ایجاد کنید باید با ساختار اطلاعات در سامانه کورلاگ آشنا باشید. در سامانه کورلاگ اطلاعات بر اساس زیر گروه بندی شده است:
- Event Source: هر نرم افزار یا سخت افزاری که رخداد تولید می کند و در سامانه کورلاگ ثبت شده باشد بعنوان یک منبع رخداد است و با عنوان Event Source در کورلاگ شناخته می شود. برای مثال IIS, Active Directory, ASA, Fortigate همه بعنوان Event Source یا منبع رخداد شناخته می شوند.
- Event Type: هر منبع اطلاعاتی می تواند رخدادهای متنوعی را تولید نماید که به آنها Event Type می گویند بعنوان مثال Event Type = Login Failed
- Attribute: هر رخداد از اجزای اطلاعاتی خاصی تشکیل شده است که به آنها Attribute می گویند. بعنوان مثال در لاگ فایروال Source IP, Destination IP و Time هر کدام بعنوان یک Attributeدر نظر گرفته می شوند.
از اینرو بر اساس خصوصیات (Attribute) هر رخداد (Event) که از منابع رخداد مختلف شبکه (Event Source) دریافت می شود، می توان گزارشات متنوعی را ایجاد نمود.
آشنایی با محیط ماژول
رابط کاربری ماوژل Event Investigation مانند تمام پنجره های سامانه کورلاگ از ساختار استاندارد پنجره ها پیروی می کند.
ساختار پنجره Event Investigation
پنجره Event Investigation دارای چند بخش اصلی است
- قابلیت فیلترینگ رخدادها (Filter Bar) در بخش List Action
- بخش مربوط به تنظیمات تاریخ و زمان (Time Setting) در بخش List Action
- نمایش اطلاعات فیلتر شده در بخش List
- نمایش جزئیات رخداد در بخش List Item Properties
- گزینه های مربوط به وضعیت جدول ( Status Bar) در بخش List Status
Filter Bar
بخش Filter Bar را می توانید در محدوده List Action پنجره مشاهده نمایید. تنظیم یا تغییر شرط های موثر بر جستجو در این فیلد وارد شده و اعمال می گردد. این گزینه در تصویر زیر با علامت فلش قرمز نمایش داده شده است.
Date and Time
بخش Date and Time در بالای پنجره سمت راست در محدوده List Action قابل مشاهده است. با تغییر این گزینه بازه های زمانی موثر در رخدادها تغییر می یابد.
Data Grid
جدول اطلاعات فیلتر شده پس از هر بار تعیین یا تغییر شرایط و مشخصات مورد نظر و محدوده زمان دلخواه با انتخاب کلید جستجو بروز شده و اطلاعات جستجو شده در جدول نمایش داده می شود.
Status Bar
گزینه های مربوط به وضعیت جدول (Status Bar) در پایین جدول اطلاعات قرار دارد و می توان با تغییر این گزینه ها نحوه نمایش داده ها را بهینه نمود.
Attribute
در سامانه کورلاگ بیش از 500 عدد Attribute وجود دارد که برخی از مهمترین آنها در سند Event Schema با تفصیل بررسی شده اند. مطالعه سند مذکور برای کاربرانی که بعنوان راهبر سامانه کورلاگ می باشند اکیدا توصیه می گردد.
پایش رخدادها (Filter Bar)
پس از فراگیری انواع خصوصیات (Attributes) که نشان دهنده جزئیات رخدادهای مربوط به هر سنسور می باشند، گام بعدی استفاده صحیح از آنها در فیلترینگ رخدادها می باشد که بواسطه آنها می توان شرایط حادث شده در شبکه را بر اساس پالیسی های سازمانی پایش نمود. خوشبختانه سامانه کورلاگ به Engine بسیار قدرتمندی مجهز شده که می تواند با سرعت و دقت بالا شرایط را بررسی و هشدارهای مناسب را تولید نمایید. اصول این شرایط بر اساس همان قواعد SQL می باشد. اما بمنظور آشنایی بیشتر و ارائه برخی مثالهای عملیاتی در ادامه به روش تولید این شرایط خواهیم پرداخت.
روش شرط نویسی (Condition)
در سامانه کورلاگ برای آنکه بتوانیم گزارشات، داشبورها، پالیسی ها و سنار
یوهای مورد نیاز را تولید کنیم علاوه بر شناخت ساختار شبکه سازمان هدف و داشتن دانش شبکه ای و امنیتی باید بتوانیم شرایط (Conditions) مورد نظر را بخوبی در سامانه تعریف نماییم. برای نوشتن شرطی که بهترین کارآیی را در سامانه ایجاد نماید باید ابتدا با قوانین شرط نویسی (Condition Rules) آشنا شویم. از طرفی با توجه به اینکه کلیه رخدادهای دریافت شده از سنسورها در ماژول Event Investigation قابل مشاهده می باشند معمولا کارشناسان SOC برای بررسی رخدادها و تولید خروجی های مورد نظر به عنوان اولین گزینه به این ماژول مراجعه می نمایند. از اینرو بهترین مکان برای بررسی رخداد و تولید شرایط مورد نیاز، این ماژول می باشد که در ذیل به بررسی آن می پردازیم.
نوشتن یک شرط بهینه
در ماژول Event Investigation برای تولید یک خروجی مناسب باید مفاهیم سه پارامتر اصلی زیر را بدرستی بدانیم و آنها را بدرستی تنظیم نماییم:
- جزئیات هر رخداد (Attributes)
- شرط نویسی (Conditions)
- زمان بندی (Date and Time)
به عبارت دیگر یک جستجوی کامل در ماژول Event Investigation سامانه کورلاگ زمانی رخ می دهد که کاربر سامانه علاوه بر داشتن حداقل های دانش فنی در حوزه شبکه و امنیت با معانی و مفاهیم جزئیات هر رخداد (Attributes) کاملا آشنا باشد، به روش شرط نویسی (Condition Rules) مسلط بوده و زمان مناسبی را برای شرایط مورد نیاز انتخاب نماید.
انواع شرط ها (Conditions)
برای نوشتن شرط ها باید ابتدا به بررسی مفاهیم زیر بپردازیم:
- عبارت منطقی (Expression)
- ستونهای ساده (Columns)
- ستونهای تجمیع شده (Aggregate Columns)
- شروط ستونهای ساده (Conditions)
- شروط ستونهای تجمیع شده (Aggregate Conditions)
عبارت منطقی
یک عبارت منطقی به منظور تعیین یک رخداد یا اجرای یک شرط منطقی بر روی آن بوده که می تواند شامل یک یا چند داده (Attribute)، پرانتز، عملگر (Operand) و دیگر شروط باشد برای مثال:
- Expression = Event Source
- Expression = Count (Matched Events)
- Expression = Max (Sent Bytes)
- Expression = (Avg (Risk) / Avg (Severity))
ستونهای ساده
منظور از ستونهای ساده، اطلاعاتی هستند که پس از هر شرط نویسی یا گزارش گیری در جدول داده ها (Data Grid) نمایش داده می شوند.
ستونهای تجمیع شده
اگر در هنگام شرط نویسی از گزینه Group By استفاده شود و یا یکی از توابع تجمیعی (Aggregation) استفاده شود بصورت خودکار یک ستون تجمیعی به ستونهای موجود اضافه می شود. این توابع می توانند یکی از انواع Count، Min، Max، Sum و Avg باشند.
شروط ستونهای ساده
قواعدی هستند که در هر حالت می تواند بر روی داده های یک رخداد که در Attribute ها ذخیره می شوند اعمال شوند. این شرایط باید بر اساس نوع داده (Attribute) باشد که در جدول زیر مقادیر مجاز نمایش داده شده است: ( عدد 1 نمایانگر مجاز و عدد 0 نمایانگر غیر مجاز است)
|
1 |
1 |
1 |
1 | = | 1 |
| 1 | 1 | 1 | 0 | < | 2 |
| 1 | 1 | 1 | 0 | > | 3 |
| 1 | 1 | 1 | 0 | >= | 4 |
| 1 | 1 | 1 | 0 | < | 5 |
| 1 | 1 | 1 | 0 | <= | 6 |
| 1 | 1 | 1 | 1 | Is Null | 7 |
| 1 | 1 | 1 | 1 | Is Not Null | 8 |
| 1 | 1 | 1 | 1 | In | 9 |
| 1 | 1 | 1 | 1 | Not In | 10 |
| 0 | 0 | 0 | 1 | Like | 11 |
| 0 | 0 |
0 |
1 | Not Like | 12 |
| 0 | 0 | 0 | 1 | Start With | 13 |
| 0 | 0 | 0 | 1 | Not Start With | 14 |
| 0 | 0 | 0 | 1 | End With | 15 |
| 0 | 0 | 0 | 1 | Not End With | 16 |
| 0 | 0 | 0 | 1 |
RegExMatch |
17 |
شروط ستونهای جمیع شده
در دو حالت می توان از این نوع شروط استفاده کرد:
1- زمانی که یک ستون ساده Group by شده باشد.
2- زمانی که یک ستون تجمیع شده وجود داشته باشد.
قوانین شرط نویسی (Condition Law)
Group by می تواند بدون ستون تجمیعی نمایش داده شود.
ستونهای ساده می توانند به هر تعداد کنار یکدیگر نمایش داده شوند.
ستونهای تجمیع شده می توانند به هر تعداد کنار یکدیگر نمایش داده شوند.
ستون ساده یک Expression است که هیچ تابع تجمیعی را شامل نشود ولی می تواند شامل پرانتز، *، / و … باشد.
ستون تجمیع شده یک Expression است که حتما یک تابع تجمیعی را شامل می شود.
اگر ترکیبی از ستونهای ساده و تجمع شده برای نمایش داشته باشیم کلیه ستونهای ساده باید Group by شوند.
می توان صرفا از ستون های تجمع شده استفاده کرد.
توابع تجمیعی بر روی اعداد و زمان می توانند اعمال گردند.
در شروط تجمیعی می توان در هر دوطرفِ Operand از توابع تجمیعی استفاده کرد.
شروط تجمیعی نمی توانند بر یگدیکر اعمال شوند این بدین معنی است که (Avg(Risk) / Avg(Severity مورد قبول است، در حالی که ((Max(Sum(Received Bytes از نظر سیستم قابل قبول نیست.
باید توجه داشت که از توابع Sum و Count در زمان مناسب استفاده کرد. بعنوان مثال هنگام محاسبه حجم داده ارسالی توسط یک رخداد Netflow باید از SUM استفاده کرد و Count کاربردی ندارد.
نحوه کار با Event Investigation
-
بررسی رخداد ها
با استفاده از کلیدهای بخش List Status که در پایین صفحه قرار دارد می توانید صفحات دیگر را مشاهده نمایید. با افزایش تعداد آیتم های هر صفحه، تعداد بیشتری از داده ها را نمایش دهید. چنانچه بر روی هر داده دابل کلیک نمایید، پنجره مربوط به جزئیات رخداد نمایش داده می شود.
-
دسته بندی داده ها (Group By)
برای دسته بندی داده ابتدا بر روی ستون مورد نظر کلیک نمایید. سپس گزینه GroupByAndReload را از قسمت فیلتر ها انتخاب نمایید. در این حالت اطلاعات استخراج شده به صورت تجمیع شده نمایش داده می شود.
اگر بر روی سطر داده ها دابل کلیک نمایید، جزئیات داده ها در یک Tab در بخش Properties نمایش داده می شود.
چنانچه کاربر بخواهد می تواند تعداد بیشتری از داده ها را انتخاب و با هم گروه بندی نماید. برای انجام این فرآیند لازم است تا ابتدا بر روی هر ستون کلیک نموده و گزینه Groupby را انتخاب کنیم. سپس ستون بعدی را کلیک و این فرآیند را تکرار می کنیم. در مرحله آخر پس از انتخاب آخرین ستون، گزینه GroupByAndReload را کلیک می کنیم تا اطلاعات استخراج شده و نمایش داده شود.
-
پایش داده ها (Filtering)
-
تنظیم ستونها
برای محدود کردن (Filter) داده های نمایش داده شده، بر روی فیلد Filter کلیک می نمایید. با انجام کلیک پنجره مربوط به فیلترها نمایش داده می شود. در قسمت ستونها (Columns) این قابلیت وجود دارد تا ستونها را کم یا زیاد نمود و بر اساس نیاز، جای ستونها را تغییر داد.
کلید باعث افزوده شدن یک ستون بی نام به فهرست ستونها می شود. کاربر با انتخاب نام ستون از میان نامهای موجود در سیستم می تواند یک ستون را به گزارش نهایی اضافه نماید.
کلید
کلید
کلید موجب حذف کلیه ستونهای پیش فرض در گزارش می شود. کاربر پس از این فرآیند ستونهای مورد نظر خود را اضافه و ویرایش می کند.
کلید
کلید
-
تنظیم شروط
در قسمت Conditions این امکان وجود دارد تا شرایط مدنظر کاربر تنظیم و بر روی گزارش نهایی اعمال شود.
کلید باعث افزوده شدن یک شرط به گزارش می شود. پس از افزوده شدن لازم است تا جزئیات شرط را وارد نماییم.
برای تنظیم Expression این فیلد را کلیک می نماییم. در پنجره باز شده در قسمت Attribute می توان داده مورد نظر را جستجو نموده و کلید Set را انتخاب می کنیم.
پس از تنظیم گزینه Expression لازم است بر اساس نوع داده عملگر (Operator) را انتخاب کنیم. در مرحله نهایی مقدار Values را وارد می کنیم.
کلید باعث می شود تا یک شرط از گزارش حذف شود.
کلید موجب حذف کلیه شرط ها از گزارش می شود.
کلید برای انتقال شرط انتخاب شده به ردیف های بالاتر است.
کلید برای انتقال شرط انتخاب شده به ردیفهای پایین می باشد.
-
گروه بندی ستونها ( ستونهای تجمیع شده )
برای گروه کردن داده، کافی است تا گزینه Group را از قسمت Columns انتخاب نماییم. کاربر قادر است تا با انتخاب این فیلد برای چند داده ، همه آنها را به صورت یکجا دسته بندی نماید.
چنانچه کاربر این گزینه را فعال نماید لازم است تا از توابع تجمیعی مانند Count در ستونها استفاده نموده و اطلاعات تجمیع شده را نمایش دهد.
نحوه چیدمان داده های تجمیع شده در گزارش نهایی نیز با تنظیم فیلد Order مشخص می گردد.
-
شروط ستونهای تجمیع شده
چنانچه کاربر در گزارشات اقدام به استفاده از ستونهای تجمیع شده نماید، پنجره شروط مربوط به این ستونها در سیستم فعال و نمایش داده می شود. تمامی اصول بیان شده برای شرط نویسی برای این گزینه قابل استفاده می باشد. کلید های عملیاتی موجود در بالای پنل دارای کاربرد مشابه است.
-
تنظیم زمان گزارش (Time Setting)
زمان پیش فرض برای گزارشات 10 دقیقه قبل از زمان حال می باشد. در صورتی که کاربر نیاز به بررسی اطلاعات بیشتری داشته باشد می تواند محدوده زمانی خود را افزایش یا کاهش دهد.
زمان در سیستم کورلاگ به صورت زیر دسته بندی شده است:
Relative : تنظیم بازه زمانی نسبت به زمان کنونی یا قبل از آن
Absolute : تنظیم دقیق روز، ساعت، دقیقه و ثانیه
Today : امروز از ساعت 12 بامداد به بعد
Yesterday : روز قبل – از ساعت 00:00 لغایت 23:59
ThisWeek : هفته جاری
ThisMonth : ماه جاری
با انتخاب گزینه Comparison در سمت راست این قسمت، امکان تنظیم بازه های زمانی مختلف و مقایسه نتایج جستجو در این بازه ها فراهم است. با انتخاب این گزینه باکسی در قسمت پایین ابزار نمایش داده می شود. ابتدا در قسمت بالا بازه زمانی مورد نظر را انتخاب و سپس گزینه Add را میزنیم. همچنین سایر بازه های زمانی مدنظر را وارد کرده و در نهایت جستجو را انجام می دهیم. پس از انجام عمل جستجو در صفحه اصلی برای هر بازه زمانی یک ستون لحاظ شده که امکان مقایسه نتایج جستجو را در بازه های زمانی مربوطه فراهم می کند.
-
کار با جدول داده ها (Attributes Grid)
در صفحه گزارش شده به طور پیش فرض لیست رخدادهای 10 دقیقه اخیر نمایش داده میشود. در این قسمت پارامترهای اصلی رخدادها نشان داده شده و با دوبار کلیک بر روی هر رخداد، محتوای رخداد خام به همراه پارامترهای پارس شده ی آن مشاهده میگردد.
به منظور آنالیز رخدادهای دریافتی میتوان شرط های مختلف را اعمال کرد و در این قسمت خروجی جستجو را مورد بررسی قرار داد. همچنین امکان جابجایی ستون ها با استفاده از drag & drop وجود دارد.
در این ابزار میتوان یک تب جدید ایجاد نمود و جستجوی دیگری را به طور همزمان انجام داد. با کلیک راست بر روی هر تب 3 گزینه قابل مشاهده است:
Save : با انتخاب این گزینه شرط ها و ستونهای تب مربوطه ذخیره شده و در دفعات بعدی هر زمان ماژول Event Investigation باز شود تنظیمات مربوطه اجرا میگردد.
Clone : به منظور باز کردن تب جدید با تنظیمات تب انتخابی، مورد استفاده قرار میگیرد. در واقع تب جاری کلون میشود.
Delete : به منظور بستن تب انتخابی استفاده میشود. در صورتی که فقط یک تب باز باشد با انتخاب این گزینه ماژول بسته نمیشود.
-
قسمت شروط پیش فرض (Filter Panel)
این قسمت در پایین پنجره در سمت راست تعبیه شده است. میتوان از گزینه های مختلف جهت فیلترکردن پارامترها (بدون نیاز به نوشتن شرط ها) استفاده کرد. در ادامه گزینه های مربوطه را مورد بررسی قرار میدهیم:
GroupBy : پارامتر انتخابی را گروه بندی می کند.
GroupByAndReload : بر روی پارامترهای GroupBy شده جستجو را شروع می کند. تمام رخدادهای مربوط به هر گروه را در یک سطر نمایش میدهد. در واقع هر گروه مربوط به یک مقدار خاص از پارامتر مربوطه است.
Include : همانند عملگر In به منظور تنظیم یک مقدار مشخص برای پارامتر انتخابی مورد استفاده قرار میگیرد. به عنوان مثال زمانیکه یک Source Ip مشخص که در رخدادهای صفحه اصلی مشاهده میکنیم مد نظر باشد، بر روی پارامتر Source IP مربوطه کلیک کرده و گزینه Include را انتخاب میکنیم.
Include And Reload : همان عمل Include را انجام داده و عمل جستجو را شروع میکند.
Exclude : همانند عملگر Not In به منظور فیلتر یک مقدار برای پارامتر انتخابی، مورد استفاده قرار میگیرد.
Exclude And Reload : همان عمل Exclude را انجام داده و عمل جستجو را شروع میکند.
آموزش استفاده از عملگرها در ابزار
به منظور تعریف شرط بر روی پارامترهای پارس شده از عملگرهای مختلف استفاده میشود. در ادامه با این عملگرها آشنا میشویم:
(Equal (NotEqual : به عنوان مثال در صورتی که بخواهیم رخدادهای مربوط به یک آدرس Source یا یک Event Type خاص را مشاهده کنیم از شرط Equal استفاده میکنیم.
(GreaterThan (LessThan : به منظور بررسی شرط بزرگتر بودن (یا کوچکتر) مورد استفاده قرار میگیرد.
(Is Null (Is Not Null : زمانی که بخواهیم در یک پارامتر مقدار Null را بررسی کنیم از این عملگر استفاده میکنیم.
(In (Not In : در صورتی که بخواهیم مجموعه ای از مقادیر را در مورد یک پارامتر خاص بررسی کنیم از این عملگر استفاده میشود. به عنوان مثال اگر Event Type های خاصی مدنظر باشد از عملگر In استفاده کرده و در فیلد سمت راست آن، Event Type ها را تعریف میکنیم.
(Contains (Not Contains : به منظور جستجوی یک رشته کاراکتر مشخص در یکی از پارامترهای پارس شده از این آیتم استفاده میگردد.
(Start With (Not Start With : به منظور جستجوی رشته کاراکترهای مشخص در ابتدای یکی از پارامترهای پارس شده از این آیتم استفاده میگردد.
(End With (Not End With : به منظور جستجوی رشته کاراکترهای مشخص در انتهای یکی از پارامترهای پارس شده از این آیتم استفاده میگردد



