سلام به همه شما شنوندگان عزیز و خوش اومدید به یک قسمت دیگه از پادکست ما. امروز میخوایم در مورد یک موضوع خیلی جالب صحبت کنیم. تا حالا از خودتون پرسیدید که بزرگترین تهدیدات امنیتی واقعاً از کجا میان؟ از حملات پیچیده و روز-صفر (Zero-day) که تیتر خبرها میشن، یا از جاهایی که هر روز جلوی چشم ما هستن و ما بهشون توجهی نمیکنیم؟
توی این قسمت، میخوایم قفل پتانسیل امنیتی پنهان در لاگهای روزمره و به ظاهر “خستهکننده” رو باز کنیم. صحبت از لاگهای سرویسهایی مثل DNS، HTTP و ایمیله که در هر سازمانی وجود دارن. قراره ببینیم چطور میتونیم با استفاده از قدرت پلتفرم Splunk، این دادههای معمولی رو به ابزارهایی فوقالعاده برای شناسایی تهدیدات تبدیل کنیم.
در ادامه این اپیزود، با هم بررسی میکنیم که چرا این لاگها اغلب نادیده گرفته میشن، چطور میتونیم اونها رو به ابزارهای قدرتمند تشخیص تهدید تبدیل کنیم و در نهایت، چطور با چالش حجم بالای اونها کنار بیایم. پس با ما همراه باشید تا به دل دنیای دادهها سفر کنیم و یاد بگیریم چطور از چیزهایی که همین الان در اختیار داریم، برای محافظت از سازمانمون استفاده کنیم.
بخش ۱: گنجینه پنهان: استفاده از دادههایی که همین الان دارید
خب، بیاید با یک حقیقت شروع کنیم. بزرگترین شکاف در دنیای امنیت سایبری همیشه مربوط به تکنولوژی نیست؛ خیلی وقتها این شکاف به خاطر آدمها و فرآیندهاست. این اپیزود دقیقاً برای پر کردن همین شکاف طراحی شده. ما میخوایم روی استفاده از داراییهایی تمرکز کنیم که تقریباً هر سازمانی همین الان در اختیار داره: سرویسهای اصلی شبکه و لاگهای اونها. این تکنیکهایی که امروز یاد میگیریم، فقط یک سری دستور در Splunk نیستن؛ اینها فرآیندهایی هستن که به آدمها—یعنی شما—قدرت میدن تا از ابزاری که دارید، به بهترین شکل استفاده کنید.
سرویسهایی مثل DNS برای ترجمه نام به آدرس IP، یا HTTP برای وبگردی، شریانهای حیاتی هر شبکهای هستن. هر دستگاهی برای ارتباط با دنیای بیرون به اونها نیاز داره. و نکته کلیدی اینجاست: به همین دلیل که این سرویسها انقدر بنیادی هستن، مهاجمان هم مجبورن ازشون استفاده کنن و وقتی این کار رو میکنن، از خودشون رد پا به جا میذارن. این دقیقاً اساس استراتژی ما برای شناسایی اونهاست.
داشتن یک ابزار قدرتمند تحلیل لاگ یا SIEM مثل Splunk قدم اوله، اما جادوی واقعی زمانی اتفاق میافته که شما دادههای درست رو بهش بدید. این بخش در واقع جواب سوال “چرا” بود. چرا باید به این لاگهای به ظاهر ساده اهمیت بدیم.
خب، حالا که میدونیم چرا این لاگها مهمن، بیاید دقیقتر ببینیم منظورمون از سرویسهای رایج چیه و چطور میتونن به ما در پیدا کردن فعالیتهای مشکوک کمک کنن.
بخش ۲: رمزگشایی سرویسهای رایج با Splunk
سرویسهایی مثل DNS، HTTP، SMTP و حتی SMB، خونِ در رگهای ارتباطات شبکههای مدرن هستن. درک کردن لاگهای این سرویسها فقط یک وظیفه برای تیم IT نیست، بلکه یک عملکرد حیاتی برای تیم امنیته.
بیایید چندتا از این سرویسهای رایج رو با هم مرور کنیم:
DNS:
کارش مثل دفترچه تلفن اینترنته؛ اسم سایتها رو به آدرس IP تبدیل میکنه.
HTTP(S):
پروتکلیه که برای وبگردی و دیدن صفحات وب ازش استفاده میکنیم.
SMTP:
این هم پروتکل استاندارد برای ارسال و دریافت ایمیله.
SMB:
پروتکل مایکروسافت برای اشتراکگذاری فایل و پرینتر در شبکههای داخلیه که هنوز هم خیلی رایجه.
SSH:
پروتکلی امن برای مدیریت سرورهای لینوکس و تجهیزات شبکه از راه دوره.
با تحلیل لاگهای این سرویسها در Splunk، ما به سه تا دستاورد خیلی مهم میرسیم:
شناسایی فعالیتهای مخرب: میتونیم ردپای مستقیم مهاجمان رو پیدا کنیم.
کشف فعالیتهای غیرعادی: هر رفتار غیرنرمالی، چه خوب و چه بد، رو شناسایی میکنیم. این به ما کمک میکنه تا از اتفاقات غیرمنتظره در شبکهمون باخبر بشیم.
درک عمیق از محیط خودمون: ما به یک دید کامل از اینکه در شبکهمون چه خبره و ترافیک نرمال چه شکلیه، میرسیم.
این لاگها انقدر ارزشمند هستن، اما یه مشکل بزرگ وجود داره: دقیقاً به خاطر اینکه خیلی “رایج” و “معمولی” هستن، اغلب نادیده گرفته میشن.
بخش ۳: مشکل “سکوت بیش از حد”: چرا لاگهای رایج نادیده گرفته میشوند؟
در دنیای امنیت، گاهی وقتها نبودنِ یک صدای مورد انتظار، سیگنال خطرناکتری از یک هشدار پر سر و صداست. این دقیقاً چالش اصلی ما با لاگهای سرویسهای رایجه.
اجازه بدید با دو تا مثال این موضوع رو روشن کنم.
مثال اول: جنگل بیش از حد ساکت حتماً توی فیلمها دیدید که چند نفر دارن از یک جنگل عبور میکنن و یهو یکیشون میایسته و میگه: “صبر کنید… هیچ صدایی نمیاد؟” بقیه میگن نه، و اون شخص میگه: “دقیقاً! بیش از حد ساکته. یه مشکلی هست.” این دقیقاً همون کاریه که ما باید با لاگهامون در Splunk انجام بدیم. ما باید یک خط مبنا (Baseline) از ترافیک نرمال شبکهمون بسازیم تا هر وقت یک سکوت یا انحراف غیرعادی اتفاق افتاد، بلافاصله متوجه خطر بشیم.
مثال دوم: پرندههای توی مزرعه تصور کنید یک نفر در یک مزرعه بزرگ پنهان شده و یک نفر دیگه دنبالشه. فرد تعقیبکننده یک تیر هوایی شلیک میکنه. پرندهها از همه جای مزرعه به هوا پرواز میکنن، به جز یک نقطه. اون نقطهای که پرندهها ازش بلند نشدن، دقیقاً همونجاییه که فرد مورد نظر پنهان شده. این هم یک استعاره عالی برای جستجوی ناهنجاریها و شکافها در الگوهای لاگ ماست.
هر دو این داستانها یک چیز رو به ما میگن: در امنیت، ما فقط دنبال سیگنالهای ‘حضور’ یک چیز بد نیستیم؛ ما باید به دنبال ‘نبود’ سیگنالهای خوب و نرمال هم بگردیم. این تغییر نگرش، اساس شکار تهدیدات پیشرفته است.
متاسفانه، باور کنید، من در تیمهای زیادی دیدم که بیشتر سازمانها در این زمینه به یکی از این دو شکل شکست میخورن: یا اصلاً این لاگهای “پر سر و صدا” رو جمعآوری نمیکنن، یا اونها رو فقط برای رفع تکلیف و رعایت استانداردها (Compliance) جمع میکنن و هیچوقت در Splunk تحلیلشون نمیکنن.
برای اینکه یاد بگیریم چطور از این حالت تدافعی خارج بشیم و این تکنیکها رو به کار ببریم، بیاید با یک سناریوی واقعی آشنا بشیم: داستان شرکت Lab Me.
بخش ۴: داستان شرکت “Lab Me”: یک سناریوی واقعی
خب، با شرکت خیالی ما آشنا بشید: Lab Me, Inc. این شرکت یک سازمان رو به رشد در حوزه بهداشته که به میلیونها بیمار خدمات ارائه میده. این یعنی با استانداردهای حساسی مثل HIPAA و PCI سر و کار داره و امنیت براش حیاتیه. یک نشت اطلاعاتی در اینجا فقط یک مشکل فنی نیست؛ میتونه به قیمت اعتماد میلیونها بیمار و جریمههای سنگین مالی تموم بشه.
حالا شما رو در نقش قهرمان داستان قرار میدیم. شما متخصص امنیت جدیدی هستید که جایگزین ادمین قبلی شدید. شرکت فایروال و آنتیویروس روی سیستمهاش داره، اما یک پروژه حیاتی نیمهکاره مونده: پیادهسازی SIEM با استفاده از Splunk.
ما از این داستان استفاده میکنیم تا به صورت قدم به قدم و کاملاً ملموس نشون بدیم که چطور میتونیم تکنیکهای شناسایی تهدید رو روی حملات واقعی پیادهسازی کنیم. این سناریوها بر اساس تجربیات واقعی طراحی شدن.
شما مسئول پروژه Splunk هستید و مدیریت منتظر دیدن نتایجه. بیایید ببینیم اولین چالشی که باهاش روبرو میشید چیه و چطور Splunk به شما کمک میکنه.
بخش ۵: شکار تهدیدات در عمل با زبان جستجوی Splunk (SPL)
اینجا نقطهایه که تئوری به عمل تبدیل میشه. اینجا جاییه که من واقعاً از کار با Splunk لذت میبرم. حالا میخوایم به شما نشون بدیم که چطور با استفاده از زبان جستجوی قدرتمند Splunk، یعنی SPL (Search Processing Language)، فعالیت مهاجمان رو که در لاگهای استاندارد پنهان شده، کشف کنیم. بیایید با یک حمله کلاسیک شروع کنیم: اسپیر فیشینگ (Spear-Phishing).
۵.۱: شناسایی فیشینگ با دامنههای مشابه
تصور کنید یک ایمیل فیشینگ به یکی از کارمندان به اسم “جان” ارسال شده. فرستنده ایمیل sandy@1 abmeinc.com هست که خودش رو جای کارمند واقعی یعنی sandy@labmeinc.com جا زده. فقط یک تفاوت جزئی در نام دامنه وجود داره! تشخیص این تفاوت با چشم انسان خیلی سخته. خیلی سادهست، نه؟ ولی به طرز شگفتانگیزی مؤثره. تا حالا چند تا از این ایمیلها از دستتون در رفته؟
حالا چطور این رو با Splunk پیدا کنیم؟
ما از تکنیکی به اسم جستجوی فازی (Fuzzy Search) یا فاصله لونشتاین (Levenshtein distance) استفاده میکنیم. به زبان ساده، این تکنیک یعنی “پیدا کردن کلماتی که خیلی شبیه به کلمه اصلی هستن، ولی دقیقاً خود اون کلمه نیستن.”
توی Splunk، ما یک جستجو مینویسیم که تمام ایمیلهای ورودی رو بررسی کنه. بهش میگیم: “برو توی لاگهای SMTP و دامنههای فرستنده رو نگاه کن. هر دامنهای که دقیقاً labmeinc.com نبود، ولی بهش خیلی شبیه بود—مثلاً با یک حرف اضافه یا کم—رو به من نشون بده.” این جستجو در حالت عادی باید هیچ نتیجهای برنگردونه. اگه چیزی پیدا کرد، یعنی یک فعالیت مشکوک در جریانه.
حالا، همین تکنیک رو میتونیم روی لاگهای DNS هم پیاده کنیم. اما اینجا یه تفاوت مهم هست. اگه این تکنیک رو روی لاگ DNS پیاده کنیم، ممکنه یه کارمند معمولی اسم سایت رو اشتباه تایپ کنه و این برای ما یه هشدار اشتباه (False Positive) ایجاد کنه. اما در مورد ایمیل، اگه فرستنده خارجی آدرس رو اشتباه بزنه، ایمیل اصلاً به دست ما نمیرسه. برای همین این تکنیک برای لاگ SMTP بسیار دقیقتر و کمخطاتر عمل میکنه.
این فقط یک مثال ساده بود که نشون میده چطور یک جستجوی هوشمندانه در Splunk میتونه حملهای رو کشف کنه. اما حملات فیشینگ معمولاً یک مرحله دیگه هم دارن: یک لینک مخرب.
۵.۲: افشای لینکهای مخرب با غنیسازی دادهها
در ادامه حمله قبلی، فرض کنید توی ایمیل یک لینک به یک دامنه عجیب و غریب مثل http://afecrej6h7cn5sdfhvjg9evmj.com وجود داره. این دامنه توی لاگهای DNS و HTTP ما ثبت میشه، اما چطور بفهمیم که این یک دامنه عادی نیست و کاملاً مشکوکه؟
اینجاست که مفهوم کلیدی غنیسازی دادهها (Log Enrichment) در Splunk وارد میشه. ما دادههای “معمولی” رو به دادههای “فوقالعاده” تبدیل میکنیم.
یک لاگ استاندارد DNS معمولیه؛ فقط اسم دامنه درخواستی (query) رو به ما میده.
اما با Splunk، ما اون رو فوقالعاده میکنیم. با استفاده از قابلیتهایی مثل Lookups و Calculated Fields، ما میتونیم در لحظه جستجو، اطلاعات ارزشمندی رو به لاگ اضافه کنیم. مثلاً:
subdomain (زیر دامنه)
parent_domain (دامنه والد)
creation_date (تاریخ ثبت دامنه)
geo.asn (اطلاعات جغرافیایی)
و مهمتر از همه، frequency_score (امتیاز فراوانی یا تصادفی بودن).
حالا این frequency_score چیه؟ این یک امتیازه که نشون میده یک نام دامنه چقدر تصادفی به نظر میرسه. فکر کنید google.com یک کلمه با معنیه، ولی afecrej6h7cn5sdfhvjg9evmj.com شبیه یک سری حروف تصادفیه که کنار هم چیده شدن. در Splunk میتونیم با الگوریتمهای خاصی به هر دامنه یک امتیاز بدیم.
حالا در Splunk، ما یک جستجو میزنیم که لاگهای DNS رو بر اساس همین امتیاز مرتب کنه. در مثال ما، دامنه عادی google.com امتیازی حدود ۱۳ گرفته، در حالی که دامنه تصادفی مهاجم امتیاز خیلی پایینتری، حدود ۵، گرفته. این اختلاف فاحش، سیگنال خطر ماست. دامنههایی که توسط الگوریتمهای تولید دامنه (DGA) ساخته میشن، چون از الگوهای زبانی عادی پیروی نمیکنن، امتیاز پایینی میگیرن و مستقیماً به صدر لیست نتایج مشکوک ما میان.
این همون جادوی Splunk هست. ما یک لاگ ساده و بیاهمیت رو برداشتیم و با غنیسازی، به یک ابزار دقیق برای شکار تهدید تبدیلش کردیم. این دیگه فقط یک لاگ نیست، یک داستانه.
این تکنیکهای غنیسازی فوقالعاده قدرتمند هستن، اما یک چالش بزرگ ایجاد میکنن: حجم عظیم لاگها. چطور میتونیم این سیل داده رو در Splunk مدیریت کنیم؟
بخش ۶: مدیریت سیل داده: کیفیت بر کمیت در Splunk
جمعآوری لاگهای سرویسهای اصلی شبکه میتونه به راحتی حجم لاگهای سازمان شما (که با واحد EPS یا Events Per Second اندازهگیری میشه) رو دو یا سه برابر کنه. با اینکه ارزش امنیتی این کار فوقالعاده زیاده، اما چالشهایی برای ذخیرهسازی، هزینههای لایسنس و عملکرد سیستم ایجاد میکنه، مخصوصاً در پلتفرمهای تجاری مثل Splunk که هزینه رو بر اساس حجم داده ورودی محاسبه میکنن.
راه حل هوشمندانه این نیست که جمعآوری رو متوقف کنیم، بلکه اینه که دادههای به درد نخور و “آشغال” رو قبل از اینکه به Indexer های Splunk برسن، فیلتر کنیم.
ابزار عالی برای این کار Splunk Heavy Forwarder هست. این ابزار مثل یک نقطه جمعآوری هوشمنده که میتونه دادهها رو قبل از ارسال، پردازش (Parse)، فیلتر و حتی مسیردهی کنه. ما با استفاده از فایلهای کانفیگ مثل props.conf و transforms.conf بهش میگیم که لاگهای پر سر و صدا و بیفایده (مثلاً درخواستهای DNS داخلی تکراری) رو حذف کنه. این کار مستقیماً هزینههای لایسنس شما رو کاهش میده.
موضوع بعدی، استراتژی نگهداری لاگها (Log Retention) هست. هزینه ذخیرهسازی بالاست. Splunk با مدل لایهبندی دادهها (Hot, Warm, Cold) به مدیریت این هزینه کمک میکنه. برای اینکه بهتر متوجه بشید، فکر کنید دادههای Hot در یک هارد SSD سریع و گرانقیمت برای جستجوهای فوری نگهداری میشن. دادههای Warm به هاردهای کندتر و ارزانتر منتقل میشن، و دادههای Cold بایگانی میشن. اینطوری هم به دادهها دسترسی داریم و هم هزینهها رو کنترل میکنیم.
اما یک نکته کلیدی وجود داره: اکثر تکنیکهای شناسایی که در موردشون صحبت کردیم، فقط به ۱ تا ۳ روز داده نیاز دارن. تعداد کمی شاید به یک هفته داده احتیاج داشته باشن.
توصیه من اینه: اگه تازه میخواید شروع کنید، نترسید. با جمعآوری فقط ۲۴ تا ۷۲ ساعت از این لاگها به عنوان یک پروژه آزمایشی (Pilot) شروع کنید. همین مقدار کم کافیه تا ارزش فوقالعاده این دادهها رو به مدیریت نشون بدید و تاییدیه برای ادامه کار بگیرید.
با مدیریت هوشمندانه حجم و نگهداری دادهها، میتونیم از تمام قدرت لاگهای سرویس بدون ورشکست کردن شرکت استفاده کنیم. حالا بیاید همه چیزهایی که گفتیم رو جمعبندی کنیم.
بخش ۷: جمعبندی نهایی و نکات کلیدی
خب، به پایان این قسمت رسیدیم. پیام اصلی ما این بود: لاگهای سرویسهای رایج یک معدن طلا برای امنیت هستن و Splunk ابزاریه که این دادههای معمولی رو به اطلاعاتی فوقالعاده برای دفاع تاکتیکی تبدیل میکنه.
بیایید نکات کلیدی این اپیزود رو با هم مرور کنیم:
نگاه خود را تغییر دهید: لاگهای رایج مثل DNS و HTTP خستهکننده نیستند؛ آنها حیاتی هستند. مهاجمان مجبور به استفاده از آنها هستند و این نقطه ضعف آنها و نقطه قوت شماست.
دادهها را غنی کنید: با استفاده از قابلیتهای Splunk مثل Lookups، لاگهای خام را به اطلاعاتی غنی و قابل استفاده برای شکار تهدید تبدیل کنید. یک لاگ ساده DNS میتواند داستانی کامل از یک حمله را روایت کند.
هوشمندانه مدیریت کنید: از ابزارهایی مثل Heavy Forwarder برای فیلتر کردن نویز و کاهش هزینهها استفاده کنید و استراتژی نگهداری داده مناسبی داشته باشید. نیازی نیست همه چیز را برای همیشه نگه دارید.
و حالا نوبت شماست. ماموریت شما اینه که یکی از این تکنیکها رو بردارید، در محیط کاری خودتون پیاده کنید و ببینید چه چیزهایی کشف میکنید. از مفاهیم این پادکست استفاده کنید تا تکنیکهای مختص به سازمان خودتون رو توسعه بدید.
خیلی ممنونم که در این قسمت با ما همراه بودید. امیدوارم که این مطالب براتون مفید بوده باشه. تا اپیزود بعدی، امن و هوشیار بمونید. خدانگهدار.
دیدگاهتان را بنویسید