سلام به همه شما علاقهمندان به دنیای امنیت سایبری! من، میزبان شما، به یک اپیزود دیگه از پادکست امنیت سایبری ما خوش آمدید میگم.
آیا تا به حال به یک لاگ نگاه کردهاید که فقط یک سری آیپی و پورت باشد و از خودتان بپرسید، خب، این الان یعنی چی؟ یک آیپی از شبکه ما به یک آیپی دیگه در اینترنت وصل شده. آیا این یک ارتباط عادی و روزمره است یا نشونهای از یک اتفاق خطرناک؟ اینجاست که ارزش پنهان لاگها مشخص میشه.
امروز میخواهیم یاد بگیریم چطور به این لاگهای خام، هویت و داستان ببخشیم. چطور اونها رو از یک سری عدد و رقم بیمعنی، به اطلاعاتی عملی و قابل فهم برای یک تحلیلگر امنیت تبدیل کنیم، اون هم با ابزار قدرتمند Splunk. به این فرآیند میگن “غنیسازی لاگ” یا Log Enrichment.
در این اپیزود، قراره با هم چند تا از کاربردیترین تکنیکهای غنیسازی رو مرور کنیم:
- از قدرت DNS برای ترجمه زبان ماشین به زبان انسان استفاده میکنیم.
- یاد میگیریم چطور با GeoIP، فراتر از نقشه بریم و از اطلاعات جغرافیایی برای فیلترهای هوشمند استفاده کنیم.
- با یک لیست جادویی به اسم “Cisco Umbrella Top 1 Million”، یاد میگیریم چطور ۹۰ درصد از نویزها رو حذف کنیم و روی موارد مشکوک تمرکز کنیم.
- و در نهایت، با فیدهای اطلاعاتی تهدید (Threat Intelligence) آشنا میشیم تا بتونیم تهدیدات شناختهشده رو در لحظه شناسایی کنیم.
پس با ما همراه باشید تا یاد بگیریم چطور دادههای خام رو به دانش عملی تبدیل کنیم.
2. غنیسازی لاگهای شبکه: چرا و چگونه؟
وقتی با لاگهای شبکه سروکار داریم، معمولاً با سه نوع داده مواجه میشیم: آدرسهای IP، نامهای دامنه و URLها. این اطلاعات به خودی خود ارزشمند هستن، اما برای یک تحلیلگر امنیتی که زیر بار میلیونها لاگ در روز قرار داره، کافی نیستن. غنیسازی لاگ دقیقاً همینجاست که وارد عمل میشه و به تیم امنیتی کمک میکنه تا کارآمدتر باشه.
بیایید با یک مثال ساده تفاوت رو درک کنیم. یک لاگ خام، مثل یک شماره تلفن ناشناس روی نمایشگر گوشی شماست. شما فقط یک سری عدد میبینید. اما یک لاگ غنیشده، مثل اینه که همون شماره در دفترچه تلفن شما ذخیره شده باشه و کنارش نام، شرکت، آدرس و حتی عکس صاحب شماره هم نمایش داده بشه. این “افزودن زمینه” (Adding Context)، دنیای متفاوتی رو برای تحلیلگر ایجاد میکنه.
این زمینه اضافی به ما قابلیتهای فوقالعادهای برای فیلتر کردن میده. در محیطهای شلوغ سازمانی، حجم عظیمی از ترافیک، عادی و بیخطر هست. غنیسازی به ما اجازه میده این ترافیک عادی رو به راحتی کنار بذاریم و تمرکزمون رو روی موارد واقعاً مشکوک و ناشناخته متمرکز کنیم. این کار باعث کاهش چشمگیر نویز میشه.
خب، یکی از اولین و پایهایترین قدمها برای هویت بخشیدن به آیپیها، استفاده از DNS هست. بریم ببینیم چطور در Splunk کار میکنه.
3. قدرت DNS Lookups در Splunk: ترجمه زبان ماشین به زبان انسان
برای یک تحلیلگر امنیت، داشتن همزمان آدرس IP و نام دامنه (DNS name) یک مزیت استراتژیک محسوب میشه. آیپی به ما میگه “کجا”، اما نام دامنه به ما میگه “چه کسی” یا “چه چیزی”. این دو در کنار هم، تصویر کاملتری از یک ارتباط شبکه به ما میدن.
در دنیای DNS دو نوع lookup اصلی داریم:
- Forward DNS lookup:
- این یعنی شما یک نام دامنه (مثلاً
google.com) رو میدید و آدرس IP متناظر با اون رو تحویل میگیرید. - Reverse DNS lookup:
- این برعکس عمل میکنه. شما یک آدرس IP رو میدید و نام دامنه مرتبط با اون رو دریافت میکنید.
در یک سناریوی واقعی، وقتی یک هشدار از سیستم IDS مبنی بر ارتباط با یک IP مشکوک دریافت میکنید، Reverse DNS اولین قدم شما برای فهمیدن این است که آیا این IP به یک دامنه شناختهشده مثل updates.microsoft.com تعلق دارد یا به یک دامنه تصادفی و عجیب مثل x9z-malware-c2.cc. این تفاوت کوچک، مسیر کل تحقیق شما را مشخص میکند.
در اکوسیستم Splunk، پیادهسازی این قابلیت بسیار ساده است. شما میتونید از دستور lookup در زبان جستجوی Splunk (SPL) استفاده کنید تا به صورت خودکار این ترجمه رو برای فیلدهای IP یا دامنه در رویدادهاتون انجام بدید. همچنین اپلیکیشنهای زیادی در Splunkbase وجود دارند که این فرآیند رو به صورت کاملاً خودکار و بهینه برای شما انجام میدن.
یک نکته کلیدی: صحت این اطلاعات کاملاً به صحت محیط DNS شما بستگی داره. اگر سرورهای DNS شما اطلاعات غلط یا قدیمی داشته باشند، این اطلاعات غلط میتونه یک تحلیلگر رو در حین یک تحقیق امنیتی حساس، به کلی از مسیر منحرف کنه. پس قبل از هر چیز، از سلامت زیرساخت DNS خودتون مطمئن بشید.
خب، حالا که به آیپیها هویت دادیم، وقتشه که موقعیت جغرافیایی اونها رو هم مشخص کنیم.
4. فراتر از نقشه: استفاده هوشمندانه از GeoIP در Splunk
وقتی اسم GeoIP میاد، اولین چیزی که به ذهن اکثر ما میرسه، یک نقشه خوشگل از کره زمینه که نشون میده ترافیک ما از کدوم شهر و کشور میاد. این کاربرد خوبیه، اما قدرت واقعی GeoIP در جای دیگهای نهفته: فیلتر کردن هوشمندانه.
دیتابیسهای GeoIP علاوه بر شهر و کشور، اطلاعات فوقالعاده مفیدی مثل شماره سیستم خودگردان یا Autonomous System Number (ASN) رو هم در اختیار ما قرار میدن. ASN یک شناسه منحصر به فرد برای یک شبکه بزرگ مثل شبکه مایکروسافت، گوگل یا یک سرویسدهنده اینترنت بزرگه.
برای اینکه ارزش این موضوع رو درک کنید، این مثال رو در نظر بگیرید: سیستمهای ویندوزی در یک سازمان، دائماً در حال ارتباط با سرورهای مختلف مایکروسافت هستن. این ارتباطات، میلیونها لاگ تولید میکنن. حالا شما دو راه دارید:
- لیستی از ۱۹,۵۹۳,۹۸۴ آدرس IP متعلق به مایکروسافت تهیه کنید و سعی کنید اونها رو فیلتر کنید.
- فقط یک ASN که متعلق به کل شرکت مایکروسافت هست (ASN 8075) رو فیلتر کنید.
کدوم راه هوشمندانهتره؟ قطعاً راه دوم! فیلتر کردن بر اساس IP مثل اینه که بخواید نامههای کارمندان یک شرکت بزرگ رو تک تک چک کنید، اما فیلتر کردن بر اساس ASN مثل اینه که کل نامههایی که به صندوق پستی اصلی اون شرکت میره رو یکجا کنار بذارید!
در Splunk، این کار به سادگی با دستور iplocation در SPL قابل انجامه. مثلاً کافیست در انتهای جستجوی خود این را اضافه کنید: | iplocation src_ip. به همین سادگی، فیلدهایی مثل Country، City و مهمتر از همه ASN به رویدادهای شما اضافه میشود. همچنین میتونید دیتابیسهای GeoIP مثل MaxMind رو به عنوان یک فایل lookup در Splunk تعریف کنید و از اون در جستجوهاتون استفاده کنید.
این تکنیک یک فیلترینگ هوشمندانه بود. بریم سراغ یک تکنیک قدرتمند دیگه که بر اساس محبوبیت کار میکنه.
5. لیست Cisco Umbrella Top 1 Million: فیلتر کردن هوشمندانه نویز
یک استراتژی تاکتیکی خیلی خوب در تحلیل امنیتی اینه که به جای گشتن دنبال “سوزن در انبار کاه”، اول “کاه” رو از معادله حذف کنیم. یعنی به جای اینکه دنبال ترافیک مخرب بگردیم، اول ترافیک سالم و شناختهشده رو فیلتر کنیم تا چیزی که باقی میمونه، ترافیک مشکوک و ناشناخته باشه.
اینجاست که لیست “Cisco Umbrella Top 1 Million” وارد میشه. این لیست، شامل یک میلیون دامنهای هست که بیشترین درخواست DNS رو در شبکه جهانی Umbrella سیسکو داشتن. نکته مهم اینه که این لیست بر اساس ترافیک واقعی DNS تهیه شده، نه فقط ترافیک وب (HTTP)، پس دید جامعتری به ما میده.
تأثیر این تکنیک شگفتانگیزه. با فیلتر کردن ترافیک مربوط به این یک میلیون دامنه محبوب، میتونیم حجم دادههایی که نیاز به تحلیل دستی دارن رو تقریباً تا ۹۰ درصد کاهش بدیم! این برای تیمهای امنیتی که با کمبود منابع و نیروی انسانی مواجه هستن، یک مزیت فوقالعاده بزرگه.
البته این تکنیک یک ریسک و فرض اصلی داره: “ما فرض میکنیم که سایتهای محبوب، امن هستند، که همیشه هم اینطور نیست.” بله، ممکنه یک سایت محبوب هم هک بشه. برای همین، این یک ابزار تاکتیکی برای شروع تحقیقاته، نه یک قانون قطعی. اگر در دادههای باقیمونده چیزی پیدا نکردیم، میتونیم فیلتر رو برداریم و همه چیز رو بررسی کنیم.
پیادهسازی این تکنیک در Splunk بسیار راحته. کافیه این لیست رو دانلود کنید، اون رو به یک فایل lookup تبدیل کنید و بعد در جستجوهای SPL خودتون از اون استفاده کنید. در SPL، این کار میتواند به این شکل باشد:
... | lookup umbrella_top1m domain as dest_domain OUTPUT is_popular | where is_popular != "true".
با این دستور، شما تمام ترافیکی که به دامنههای محبوب میرود را حذف کرده و فقط روی موارد ناشناخته تمرکز میکنید.
تا اینجا ما از هوش خارجی برای غنیسازی دادههامون استفاده کردیم. اما اگه بهتون بگم باارزشترین زمینه، یعنی “جواهرات سلطنتی” غنیسازی، از قبل داخل خود Splunk شما وجود داره چی؟ بیایید این گنجینه داخلی رو باز کنیم.
6. گنجینه داخلی: استفاده از دادههای موجود در خود Splunk برای غنیسازی
یکی از مؤثرترین و دقیقترین روشهای غنیسازی، استفاده از دادههایی هست که شما از قبل در Splunk ایندکس کردید. اطلاعاتی مثل لاگهای DNS داخلی، لاگهای DHCP، یا اطلاعات کاربران از Active Directory، یک گنجینه ارزشمند برای اضافه کردن زمینه به لاگهای دیگه هستن.
در Splunk، ما برای این کار مکانیزمهای قدرتمندی داریم:
- دستور
lookup: این دستور فقط برای فایلهای خارجی نیست. شما میتونید نتایج یک جستجوی ذخیرهشده یا یک KV Store داخلی رو به عنوان منبع lookup تعریف کنید. مثلاً میتونید لیستی از تمام سرورهای داخلی و کارکرد اونها رو به عنوان یک lookup تعریف کنید. بعد، هر وقت در لاگ فایروال یک IP داخلی دیدید، Splunk به صورت خودکار به شما میگه این IP متعلق به کدوم سرور و با چه کارکردی هست. یک نکته حرفهای در Splunk این است که میتوانید این lookupها را به صورت خودکار و در زمان جستجو (search-time) با استفاده ازprops.confپیکربندی کنید. این یعنی تحلیلگران شما حتی نیاز ندارند دستورlookupرا تایپ کنند؛ اطلاعات غنیشده به صورت خودکار به دادههایشان اضافه میشود. - همبستهسازی (Correlation): اینجاست که قدرت واقعی Splunk مشخص میشه. بیایید یک سناریو رو با هم مرور کنیم: فرض کنید در لاگ فایروال یک ارتباط از شبکه شما به یک IP مشکوک در اینترنت میبینید. در Splunk میتونید به صورت خودکار یک جستجوی دیگه اجرا کنید که در همون لحظه، لاگهای DNS شما رو بگرده و به شما بگه دقیقاً کدوم کاربر و از کدوم سیستم، درخواست ارتباط با دامنه مرتبط با اون IP رو داشته. این یعنی وصل کردن نقاط به هم و پیدا کردن ریشه ماجرا در چند ثانیه! این قدرت همبستهسازی لحظهای، تفاوت بین شناسایی یک نفوذ در چند دقیقه و پیدا کردن آن پس از چند هفته است. تمام دادهها در یک پلتفرم هستند و نیازی به خروج از Splunk و کار با ابزارهای جداگانه نیست.
به صورت کلیتر، Data Models در Splunk هم به ما کمک میکنن تا این دادههای مختلف رو ساختار بدیم و این نوع همبستهسازیها رو سریعتر و بهینهتر انجام بدیم.
حالا که از منابع داخلی استفاده کردیم، وقتشه که نگاهمون رو به دنیای خارج و لیستهای سیاه شناختهشده بندازیم.
7. آشنایی با فیدهای اطلاعاتی تهدید (Threat Intelligence)
فید اطلاعاتی تهدید یا Threat Intelligence Feed، در سادهترین تعریف، یک “لیست سیاه” از آدرسها، دامنهها، هش فایلها و سایر شاخصهاییه که به عنوان عوامل مخرب شناخته شدن. این فیدها به شما کمک میکنن تا تهدیدات شناختهشده رو به سرعت شناسایی کنید.
اما یک دیدگاه نقادانه و مهم وجود داره که باید بهش توجه کنیم: این فیدها مفید هستن، اما نباید باعث ایجاد “حس امنیت کاذب” بشن. چرا؟ چون این فیدها فقط در برابر تهدیدات شناختهشده کارایی دارن. اونها نمیتونن به شما در برابر حملات جدید (Zero-day) یا حملات هدفمندی که اختصاصاً برای سازمان شما طراحی شده، کمکی کنن.
فیدهای اطلاعاتی یک ابزار کمکی عالی هستند، اما اگر استفاده از آنها باعث شود شما از بهداشت سایبری مناسب، فرآیندها و افراد متخصص خود غافل شوید، بهتر است تمرکز خود را تا زمان حل آن مسائل، تغییر دهید. این فیدها هرگز جایگزین نیروی انسانی کاربلد نمیشوند.
این فیدها به دو دسته اصلی تقسیم میشن: تجاری که راهاندازی سریعتری دارن اما هزینه و انعطافپذیری کمتری دارن، و متنباز (Open-source) که رایگان هستن اما به منابع داخلی برای مدیریت و نگهداری نیاز دارن.
در محیط Splunk، این فیدها معمولاً از طریق اپلیکیشنهای اختصاصی که در Splunkbase موجود هستن، یا از طریق فریمورک Threat Intelligence که در محصول Splunk Enterprise Security (ES) تعبیه شده، یکپارچه میشن.
حالا بیاید با سه تا از پلتفرمهای کلیدی در این حوزه آشنا بشیم.
8. معرفی سه پلتفرم کلیدی Threat Intelligence
8.1. Collective Intelligence Framework (CIF)
CIF یک چارچوب (Framework) متنبازه که برای جمعآوری و یکپارچهسازی فیدهای مختلف طراحی شده. یک نکته بسیار کاربردی در مورد CIF این است که در نصب پیشفرض آن، چندین فید اطلاعاتی متنباز (OSINT) وجود دارد که به صورت خودکار و ساعتی بهروزرسانی میشوند. همچنین، CIF فقط به فیدهای تهدید محدود نمیشه، بلکه میتونه لیستهای سفید (Allow Lists) مثل همون لیست Umbrella Top 1 Million رو هم مدیریت کنه. خروجی CIF میتونه به سادگی به عنوان یک منبع lookup در Splunk استفاده بشه تا هم ترافیک مشکوک و هم ترافیک شناختهشده و امن رو تگ بزنید.
8.2. AlienVault Open Threat Exchange (OTX)
OTX یک پلتفرم رایگان و مبتنی بر جامعه (Community-driven) هست که توسط AT&T Cybersecurity ارائه میشه. این پلتفرم حجم عظیمی از شاخصهای تهدید رو در اختیار شما قرار میده که روزانه میلیونها مورد جدید به اون اضافه میشه. یکپارچهسازی OTX با Splunk از طریق API و اپلیکیشنهای موجود در Splunkbase به راحتی امکانپذیره.
8.3. Malware Information Sharing Platform (MISP)
MISP یکی از محبوبترین، قدرتمندترین و پرامکاناتترین پلتفرمهای متنباز برای به اشتراکگذاری اطلاعات تهدیده. یکی از قابلیتهای کلیدی MISP، امکان به اشتراکگذاری کنترلشده اطلاعات بین سازمانهای همکار و مورداعتماده. برای اینکه این مفهوم ملموس بشه، این سناریو رو تصور کنید: سازمان شما (سازمان شماره یک) یک سری شاخصهای تهدید جدید رو کشف میکنه. با استفاده از MISP، شما میتونید این اطلاعات رو به صورت یکطرفه فقط با یک سازمان همکار (سازمان شماره دو) به اشتراک بذارید، بدون اینکه اونها به سایر اطلاعات شما دسترسی داشته باشن یا شما اطلاعاتی از اونها دریافت کنید. این کنترل دقیق روی اشتراکگذاری، MISP رو به ابزاری بسیار ارزشمند برای همکاریهای امنیتی تبدیل کرده.
9. جمعبندی نهایی: از لاگ خام تا دانش عملی
خب، در اپیزود امروز با هم سفری داشتیم از دنیای لاگهای خام و بیروح به دنیای اطلاعات غنی و عملی. با هم دیدیم که چطور تکنیکهایی مثل:
- DNS Lookups
- برای هویتبخشی به IPها،
- GeoIP و ASN
- برای فیلترهای هوشمند جغرافیایی و شبکهای،
- لیست Cisco Top 1 Million برای حذف نویز و تمرکز روی موارد مهم،
- و در نهایت فیدهای اطلاعاتی تهدید برای شناسایی تهدیدات شناختهشده،
میتونن به ما در تحلیلهای امنیتی کمک کنن.
پیام اصلی این اپیزود اینه: غنیسازی صحیح لاگها در Splunk، مستقیماً به صرفهجویی در زمان تحلیلگران، افزایش دقت در شناسایی تهدیدات و فراهم کردن زمینه حیاتی برای تحقیقات امنیتی منجر میشود.
به عنوان یک توصیه عملی، شما رو تشویق میکنم که از همین امروز با یکی از سادهترین این روشها شروع کنید. مثلاً دستور iplocation رو به یکی از جستجوهای پرکاربردتون اضافه کنید و ببینید که چطور همین یک قطعه اطلاعات کوچک، میتونه دید شما رو نسبت به دادهها تغییر بده.
ممنونم که در این اپیزود با من همراه بودید. امیدوارم این اطلاعات براتون مفید بوده باشه.
پست های مرتبط
26 اردیبهشت 1405
26 اردیبهشت 1405
26 اردیبهشت 1405
دیدگاهتان را بنویسید