مهندسی شناسایی (Detection Engineering) هم یک نقش شغلی است و هم یک فعالیت تخصصی. این رشته در واقع دیسیپلینی برای ساخت و نگهداری منطقی است که رفتارهای مخرب یا ریسکی را در سازمان شناسایی میکند. در این نقطه، تحلیل امنیتی با مهندسی نرمافزار تلاقی میکند تا لاگهای خام و تلهمتری (Telemetry) را به شناساییهای عملیاتی تبدیل کند که مدافعان شبکه بتوانند به آنها اعتماد کنند.
مهندسین شناسایی، شکاف میان عملیات امنیت (SOC)، هوش تهدید (Threat Intelligence) و زیرساخت را پر میکنند. آنها نحوه عملکرد مهاجمان، واکنش مدافعان و چگونگی تولید دادهها توسط سیستمها را درک میکنند. یک شناسایی (Detection) دقیق میتواند تفاوت بین یک هشدار حیاتی و هشداری باشد که در میان انبوهی از نویزها گم میشود.
توازن بین Precision و Recall
هر شناسایی با یک توازن میان Precision (دقت) و Recall (فراخوانی) روبروست:
- Precision: میزان قابل اعتماد بودن هشدارها را میسنجد. از میان تمام هشدارهای صادر شده، چه مقدار واقعاً مخرب بودهاند؟ دقت بالا به معنای کاهش مثبتهای کاذب (False Positives) و افزایش اعتماد تحلیلگران به ابزار است.
- Recall: میزان پوشش تهدیدات را میسنجد. از میان تمام اتفاقات مخربی که رخ داده، چه مقدار شناسایی شدهاند؟ فراخوانی بالا به معنای کاهش نقاط کور (Blind Spots) است تا تهدیدات از دید سیستم پنهان نمانند.
هدف نهایی در مهندسی شناسایی، کالیبره کردن این دو از طریق تست، تکرار و بازخورد است؛ زیرا دقت بیش از حد ممکن است منجر به نادیده گرفتن تهدیدات پیچیده شود و فراخوانی بیش از حد، تحلیلگران را در سیل هشدارهای کاذب غرق کند.
اجزای اصلی مهندسی شناسایی
۱. تعیین محدوده و اولویتبندی (Scoping)
همه چیز با تعیین هدف شروع میشود. باید مشخص شود چه چیزی قرار است شناسایی شود و چرا. تعریف تهدیدات، رفتارها یا داراییهای حیاتی و همراستا کردن آنها با چارچوبهایی مانند MITRE ATT&CK ضروری است. اولویتبندی باید بر اساس اهمیت کسبوکار و تلهمتری موجود باشد.
۲. دادهها و تلهمتری
شناساییهای عالی بر پایه دادههای عالی بنا میشوند. داشتن فهرستی از لاگها، اعتبارسنجی محتوای آنها و نرمالسازی (Normalization) و غنیسازی (Enrichment) دادهها باعث میشود شناساییها در ابزارها و محیطهای مختلف به صورت یکپارچه عمل کنند.
۳. توسعه منطق شناسایی (Detection Logic)
در این مرحله، فرضیات به کد تبدیل میشوند. کوئریها یا قوانینی نوشته میشوند که به جای شاخصهای ایستا، رفتارها را شناسایی کنند. رویکردهای ترکیبی توصیه میشود:
- Signatures: برای شناسایی شاخصهای شناخته شده نفوذ (IoCs).
- Behavioral Logic: برای شناسایی تاکتیکها، تکنیکها و رویههای (TTPs) مهاجمان.
- Anomaly Models: برای شناسایی نقاط پرت آماری.
۴. تست و اعتبارسنجی
استفاده از شبیهسازیهای مهاجم یا چارچوبهایی مانند Atomic Red Team برای تایید فعال شدن شناساییها و صحت لاگها ضروری است. کیفیت باید از طریق معیارهای Precision، Recall و همچنین سطح اطمینان (Confidence) و بحرانی بودن (Criticality) سنجیده شود.
۵. استقرار و تنظیم (Tuning)
مانیتورینگ عملکرد، شامل تعداد دفعات فعال شدن، نرخ مثبتهای کاذب و زمان پاسخگویی تحلیلگران، باید به صورت مستمر انجام شود. مهندسی شناسایی یک فرآیند تکرارشونده است و با یک بار نوشتن قانون، به پایان نمیرسد.
۶. مستندسازی و انتقال دانش
هر شناسایی باید دارای کانتکست (Context) باشد؛ اینکه چه چیزی را جستجو میکند، چرا اهمیت دارد، از چه دادههایی استفاده میکند و چگونه تست شده است. استفاده از Git برای کنترل نسخه قوانین و ایجاد Playbookها باعث میشود دانش سازمانی با تغییر کارکنان از بین نرود.
۷. معیارها و بهبود مستمر
ردیابی نتایج قابل اندازهگیری مانند میزان پوشش تکنیکهای ATT&CK، تعداد شناساییهای تایید شده و میانگین زمان شناسایی (MTTD) حیاتی است. همچنین باید شناساییهای قدیمی بازنشسته شده و از رویکردهای Detection-as-Code برای مقیاسپذیری استفاده شود.