الكشف عن البرامج الضارة باستخدام Microsoft Sentinel لجدار حماية Azure

البرامج الضارة هي أي برنامج مصمم للتسبب في تلف أو تعطيل أو اختراق أمان ووظائف أنظمة الكمبيوتر أو الشبكات أو الأجهزة. وهو يتضمن أنواعا متنوعة من التهديدات، مثل الفيروسات، والديدان، وأجنة طروادة، وبرامج الفدية الضارة، وبرامج التجسس، وdware، و rootkits، وأكثر من ذلك. يمكن أن يكون للبرامج الضارة تأثيرات سلبية مختلفة، مثل سرقة البيانات الحساسة أو تشفير الملفات أو حذفها أو عرض الإعلانات غير المرغوب فيها أو إبطاء الأداء أو حتى التحكم في الجهاز.

من المهم تحديد البرامج الضارة والقضاء عليها من نظام أو شبكة، وهو ما يمكنك القيام به من خلال استخدام تقنيات الكشف المختلفة، مثل التقنيات المستندة إلى التوقيع أو المستندة إلى السلوك أو المستندة إلى التوجيه أو التقنيات المستندة إلى التعلم الآلي. يعد الكشف عن البرامج الضارة أمرا حيويا لحماية أمان المستخدمين وخصوصيتهم، بالإضافة إلى سلامة الأنظمة والشبكات وتوافرها.

تكتشف ميزة IDPS لجدار حماية Azure البرامج الضارة وترفضها بشكل افتراضي ويمكن أن تمنع إصابة أحمال العمل السحابية. يمكنك زيادة تحسين هذه الإمكانية من خلال استخدام الكشف التلقائي والاستجابة باستخدام استعلامات الكشف التي تم إنشاؤها مسبقا وMicrosoft Sentinel. في هذه المقالة، يمكنك استكشاف كيفية الكشف عن بعض البرامج الضارة الشائعة الموجودة في سجلات جدار حماية Azure مثل Coinminer، Cl0p واستخدام Sunburst استعلامات الكشف KQL المعرفة مسبقا لجدار حماية Azure.

تمكن عمليات الكشف هذه فرق الأمان من تلقي تنبيهات Sentinel عندما تطلب الأجهزة الموجودة على الشبكة الداخلية اتصالات بأسماء المجالات أو عناوين IP على الإنترنت المرتبطة بمؤشرات التسوية المعروفة (IOCs)، كما هو محدد في استعلام قاعدة الكشف. يجب اعتبار الاكتشافات الإيجابية الحقيقية مؤشرات للتسوية (IOCs). بعد ذلك، يمكن لفرق الاستجابة للحوادث الأمنية بدء الاستجابة وتنفيذ إجراءات المعالجة المخصصة المناسبة بناء على إشارات الكشف هذه.

للحصول على إرشادات لنشر القواعد التحليلية باستخدام الاستعلامات التالية، راجع الكشف عن التهديدات الجديدة باستخدام Microsoft Sentinel مع Azure Web Application Firewall.

عمليات استغلال البرامج الضارة الشائعة

تعد عمليات استغلال البرامج الضارة التالية شائعة على شبكات اليوم.

Coinminer

نظرا للطفرة الأخيرة في تعدين العملات الرقمية، هناك حاجة متزايدة لوحدات معالجة الشبكة عالية الأداء. وتتوسع الحوسبة الموزعة وتوفر برامج التعدين على نطاق واسع، سواء في السياقات القانونية أو غير القانونية.

Coinminer يمثل نوعا من البرامج الضارة التي تستخدم موارد الأجهزة لجهاز كمبيوتر الضحية غير عن غير قصد لاستخراج العملات المشفرة. يتم استخدام وحدة معالجة الرسومات (GPU) للكمبيوتر الشخصي للمستخدم غير المطمئن لتشغيل البرامج النصية المختلفة التي تهدف إلى استخراج العملات المشفرة وحساب تجزئة كتلة المعاملات.

وللتخفيف من مخاطر هذه التهديدات، ينبغي تنفيذ تدابير استباقية في نقاط الدخول النموذجية. يتضمن ذلك التأكد من نشر برنامج Jupyter بالمصادقة المناسبة وتكوين تطبيقات الويب وتحديثها لتقليل الثغرات الأمنية والتحكم في الوصول الخارجي إلى Docker واتباع مبادئ ثقة معدومة إضافية.

يمكن استخدام استعلام الكشف التالي لإنشاء قاعدة تحليلات في Sentinel للكشف عن هذه البرامج الضارة والاستجابة لها تلقائيا باستخدام سجلات Azure Firewall.

// Coinminer Detection Rule
// Detects suspicious traffic patterns associated with coinmining activity in Azure Firewall logs for Sentinel

let coinminerPorts = dynamic(["2375", "2376", "2377", "4243", "4244"]); // List of known coinminer ports  
//Assign the known domains to a variable
let coinminerdomains = dynamic(["teamtnt.red", "kaiserfranz.cc", "45.9.148.123"]); // List of known coinminer domains  

