सिक्योरिटी डिफेंडर्स के लिए AIएडवांस्डपाठ 1625 मिनट का पाठ

AI की मदद से Detection engineering

Detection engineers हमलावर के बर्ताव (behaviour) को नियमों (rules) में बदलते हैं। AI इन नियमों का ड्राफ़्ट तेज़ी से बना सकता है और उनका अनुवाद कर सकता है, लेकिन कोड की तरह ही हर नियम की टेस्टिंग और समीक्षा (review) होनी ज़रूरी है।

पाठ वीडियो में

60 सेकंड में

AI की मदद से Detection engineering

Detection engineers हमलावर के बर्ताव (behaviour) को नियमों (rules) में बदलते हैं। AI इन नियमों का ड्राफ़्ट तेज़ी से बना सकता है और उनका अनुवाद कर सकता है, लेकिन कोड की तरह ही हर…

1/5
आसान शब्दों में
एक स्मोक अलार्म भी एक नियम की तरह है: "अगर धुआँ हो, तो बीप करो।" एक अच्छा अलार्म आग लगने पर बीप करता है, लेकिन हर बार टोस्ट बनाते समय नहीं। Detection engineers कंप्यूटर के लिए ऐसे ही अलार्म बनाते हैं, और वे उनकी टेस्टिंग करते हैं ताकि वे दिन भर बिना वजह न बजते रहें।
एक detection rule लॉग्स (logs) में उस पैटर्न को बताता है जिस पर अलर्ट जारी होना चाहिए। Sigma एक ओपन और जेनेरिक नियम फ़ॉर्मैट है जो YAML में लिखा जाता है। एक Sigma नियम को कई SIEM टूल्स की क्वेरी में बदला जा सकता है, जिससे टीमें डिटेक्शन आपस में साझा कर सकती हैं।

एक आसान Sigma नियम

यह नियम ऐसे PowerShell को खोजता है जिसे एन्कोडेड कमांड (encoded command) के साथ शुरू किया गया हो। हमलावर अक्सर यह छिपाने के लिए एन्कोडिंग का इस्तेमाल करते हैं कि कोई स्क्रिप्ट क्या करती है, लेकिन कुछ एडमिन टूल्स भी इसका इस्तेमाल करते हैं।
Sigma rule: encoded PowerShell command lineyaml
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: medium
इसे ऊपर से नीचे की ओर पढ़ें: कौन से लॉग्स (logsource), क्या मैच करना है (detection), कब अलर्ट देना है (condition), और कौन से ज्ञात हानिरहित कारण हो सकते हैं (falsepositives)। ध्यान दें कि -enc, -EncodedCommand से भी मैच करता है, क्योंकि Sigma का contains डिफ़ॉल्ट रूप से केस-इंसेंसिटिव होता है।

AI कहाँ मदद करता है

  • किसी थ्रेट रिपोर्ट या हंट क्वेरी से पहला नियम ड्राफ़्ट करने में
  • किसी नियम का एक क्वेरी लैंग्वेज से दूसरी में अनुवाद करने में
  • टीम के नए सदस्य को कोई मौजूदा नियम समझाने में
  • संभावित फ़ाल्स पॉज़िटिव और टेस्ट केस सुझाने में
सावधान रहें
AI ग़लत फ़ील्ड नाम, अमान्य मॉडिफ़ायर्स या ग़लत ATT&CK IDs वाले नियम बना सकता है। यह नियमों को बहुत व्यापक (अलर्ट्स की बाढ़) या बहुत संकीर्ण (एक अक्षर बदलकर आसानी से बाईपास होने वाला) भी बना सकता है। Sigma टूलिंग से पुष्टि करें और असली सैंपल्स पर टेस्ट करें।

सैंपल लॉग्स के साथ टेस्ट करें

  1. 1

    पॉज़िटिव टेस्ट

    एक ऐसा सैंपल इवेंट जिसे नियम को ज़रूर पकड़ना चाहिए। क्या यह अलर्ट देता है?
  2. 2

    नेगेटिव टेस्ट

    सामान्य इवेंट्स जिन्हें नियम को नहीं पकड़ना चाहिए। क्या यह शांत रहता है?
  3. 3

    बाईपास टेस्ट

    एक छोटा सा बदलाव जो कोई हमलावर कर सकता है। क्या यह अब भी अलर्ट देता है?
  4. 4

    बैकटेस्ट

    हाल के असली डेटा पर चलाकर देखें कि यह कितनी बार अलर्ट देगा।

फ़ाल्स-पॉज़िटिव ट्यूनिंग

अगर कोई नियम हानिरहित गतिविधियों पर बहुत ज़्यादा अलर्ट देता है, तो एनालिस्ट उसे नज़रअंदाज़ करने लगते हैं। इसे ध्यान से ट्यून करें: संकीर्ण अपवाद (exclusions) जोड़ें (जैसे कोई खास साइन्ड टूल, कोई खास पैरेंट प्रोसेस), न कि "सभी एडमिन को अनदेखा करें" जैसे व्यापक अपवाद। हर अपवाद हमलावर के छिपने की जगह बन सकता है, इसलिए लिखें कि यह अपवाद क्यों बनाया गया है।

Detection as code

क्लिक के ज़रिए नियम
  • SIEM कंसोल में सीधे एडिट किए गए नियम
  • किसने क्या बदला, इसका कोई इतिहास नहीं
  • लाइव करने से पहले कोई टेस्टिंग नहीं
Detection as code
  • वर्शन कंट्रोल (जैसे Git) में सेव किए गए नियम
  • हर बदलाव की किसी अन्य व्यक्ति द्वारा समीक्षा, जिसमें AI द्वारा बनाए गए ड्राफ़्ट भी शामिल हैं
  • नियम लागू करने से पहले ऑटोमैटिक जाँच और टेस्ट
नोट
AI द्वारा ड्राफ़्ट किए गए नियम की समीक्षा और टेस्टिंग ठीक वैसे ही होनी चाहिए जैसे किसी इंसान द्वारा लिखे गए नियम की होती है। "इसे AI ने लिखा है" कोई समीक्षा नहीं होती।
इसे आज़माएँ। किसी AI से ऊपर दिए गए Sigma नियम की हर लाइन को समझाने के लिए कहें। क्या उसने condition वाली लाइन सही समझाई?

और देखें और पढ़ें

लैब

सैंपल इवेंट्स पर टेस्ट किया गया एक Sigma नियम, साथ में फ़ाल्स पॉज़िटिव और बाईपास पर एक नोट।

~35 min

समस्या

नीचे दिए गए सैंपल प्रोसेस इवेंट्स (काल्पनिक) का इस्तेमाल करें।

  1. किसी AI से एक ऐसा Sigma नियम लिखने को कहें जो एन्कोडेड कमांड वाले PowerShell को पकड़े। इसकी तुलना इस पाठ के नियम से करें।
  2. खुद से हर सैंपल इवेंट को देखें और मार्क करें कि क्या आपका नियम ट्रिगर होगा। (यदि संभव हो, तो Sigma टूलिंग इंस्टॉल करें और जाँचें कि नियम मान्य है।)
  3. पहचानें कि कौन से इवेंट्स ट्रू पॉज़िटिव, फ़ाल्स पॉज़िटिव और छूटे हुए हमले (missed attacks) हैं।
  4. ट्यूनिंग के लिए एक बदलाव और बाईपास से बचने के लिए एक सुधार का सुझाव दें। इसके नफ़ा-नुकसान (trade-off) को समझाएँ।
शुरुआती कोडtext
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%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें