جمع‌­آوری Log، پردازش و تجزیه و تحلیل آن برای اهداف امنیتی

جمع‌­آوری Log

Log‌ها و رویدادها، پایه و اساس نظارت، بررسی، فارنزیک (Forensic) و سیستم­های SIEM مدرن هستند. با توجه به این مهم، در ادامه این مطلب، به طور دقیق و کامل با نحوه جمع‌آوری Log، پردازش، نگهداری و همچنین نحوه به‌کارگیری آن‌ها در مرکز عملیات امنیت (SOC) آشنا خواهیم شد.

جمع‌­آوری Log یا Log Aggregation چیست؟

جمع­‌آوری Log عبارت است از فرآیند گردآوری Logها از سیستم­های کامپیوتری مختلف، تجزیه آن­ها، استخراج داده­‌های ساختاریافته از آن‌ها و در نهایت قرار دادن آن­ها در یک قالب قابل جستجو و کاوش توسط ابزارهای داده مدرن.

چهار روش رایج برای جمع­‌آوری Log وجود دارد (بسیاری از سیستم­های جمع‌­آوری Log از ترکیبی از روش‌های مختلف استفاده می‌کنند)

  • Syslog: یک پروتکل ثبت Log استاندارد است. مدیران شبکه می‌­توانند یک سرور Syslog راه‌­اندازی کنند تا Logها را از سیستم‌های مختلف دریافت کرده و در یک قالب فشرده و مقرون‌به‌صرفه، به گونه‌ای که به سادگی اجرای Query بر روی آن‌ها ممکن باشد، ذخیره کند. ابزارهای جمع‌آوری Log می­توانند به طور مستقیم داده­‌های Syslog را خوانده و پردازش کنند.
  • Event Streaming: پروتکل­‌هایی مانند SNMP، Netflow و IPFIX به دستگاه­‌های شبکه امکان ارائه اطلاعات استاندارد درباره فعالیت‌های خود را می‌دهند. ابزارهای جمع‌آوری Log قادر هستند این اطلاعات را دریافت کرده و پس از تجزیه و تحلیل، به مخزن Log مرکزی اضافه کنند.
  • جمعآوریکننده Log: عوامل نرم­‌افزاری که بر روی دستگاه­‌های شبکه اجرا می‌شوند، اطلاعات Log را ضبط کرده و پس از تجزیه، برای ذخیره­‌سازی و تحلیل به یک مولفه جمع‌آوری‌کننده مرکزی ارسال می­‌کنند.
  • دسترسی مستقیم: ابزارهای جمع‌آوری Log می­توانند با استفاده از API یا پروتکل‌های شبکه مستقیما به دستگاه‌های شبکه یا سیستم­های کامپیوتری متصل شده و Logها را به طور مستقیم دریافت کنند. این رویکرد نیازمند یکپارچه‌سازی سفارشی و مخصوص برای هر منبع داده است.

پردازش Log چیست؟

پردازش Log عبارت است از دریافت Logهای سیستمی خام از منابع مختلف، شناسایی ساختار یا الگوی آن­ها و تبدیل آن‌ها به یک منبع داده منسجم و استاندارد.

روند پردازش Log

  • تجزیه Log: هر Log از مجموعه‌ای از فیلدهای داده و مقادیر متناظر تشکیل شده است. با این حال، فرمت Logها در سیستم­های مختلف و حتی Logهای مختلف یک سیستم متفاوت است.

تجزیه‌کننده Log مولفه‌ای نرم‌­افزاری است که قادر است Logهایی با یک فرمت مشخص را به عنوان ورودی دریافت کرده و آن‌ها را به داده‌های ساختاریافته تبدیل کند. نر‌م­‌افزارهای جمع‌آوری Log شامل ده‌ها یا صدها تجزیه‌کننده هستند است که برای پردازش Logهای سیستم­های رایج نوشته شده‌اند.

  • نرمالسازی و دسته­بندی Logها: نرمال‌سازی، رویدادهای حاوی داده‌­های متفاوت را در یک فرمت کاهش‌یافته، که شامل ویژگی­‌های مشترک رویدادها است، ادغام می­‌کند. بیشتر Logها اطلاعات پایه مشابهی – مانند زمان، آدرس شبکه، عملیات صورت گرفته و … – را ضبط می­‌کنند.

