دفاع سایبری با عملکرد بالا بههیچعنوان کار سادهای نیست. جمعآوری داده و اعمال مجموعهی متغیری از روشهای شناسایی به انبوهی از دادهها نیازمند هوش تهدیدات، یک پشتهی تکنولوژی توانمند و تیمی ماهر پشت همهی این موارد است. در قلب مرکز عملیات امنیت (SOC) یک عملیات جمعآوری دادهی عظیم و پیچیده وجود دارد. از آنجا که تیمها به اطلاعات مربوط به رخدادها، هم در سطح شبکه و هم در سطح Host نیاز دارند، دسترسی به دادههای مناسب یکی از اولین چالشهایی است که هر تیمی باید با آن مواجه شود.
انواع داده
اطلاعات جمعآوری شده را میتوان در دو گروه کلی تقسیمبندی کرد، دادههای مانیتورینگ امنیتی شبکه و دادههای مانیتورینگ Endpoint (که گاهی مانیتورینگ امنیتی مداوم نامیده میشود). این دادهها از تمام نقاط شبکه جمعآوری میشوند و بسیاری از آنها برای جستجوی آسان، تصویرسازی، شکار ناهنجاری و گزارشگیری در یک راهکار SIEM متمرکز میگردند. در ادامهی این مطلب انواع داده و منابع کلیدی هرکدام توضیح داده خواهد شد. این دادهها باید جمعآوری شوند تا به تیم عملیات امنیت بهترین شانس ممکن برای موفقیت در شناسایی حملات پیشرفته ارائه گردد.
رکورد جریان یا Flow Records
رکورد جریان بالاترین سطح از Logهای مانیتورینگ امنیتی هستند که عموماً جزئیات OSI لایه ۳ و ۴ (TCP/IP) و همچنین جزئیات زمانبندی را شرح میدهند. از نکات مثبت Logهای جریان میتوان به این امر اشاره کرد که معمولاً بهسادگی در دسترس تیمهای امنیتی هستند زیرا معمولاً برای مانیتورینگ عملکرد مورد استفادهی تیمهای عملیات شبکه قرار میگیرند و به دلیل دادههای محدود خود فضای نسبتاً کمی را برای ذخیره اشغال میکنند. از نکات منفی Logهای جریان میتوان به این امر اشاره کرد که معمولاً آنقدر پرجزئیات نیستند که حقیقتاً مشخص کنند آیا احتمال حمله وجود دارد یا خیر، مگر اینکه برای تطبیق با IOCها مثل آدرسهای IP یا مشخص کردن محل ناهنجاریهای ترافیک مورد استفاده قرار بگیرند.
ابزار و قالبهای متداول: Logهای مبتنی بر متن که توسط ابزاری مثل Zeek یا Suricata یا قالبهای اختصاصی مثل NetFlow، JFlow، NetStream، Zeek Conn Logs، sFlow و غیره ایجاد گردند.
موارد مفید برای پروفایلبندی
- حجم ترافیک / پهنای باند
- شروع، توقف و طول ارتباطات
- منبع گفتگو و IPهای مقصد
- پورتهای مبدا و مقصد
- پروتکلها (با فرض اینکه پورتها با سرویسهای متداول مورد استفاده قرار میگیرند؛ تضمینی نیست)
دادههای تراکنش یا Transaction Data
دادههای تراکنش (که معمولاً تحت عنوان Logهای سرویس نیز شناخته میشوند) دادههای جریان در سطح Log را تا OSI لایه ۷، لایه برنامه کاربردی بسط میدهد. این نوع از داده توسط ابزاری ایجاد میشود که به کل Packet نگاه میکنند و تجزیهوتحلیلی حقیقی از پروتکلهای مورد استفاده و جزئیات اطلاعات ارائه میدهند. این تجزیهوتحلیل اطلاعاتی را در مورد گواهیهای TLS، تراکنشهای HTTP و غیره فراهم میکند و برای شناسایی حملات بسیار مفیدتر است، زیرا بسیاری از IOCهای جمعآوریشده توسط یک مرکز SOC برای تطبیق (مثل Hashها، نامهای دامین، جزئیات گواهی TLS، User-Agentها و غیره) تنها وقتی قابلمشاهده میشوند که ترافیک در این عمق مورد تجزیهوتحلیل قرار گیرد. مراکز SOC باید تلاش کنند دادههای تراکنشی را جمعآوری نمایند زیرا دادههای تراکنشی هنوز یک Log مبتنی بر متن و فقط کمی بزرگتر از Logهای جریان هستند و درنتیجه میتوان آنها را نسبتاً با هزینهی کم ایجاد و ذخیره نمود.
ابزار و قالبهای متداول: Logهای مبتنی بر متن که توسط ابزاری مثل Zeek، Suricata و چندین راهکار مانیتورینگ شبکهی تجاری و NDR یا Network Detection & Response تولید میشوند.
موارد مفید برای پروفایلبندی
- هر چیزی از بخش Logهای جریان تا…
- پروتکلهای لایه برنامه کاربردی مورد استفاده
- جزئیات لایه Presentation و Session (مثلاً جزئیات گواهی TLS)
- جزئیات گفتگوهای لایه برنامه کاربردی (مثلاً: روشهای HTTP، Agentهای کاربر، URLها، Hostnameها و غیره)
- تطبیقهای بالقوه برای IOCهای شناختهشدهی مخرب
Full Packet Capture
گاهی اوقات حتی فرادادهی لایه برنامهی کاربردی برای تصمیمگیری درست و غلط بودن، در یک بررسی حادثه کافی نیست. در این شرایط Full Packet Capture هر بایتی که از طریق سیم ارسال میشود را فراهم میکند و تیمهای امنیتی میتوانند آنها را مورد استفاده قرار دهند تا به حقیقت ماجرا در مورد یک بررسی پی ببرند. دو مشکل متداول و بزرگ با Full Packet Capture وجود دارد: رمزگذاری و حجم داده. رمزگذاری میتواند فایدهی Packet Capture را تا حد زیادی کاهش دهد، مگر اینکه رمزگشایی TLS پیش از Capture برای رمزگشایی آن مورد استفاده قرار بگیرد (اگر قابلیت رمزگشایی وجود نداشته باشد، میتوان فیلترهای سبک BPF را مورد استفاده قرار داد تا دادههایی که بیفایده خواهند بود Capture نشوند). به دلیل کامل بودن محتوای Packet Capture، حجم دادهها در مقایسه با Logهای جریان و تراکنش بسیار بزرگتر است. درنتیجه دورههای نگهداری برای Packet Capture معمولاً بسیار کوتاهتر از Logهای جریان و تراکنش خواهند بود. توجه کنید که هرچند دستیابی به Packet Capture در گذشته برای سرویسهای Cloud بسیار دشوارتر بود، اکثر پلتفرمها اکنون راهکارهایی را جهت Packet Capture برای داراییهای Cloud ایجاد کردهاند.
ابزار و قالبهای متداول: PCAP و PCAP-NG قالبهای Storage اصلی برای دادههای Full Packet Capture هستند. برای ضبط Packet Capture به طور مداوم، ابزارهای متعددی هم بهصورت متن باز و هم تجاری وجود دارد. گزینههای رایگان شامل ابزاری مثل Moloch، Google Stenographer و netsniffing است که توسط توزیعهای NSM مثل Security Onion مورد استفاده قرار میگیرد. Amazon VPC Traffic Mirroring، Azure Network Watcher و Google GCP Packet Mirroring میتوانند برای خدمات ،Cloud قابلیت دید به ترافیک شبکهی Cloud را فراهم کنند.
موراد مفید برای پروفایلبندی
- هر چیزی از بخش Logهای جریان و تراکنش تا…
- تجزیهوتحلیل محتوایی کامل Packetها (مثلاً: محتوای بدنهی HTTP GET/POST)
- حکاکی (Carving) روی بدافزار و فایلهای منتقل شده جهت تجزیهوتحلیل
- تجزیهوتحلیل جرمشناسانهی دقیق تراکنش شبکه
- تجزیهوتحلیل پروتکل عمیق
- پاسخ به حوادث پیشرفته و مهندسی معکوس حملات
فرصتهای جمعآوری ترافیک
ازآنجاییکه انواع داده با سطوح بالاتری از جزئیات را میتوان برای ایجاد انواع داده با جزئیات پایینتر مورد استفاده قرار داد، یک Packet Capture واحد میتواند برای ایجاد یک Packet Capture کامل، Logهای تراکنش و سوابق جریان مورد استفاده قرار گیرد. اگر تیم شما دارای Tapهای شبکه یا پورتهای Mirror قابل دسترسی برای Feedهای Packet Capture کامل نباشد، هنوز هم تجهیزهای شبکه و سنسورهای IDS زیادی وجود دارند که میتوانند Logهای جریان و سطح سرویس را ایجاد نمایند (مثلاً فایروال نسل بعدی یا NGFW) یا ابزار متن باز مثل Suricata). تیمها همچنین باید تلاش کنند تا دادهها را با هر روشی که برایشان کارآمدتر و پایدارتر است جمعآوری نمایند. برخی از گزینهها برای جمعآوری دادههای مانیتورینگ شبکه و نحوهی تبدیل آنها از یک شکل به شکل دیگر در ادامه نمایش داده شده است.
مانیتورینگ Endpoint
مانیتورینگ Endpoint نوع دیگری از مانیتورینگ داده است که باید توسط یک مرکز SOC جمعآوری گردد تا اطمینان حاصل شود که حملات شناسایی شده و بهصورت دقیق و بهموقع به آنها پاسخ داده میشود. جمعآوری دادههای Endpoint، جزئیاتی را در مورد فرایندها، لاگینها، سرویسها و دیگر اطلاعات کلیدی درمورد اتفاقات رخ داده بر روی دستگاهها، فراهم میکند. این دادهها که معمولاً به شکل Logهای متنی وجود دارند، توسط سیستم عاملها، برنامههای کاربردی و Agentهای امنیتی ایجاد میگردند که روی دستگاه وجود دارند و در اکثر مواقع توسط Agentهای Log جمعآوری شده و در یک سامانه SIEM متمرکز میگردند.
در بخش دوم این مطلب در خصوص انواع رخدادهایی که باید جمعآوری شوند و همچنین منابعی که میتوان از آنها برای جمعآوری داده و لاگ استفاده کرد، صحبت خواهیم کرد.