AI की मदद से Detection engineering
Detection engineers हमलावर के बर्ताव (behaviour) को नियमों (rules) में बदलते हैं। AI इन नियमों का ड्राफ़्ट तेज़ी से बना सकता है और उनका अनुवाद कर सकता है, लेकिन कोड की तरह ही हर नियम की टेस्टिंग और समीक्षा (review) होनी ज़रूरी है।
60 सेकंड में
AI की मदद से Detection engineering
Detection engineers हमलावर के बर्ताव (behaviour) को नियमों (rules) में बदलते हैं। AI इन नियमों का ड्राफ़्ट तेज़ी से बना सकता है और उनका अनुवाद कर सकता है, लेकिन कोड की तरह ही हर…
एक आसान Sigma नियम
title: PowerShell Started With Encoded Command
id: 6f1c2a54-3b8e-4d7a-9c61-2e5f8a0b7d13
status: experimental
description: Detects PowerShell run with an encoded command argument, often used to hide script content.
author: OmniLingo learner
tags:
- attack.execution
- attack.t1059.001
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
selection_cli:
CommandLine|contains:
- ' -enc'
- ' -ec '
condition: selection_img and selection_cli
falsepositives:
- Some legitimate software deployment and management tools
level: mediumlogsource), क्या मैच करना है (detection), कब अलर्ट देना है (condition), और कौन से ज्ञात हानिरहित कारण हो सकते हैं (falsepositives)। ध्यान दें कि -enc, -EncodedCommand से भी मैच करता है, क्योंकि Sigma का contains डिफ़ॉल्ट रूप से केस-इंसेंसिटिव होता है।AI कहाँ मदद करता है
- किसी थ्रेट रिपोर्ट या हंट क्वेरी से पहला नियम ड्राफ़्ट करने में
- किसी नियम का एक क्वेरी लैंग्वेज से दूसरी में अनुवाद करने में
- टीम के नए सदस्य को कोई मौजूदा नियम समझाने में
- संभावित फ़ाल्स पॉज़िटिव और टेस्ट केस सुझाने में
सैंपल लॉग्स के साथ टेस्ट करें
- 1
पॉज़िटिव टेस्ट
एक ऐसा सैंपल इवेंट जिसे नियम को ज़रूर पकड़ना चाहिए। क्या यह अलर्ट देता है? - 2
नेगेटिव टेस्ट
सामान्य इवेंट्स जिन्हें नियम को नहीं पकड़ना चाहिए। क्या यह शांत रहता है? - 3
बाईपास टेस्ट
एक छोटा सा बदलाव जो कोई हमलावर कर सकता है। क्या यह अब भी अलर्ट देता है? - 4
बैकटेस्ट
हाल के असली डेटा पर चलाकर देखें कि यह कितनी बार अलर्ट देगा।
फ़ाल्स-पॉज़िटिव ट्यूनिंग
Detection as code
- SIEM कंसोल में सीधे एडिट किए गए नियम
- किसने क्या बदला, इसका कोई इतिहास नहीं
- लाइव करने से पहले कोई टेस्टिंग नहीं
- वर्शन कंट्रोल (जैसे Git) में सेव किए गए नियम
- हर बदलाव की किसी अन्य व्यक्ति द्वारा समीक्षा, जिसमें AI द्वारा बनाए गए ड्राफ़्ट भी शामिल हैं
- नियम लागू करने से पहले ऑटोमैटिक जाँच और टेस्ट
condition वाली लाइन सही समझाई?और देखें और पढ़ें
लैब
सैंपल इवेंट्स पर टेस्ट किया गया एक Sigma नियम, साथ में फ़ाल्स पॉज़िटिव और बाईपास पर एक नोट।
समस्या
नीचे दिए गए सैंपल प्रोसेस इवेंट्स (काल्पनिक) का इस्तेमाल करें।
- किसी AI से एक ऐसा Sigma नियम लिखने को कहें जो एन्कोडेड कमांड वाले PowerShell को पकड़े। इसकी तुलना इस पाठ के नियम से करें।
- खुद से हर सैंपल इवेंट को देखें और मार्क करें कि क्या आपका नियम ट्रिगर होगा। (यदि संभव हो, तो Sigma टूलिंग इंस्टॉल करें और जाँचें कि नियम मान्य है।)
- पहचानें कि कौन से इवेंट्स ट्रू पॉज़िटिव, फ़ाल्स पॉज़िटिव और छूटे हुए हमले (missed attacks) हैं।
- ट्यूनिंग के लिए एक बदलाव और बाईपास से बचने के लिए एक सुधार का सुझाव दें। इसके नफ़ा-नुकसान (trade-off) को समझाएँ।
1. Image=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
CommandLine=powershell.exe -NoProfile -enc SQBFAFgAIAAoA...
ParentImage=C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE
2. Image=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
CommandLine=powershell.exe -File C:\Scripts\daily_report.ps1
ParentImage=C:\Windows\System32\svchost.exe
3. Image=C:\Program Files\PowerShell\7\pwsh.exe
CommandLine=pwsh.exe -EncodedCommand JABzAD0A...
ParentImage=C:\Program Files\ExampleDeployTool\agent.exe
4. Image=C:\Users\Public\ps.exe
CommandLine=ps.exe -enc SQBFAFgA...
ParentImage=C:\Windows\explorer.exeआपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1इवेंट 4, PowerShell की एक रीनेम की गई कॉपी है। कोई नियम फ़ाइल नाम को मैच किए बिना इसे कैसे पकड़ सकता है?दिखाएं
ऐसे फ़ील्ड का इस्तेमाल करें जो फ़ाइल का नाम बदलने पर भी नहीं बदलता। कई प्रोसेस लॉग्स प्रोग्राम की वर्शन जानकारी से मूल फ़ाइल नाम रिकॉर्ड करते हैं, जो नाम बदलने के बाद भी वही रहता है। कोई नियम उस फ़ील्ड पर मैच कर सकता है, या किसी भी प्रोसेस के लिए अकेले एन्कोडेड-कमांड पैटर्न पर मैच कर सकता है। जाँचें कि आपका लॉग सोर्स वास्तव में कौन से फ़ील्ड्स उपलब्ध कराता है।
Q2डिप्लॉयमेंट टूल (इवेंट 3) की तुलना में वर्ड डॉक्यूमेंट द्वारा PowerShell शुरू किया जाना (इवेंट 1) अधिक चिंताजनक क्यों है?दिखाएं
Office प्रोग्राम्स के पास छिपे हुए कमांड्स के साथ PowerShell शुरू करने का शायद ही कोई सही कारण होता है। यह एक मैलिशियस डॉक्यूमेंट का आम संकेत है। आपकी कंपनी के लिए किसी जाने-पहचाने डिप्लॉयमेंट टूल द्वारा ऐसा करना सामान्य हो सकता है। पैरेंट प्रोसेस संदर्भ (context) देता है, यही वजह है कि अच्छे नियम और अच्छा ट्रायज केवल अकेले इवेंट्स को नहीं, बल्कि प्रोसेस चेन्स को देखते हैं।
अक्सर पूछे जाने वाले सवाल
अपने SIEM की भाषा में सीधे लिखने के बजाय Sigma में क्यों लिखें?
Sigma किसी एक टूल पर निर्भर नहीं है, इसलिए इसके नियम को साझा किया जा सकता है और अलग-अलग SIEMs के लिए बदला जा सकता है। इसे वर्शन कंट्रोल में स्टोर करना और रिव्यू करना भी आसान है। कई टीमें अब भी कुछ नियम सीधे लिखती हैं जब उन्हें ऐसे फ़ीचर्स की ज़रूरत होती है जो Sigma में नहीं हैं।
मैं यह कैसे जाँचूँ कि कोई Sigma नियम मान्य (valid) है या नहीं?
फ़ॉर्मैट की जाँच करने और उसे बदलने के लिए आधिकारिक Sigma टूलिंग (जैसे, SigmaHQ प्रोजेक्ट से sigma-cli कन्वर्टर और वैलिडेटर्स) का इस्तेमाल करें। फिर बदले हुए क्वेरी को अपने टूल में सैंपल इवेंट्स पर टेस्ट करें।
क्या AI किसी SPL क्वेरी का KQL में सही अनुवाद कर सकता है?
अक्सर यह काफी करीब पहुँच जाता है, लेकिन अलग-अलग भाषाओं में फ़ंक्शन्स, फ़ील्ड नाम और समय को संभालने का तरीका अलग होता है। अनुवाद की गई क्वेरी को उसी डेटा पर टेस्ट करें और नतीजों की तुलना मूल क्वेरी से करें।
किस वजह से किसी डिटेक्शन को बाईपास करना आसान हो जाता है?
सिर्फ़ एक सटीक स्ट्रिंग या फ़ाइल नाम को मैच करना। हमलावर फ़ाइलों का नाम बदल सकते हैं या अक्षर बदल सकते हैं। मज़बूत नियम व्यवहार (behaviour) को देखते हैं, जैसे किस प्रोसेस ने किसे शुरू किया, और कई सिग्नलों को एक साथ जोड़ते हैं।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।