دسته­‌بندی شامل افزودن معنی به رویدادها – شناسایی Logهای داده مربوط به رویدادهای سیستم، احراز هویت، عملیات‌های راه دور/محلی و … – است.

  • غنیسازی Log: غنی‌سازی Log فرایندی است که طی آن اطلاعاتی مهم که منجر به مفیدتر شدن Logها می‌شود، به این داده‌ها افزوده می‌شود.

به عنوان مثال، در صورتی که Logها شامل آدرس­‌های IP اما فاقد مکان فیزیکی واقعی کاربرانی دسترسی‌یابنده به یک سیستم باشند، یک تجمیع‌کننده Log می­‌تواند از یک سرویس داده موقعیت جغرافیایی استفاده کرده و پس از یافتن موقعیت­‌ها، آن­ها را به داده­‌ها اضافه کند.

  • نمایهسازی Log: شبکه­‌های مدرن، مقادیر بسیار زیادی از داده­‌های Log تولید می­‌کنند. برای جست­وجو و کاوش کارا بر روی داده­‌های Log، لازم است تا نمایه‌ای از ویژگی­‌های مشترک تمام داده­‌های Log ایجاد شود.

در مقایسه با اسکن کامل داده‌های Log، جست­وجوها یا Queryهایی که از ایندکس استفاده می­کنند، به مراتب سریع­تر انجام می‌­شوند.

  • ذخیرهسازی Log: با توجه به حجم بسیار زیاد داده‌های Log و رشد نمایی آن‌ها، فناوری ذخیره‌سازی Log به سرعت در حال تکامل است. به طور سنتی، جمع‌آوری‌کنندگان Log، این داده‌ها را در یک مخزن مرکزی ذخیره می‌­کردند. اما امروزه، Logها به طور فزاینده­ای بر بستر فناوری Data Lake و ابزارهایی مانند مانند Amazon S3 یا Hadoop ذخیره می­شوند.

دریاچه‌های داده قادر هستند از حجم ذخیره نامحدود با هزینه ذخیره افزایشی کم پشتیبانی کرده و از طریق موتورهای پردازش توزیع‌شده‌ای همچون MapReduce یا ابزارهای تجزیه و تحلیل کارا، دسترسی به داده را تامین کنند.

جمع‌آوری Log چه اطلاعاتی را ضبط می­‌کند؟

ابزارهای جمع‌آوری Log، فایل‌­های Log رویدادها را از برنامه­‌ها و دیگر منابع زیرساخت IT ضبط می­‌کنند. Logهای رویدادها، در زمانی وقوع انواع به خصوصی از رویدادها در برنامه به طور خودکار توسط سیستم‌های کامپیوتری تولید می­‌شوند. با توجه به شدت رویداد و همچنین میزان ضرورت موردنیاز برای پاسخ‌گویی، Logهای رویدادها را می­توان صورت زیر طبقه‌بندی نمود:

  • اطلاعات: Logهای اطلاعاتی تغییرات در وضعیت برنامه یا تغییرات در موجودیت‌های درون برنامه را مستند می‌کنند. این Logها برای تعیین وقایع رخ داده در یک بازه زمانی مشخص در برنامه مفید هستند. یک Log اطلاعاتی ممکن است در صورت وقوع یکی از موارد زیر ایجاد شود:
    • خاتمه یک Batch زمان‌بندی شده
    • بارگیری موفق برنامه
    • کپی برخی از فایل‌ها توسط یک کاربر
    • مقداردهی صحیح اولیه یک Driver.

