کارآگاه DeepLog؛ آماده برای شخم زدن لاگهای سیستم شما به جهت استخراج ناهنجاری
یه مقاله میخوایم امروز معرفی کنیم که شاید یه مقداری قدیمی باشه (مال سال ۲۰۱۷ عه) ولی چون تازه یه پیادهسازی شیک و مجلسی ازش بیرون اومده و اینکه نحوه کارش هم قشنگه ارزش شنیدن داره! بله؛ deeplog. این ابزار قراره بر روی لاگهای سیستم، آموزش ببینه تا بتونه ناهنجاری رو در رفتار سیستم تشخیص بده. با استفاده از این ابزار اگه سیستمی داشته باشید که لاگهای verbose تولید میکنه و فرمتش هم به شکل OpenStack و یا HDFS هست، میتونید بهراحتی یه سیستم تشخیص ناهنجاری بالا بیارید. شیوه کارش به این صورت است که میگه هر لاگ در سیستم یه آیدی داره و یه timestamp و یه message (کل فرمت OpenStack و HDFS همینه و همونطور که میبینید میتونید لاگهاتون رو بهراحتی به این فرمت تبدیل کنید). هر message یه کلیدی داره و اون کلید حاصل از حذف کردن پارامترهای اون لاگه.
مثلا اگه یه message از یه لاگ اینطوری باشه:
[send data to host 192.168.1.1 was completed in 0.61 seconds]
اون وقت کلید اون پیام میشه:
[send data to host * was completed in * seconds]
و پارامتر وکتورش هم میشه:
[t2-t1, 192.168.1.1, 0.61]
به عبارت دیگه کلید لاگها همیشه محدود هستند. به خاطر همین برای هر log entry یه کلید درمیاره و یه وکتوری از پارامترهاش. یکی از درایههای این وکتور هم اختلاف timestamp اون لاگ با لاگ قبلی هست. حالا برای هر کدوم از کلیدها و وکتورهای پارامتری یه مدل جداگانه train میشه اون هم از روی صرفا دادگان نرمال. مدلها هم همه LSTM هستند (از همینجا میتونم حس کنم که ذهنتون داره قلقک میاد که برید transformer رو با LSTM جایگزین کنید). مثلا مدل مربوط به کلیدها اینطوری هست که یه پنجره از کلیدهای اخیر رو میگیره و باید کلید بعدی رو حدس بزنه. برای اینکار یه احتمالی از کلیدهای بعدی رو خروجی میده (دقت کنید که در یه سیستم همونطور که گفتیم تعداد کلیدها محدوده) و اگه کلید جدید در بین g کلید با بیشترین احتمال بود که جواب normal میده و در غیراینصورت خروجی شبکه برابر با anomaly میشه. پیادهسازی مبتنی بر PyTorch هم از این سیستم موجوده که در قالب یه پکیج پایتونه و میتونید بر روی دیتای خودتون ترینش کنید. برای جزییات بیشتر به خود مقاله مراجعه کنید. مقاله خوشفهمیه!
لینک مقاله:
https://dl.acm.org/doi/10.1145/3133956.3134015
لینک پکیج پایتونی:
https://github.com/Thijsvanede/DeepLog
پ.ن: نتایج عملکرد در تصاویر اومده. مقدار F-score بر روی ۰.۹۷ قرار گرفته. باحاله نه؟!
#read
#paper
@nlp_stuff
Post #249
3.09K