شناسایی حمله باجافزاری (Ransomware) با Splunk و یادگیری ماشین (AI)
✍️روزبه نوروزی
حمله باجافزاری معمولاً در چند مرحله اجرا میشود و یادگیری ماشین و هوش مصنوعی میتواند در شناسایی آن از طریق تحلیل رفتار فایلها، پردازشها و ارتباطات شبکهای کمک کند. در اینجا یک سناریو از کشف باجافزار با استفاده از Splunk Machine Learning Toolkit (MLTK) ارائه شده است.
🔹 مراحل اجرای یک حمله باجافزاری
۱. دسترسی اولیه (Initial Access)
مهاجم از یکی از روشهای زیر استفاده میکند:
فیشینگ (Phishing) اکسپلویت آسیبپذیریها (مثلاً RDP یا SMB باز) حمله بروت فورس برای ورود به سیستم
🔹 جستجوی پیشنهادی در Splunk برای پردازشهای مشکوک:
index=endpoint_logs sourcetype=sysmon | stats count by process_name, parent_process | where parent_process="powershell.exe" AND count > 3 | fit DecisionTreeClassifier malware_flag from process_name into ransomware_exec_model
۳. رمزگذاری فایلها (Encryption Phase)
هنگامی که باجافزار اجرا شد، شروع به رمزگذاری فایلها میکند:
افزایش ناگهانی تغییرات در فایلها تغییر پسوند فایلها به مقدار غیرعادی (مثلاً .lock، .encrypted) حذف فایلهای بکاپ (Volume Shadow Copies)
✅ منبع دادهای: File System Logs (Windows Security Logs, Sysmon Event ID 4663) ✅ مدل تشخیصی: Density Function (برای تشخیص رفتار غیرعادی فایلها)
🔹 جستجوی پیشنهادی در Splunk برای شناسایی تغییرات غیرعادی فایلها:
index=file_logs sourcetype=sysmon event_id=4663 | stats count by file_path, action | where action="write" AND count > 100 | fit DensityFunction count into ransomware_file_model
۴. برقراری ارتباط با سرور فرماندهی و کنترل (C2 Communication)
در این مرحله، باجافزار به سرورهای خارجی متصل میشود تا کلید رمزگذاری یا دستورات جدید دریافت کند:
ارتباط با دامنههای تازه ثبتشده (Newly Registered Domains) استفاده از پروتکلهای غیرمعمول (مثلاً DNS tunneling) ارتباط با IPهای شناختهشده در تهدیدات سایبری
🔹 جستجوی پیشنهادی در Splunk برای شناسایی ارتباط با C2:
index=network_traffic sourcetype=firewall_logs | stats count by dest_ip, protocol | where protocol IN ("dns", "http", "https") | fit IsolationForest count into ransomware_c2_model | where ransomware_c2_model_score > 2.5
۵. درخواست باج (Ransom Demand)
ایجاد یک فایل متنی روی دسکتاپ کاربر (README.txt) نمایش یک پیام در صفحه (Popup یا Wallpaper تغییر یافته)