درحالی که سایر دسته‌های Log برای ثبت و گزارش عملیات­‌های ناموفق مورد استفاده قرار می‌گیرند، Logهای اطلاعاتی بر روی وظایفی که با موفقیت خاتمه یافته‌اند، تمرکز دارند.

  • خطاها/خرابی­های برنامه: برنامه‌ها باید در صورت مواجهه با خطا به­‌طور خودکار Logهایی از دسته خطا ایجاد کنند. در اینجا خطا به معنای عملکرد نادرست برنامه و عدم امکان بازیابی بوده و ممکن است کاربران محیط تولید را تحت تأثیر قرار داده و منجر به قطع خدمات و تجربه ضعیف مشتریان شود. برای به حداقل رساندن تأثیر خطاهای برنامه‌ای که بر سرویس‌های حیاتی تأثیرگذار هستند، Logهای خطا نیاز به رسیدگی فوری دارند.
  • هشدارها/ اختلالها در عملکرد برنامه: یک Log هشدار زمانی ایجاد می‌شود که یک برنامه علی‌رغم ناتوانی در انجام عملیات موردنظر، قادر به بازیابی و ارائه سرویس باشد.

هشدارها و خطاها تا حدودی شبیه به یکدیگر به نظر می‌رسند؛ با این حال، می‌توان از توصیف زیر برای تمایز آن‌ها استفاده کرد:

  • در صورتی که یک برنامه در نتیجه فراخوانی پایگاه داده X، که به واسطه یک عمل صورت گرفته توسط یک کاربر انجام شده، از کار بیافتد، نتیجه یک Log خطا است.
  • در صورت که یک برنامه در نتیجه فراخوانی پایگاه داده X، که به واسطه یک عمل صورت گرفته توسط یک کاربر انجام شده، با تاخیر بیش از حد انتظار مواجه شود، نتیجه یک Log هشدار است.

Logهای هشدار به اندازه Logهای خطا اورژانسی نیستند؛ با این حال باید با رسیدگی نسبتا سریع به آن‌ها از تاثیرات منفی بر روی خدمات مشتریان پیش‌گیری شود.

  • رویدادهای امنیتی مثبت: بیشتر برنامه­‌ها در نتیجه خاتمه موفقیت‌آمیز یک رویداد امنیتی یک پاسخ Login ایجاد می‌کنند. از جمله چنین رویدادهای امنیتی می‌توان به مواردی همچون ورود کاربر به کامپیوتر، ورود کاربر به یک پایگاه داده یا یک برنامه، پاسخ کاربر به یک سوال امنیتی یا انجام هر نوع دیگری از احراز هویت (رمز یک‌بارمصرف، داده­های بیومتریک، مکان، احراز هویت Out-of-band و غیره) اشاره کرد.
  • رویدادهای امنیتی­ منفی: ابزارهای جمع‌آوری Log، علاوه بر ثبت رویدادهای با موفقیت خاتمه‌یافته، رویدادهای امنیتی ناموفق را نیز ردیابی می­‌کنند. هر بار که رمز اشتباه توسط یک کاربر وارد می‌شود، پاسخی اشتباه به یک سوال امنیتی داده می‌شود یا به طریقی دیگر فرایند احراز هویت با شکست روبرو شود، یک Log برای ثبت رویداد ایجاد می­‌شود.

علاوه بر نوع رویداد، Logها معمولا شامل موارد زیر هستند:

  • داده­‌هایی که رویداد بر روی آن‌ها واقع شده
  • زمانی وقوع رویداد
  • توصیفی از رویداد و در صورت امکان یک کد خطا
  • پروفایل کاربر فعال در زمان وقوع رویداد
  • نام کامپیوتر یا نقطه پایانی شبکه که رویداد در آن واقع شده
  • یک شماره شناسایی رویداد برای ارجاع
  • منبع رویداد

 منابع:

https://www.exabeam.com/siem-guide/events-and-logs

https://www.sumologic.com/glossary/log-aggregation

ایمیل خود را وارد کنید و عضو خبرنامه شوید.
Start typing to see posts you are looking for.

جهت ثبت درخواست همین حالا فرم را تکمیل نمایید.

با تکمیل فرم و ارسال درخواست خود، همکاران و کارشناسان ما در اسرع وقت با شما تماس خواهند گرفت.

جهت دانلود کاتالوگ شرکت همین حالا فرم را تکمیل نمایید.

جهت دانلود گزارش امنیتی 2023 همین حالا فرم را تکمیل نمایید.

در دنیای امنیت چه خبر؟
جهت دریافت آخرین اخبار دنیای امنیت شبکه و اطلاعات ایمیل خود را وارد کنید.