(union isfuzzy=true 

(AzureDiagnostics  
| where ResourceType == "AZUREFIREWALLS"  
| where Category == "AzureFirewallApplicationRule" 
| parse msg_s with Protocol 'request from ' SourceHost ':' SourcePort 'to ' DestinationHost ':' DestinationPort '. Action:' Action 
| extend action_s = column_ifexists("action_s", ""), transactionId_g = column_ifexists("transactionId_g", "")  
| where DestinationPort in (coinminerPorts) // Filter traffic on known coinminer ports  
| summarize CoinminerAttempts = count() by DestinationHost, DestinationPort  
| where CoinminerAttempts > 10 // Adjust threshold as needed  
), 

(AZFWIdpsSignature 
| where DestinationPort in (coinminerPorts) 
| summarize CoinminerAttempts = count() by DestinationIp, DestinationPort 
| where CoinminerAttempts > 10 // Adjust threshold as needed   

), 

(AzureDiagnostics  
| where ResourceType == "AZUREFIREWALLS"  
| where Category == "AzureFirewallDnsProxy"  
| parse msg_s with "DNS Request: " ClientIP ":" ClientPort " - " QueryID " " Request_Type " " Request_Class " " Request_Name ". " Request_Protocol " " Request_Size " " EDNSO_DO " " EDNS0_Buffersize " " Response_Code " " Response_Flags " " Response_Size " " Response_Duration  
| where Request_Name has_any(coinminerdomains)  
| extend DNSName = Request_Name  
| extend IPCustomEntity = ClientIP  

),  

(AzureDiagnostics  
| where ResourceType == "AZUREFIREWALLS"  
| where Category == "AzureFirewallApplicationRule"  
| parse msg_s with Protocol ' request from ' SourceHost ':' SourcePort 'to' DestinationHost ':' DestinationPort '. Action:' Action  
| where isnotempty(DestinationHost)  
| where DestinationHost has_any(coinminerdomains)  
| extend DNSName = DestinationHost  
| extend IPCustomEntity = SourceHost), 

(AZFWApplicationRule 
| where isnotempty(Fqdn) 
| where Fqdn has_any (coinminerdomains)   
| extend DNSName = Fqdn  
| extend IPCustomEntity = SourceIp), 

(AZFWDnsQuery 
| where isnotempty(QueryName) 
| where QueryName has_any (coinminerdomains) 
| extend DNSName = QueryName 
| extend IPCustomEntity = SourceIp 

), 

(AZFWIdpsSignature 
| where DestinationIp has_any (coinminerdomains) 
| extend DNSName = DestinationIp 
| extend IPCustomEntity = SourceIp 

), 

(AZFWIdpsSignature 
| where Description contains "coinminer" 
| extend DNSName = DestinationIp 
| extend IPCustomEntity = SourceIp 
) 

)

Cl0p

Cl0p هو برنامج فدية يعمل عن طريق تطبيق مفاتيح تشفير مميزة على ملفات الضحية ثم طلب فدية لفك تشفير الملفات. ويستخدم ثغرة أمنية في برنامج نقل البيانات MOVEit ويرسل رسائل البريد الإلكتروني التصيد الاحتيالي الموجهة إلى العديد من الموظفين على أمل تسليم cl0p. ثم يستخدم أدوات مثل truebot و dewmode للتنقل أفقيا داخل الشبكة وتحريك البيانات. تقوم برامج الفدية الضارة بتشفير الملفات باستخدام خوارزمية تشفير AES-256.

Cl0p تتضمن الثغرات الأمنية CVE-2023-35036 وCVE-2023-34362 وCVE-2023-35708. وفي يونيو/حزيران 2023، نشرت المباحث الفيدرالية ومكتب التحقيقات الفيدرالية (CISA) نشرة صحفية حول هذا الاستغلال. يتم تسجيل آثار برامج الفدية cl0p الضارة في العديد من الجامعات في الولايات المتحدة الغرب الأوسط والمنظمات الحكومية. شركات الطيران والشبكات التلفزيونية ومحلات البيع بالتجزئة في المملكة المتحدة هي أحدث ضحايا عصابة برامج الفدية cl0p الضارة.

يمكن استخدام استعلام الكشف التالي لإنشاء قاعدة تحليلات في Sentinel للكشف عن هذه البرامج الضارة والاستجابة لها تلقائيا باستخدام سجلات Azure Firewall.

استعلام الكشف عن Cl0p: Firewall Malware Detections for Sentinel/Detection - استعلام قاعدة تحليلية Cl0p.json

Sunburst

تستهدف هذه البرامج الضارة الضحايا باستخدام سلاسل خوارزمية إنشاء المجال (DGA) للتهرب من الكشف وإنشاء هجوم خلفي للأوامر والتحكم. غالبا ما تكون سلاسل DGA صعبة على أدوات الأمان لتحديد المجالات التي تستخدمها البرامج الضارة بسبب النمط المستخدم في بناء الجملة وتغييرها المستمر لمعلومات المجال.

يمكن استخدام استعلام الكشف التالي لإنشاء قاعدة تحليلات في Sentinel للكشف عن هذه البرامج الضارة والاستجابة لها تلقائيا باستخدام سجلات Azure Firewall.

استعلام الكشف عن Sunburst البرامج الضارة: عمليات الكشف عن البرامج الضارة لجدار الحماية ل Sentinel/Detection - استعلام القاعدة التحليلية Sunburst.json