KQLab؛ پلتفرم مدیریت کوئریهای KQL برای تیمهای SOC
خلاصهٔ کاملتر
به گفتهٔ سازنده، مشکلی که KQLab نشونه میگیره برای هر تیم SOC آشناست: تحلیلگرها بهمرور صدها کوئری KQL برای Microsoft Defender و Azure Sentinel جمع میکنن، ولی این کوئریها مستندنشده و غیرقابلجستجو تو Notepad و Notion و درایوهای مشترک پخش میشن و بین تیمها گم میشن.
راهحلش یه پلتفرم سلفهاست و رمزنگاریشده هست که همهٔ این کوئریها رو یهجا متمرکز میکنه؛ با اشتراکگذاریِ تیممحور، نگاشت به MITRE ATT&CK، پیگیری تحقیقات و احراز هویت با passphrase. تأکید پروژه روی اینه که هیچ وابستگی به فضای ابری و هیچ قفلشدن به یه فروشنده نداری — روی زیرساخت خودت مستقرش میکنی و مالک دادهٔ خودتی.
از نظر امنیتی، رمزنگاری دیتابیس با AES-256-GCM و تابع مشتقگیری کلید scrypt انجام میشه و هر مقدار ذخیرهشده salt یکتای خودشو داره. passphraseها هم با scrypt هش میشن و مقایسه بهصورت timing-safe انجام میشه؛ یعنی هیچوقت رمز سادهای ذخیره یا منتقل نمیشه. قفلشدن حساب بعد از چند تلاش ناموفق، محدودسازی نرخ درخواست، هدرهای امنیتی با Helmet و یه CSP سختگیرانه هم بخشی از کارن.
غیر از مدیریت کوئری، چند تا قابلیت کاربردی برای کار روزمرهٔ SOC داره: یه resolver برای پر کردن متغیرهای {{variables}} قبل از کپی کوئری، نگاشت کوئریها به فازهای چرخهٔ پاسخ به حادثهٔ SANS (PICERL)، بخش Investigations برای پیگیری حادثههای فعال همراه با IoCها و خط زمانی و یافتهها، و یه «Cyber watch» که فید تهدیدها رو از RSS و JSON سازمان CISA میخونه و خودکار با کوئریها تطبیق میده. خروجی گزارش هم به PDF و DOCX و HTML پشتیبانی میشه.
از نظر فنی، روی Node.js نسخهٔ ۱۸ به بالا و Express اجرا میشه و دیتابیسش SQLite از طریق better-sqlite3 هست که سرور جدا نمیخواد. فرانتاندش یه SPA با جاوااسکریپت خالص بدون هیچ فریمورک یا باندلره، و ویرایشگر کد از موتور Monaco (همون موتور VS Code) استفاده میکنه. روش پیشنهادی برای محیط عملیاتی هم استقرار با Docker پشت یه reverse proxy با TLS هست.
نکات کلیدی:
- پلتفرم سلفهاست برای متمرکزکردن کوئریهای KQL تیمهای SOC
- رمزنگاری دیتابیس با AES-256-GCM و احراز هویت با scrypt
- نگاشت به MITRE ATT&CK و چرخهٔ پاسخ به حادثهٔ SANS
- پیگیری تحقیقات با IoC، خط زمانی و خروجی گزارش PDF/DOCX/HTML
- ساختهشده با Node.js، Express و SQLite، بدون وابستگی به فضای ابری




