Sigma Rules: বিভিন্ন সাইবার ডিটেকশন সিস্টেমের জন্য জেনেরিক অ্যালার্ট রুল লেখার গাইডলাইন!
Sigma Rules-এর মাধ্যমে প্ল্যাটফর্ম-নিরপেক্ষ ডিটেকশন রুল লেখা, টেস্টিং এবং বিভিন্ন SIEM-এ কনভার্সনের সম্পূর্ণ গাইড।
সাইবার ডিফেন্স কমিউনিটিতে দীর্ঘকাল ধরে একটি মৌলিক সমস্যা ছিল—প্রতিটি SIEM, EDR বা লগ অ্যানালাইসিস প্ল্যাটফর্ম নিজস্ব Query Language ব্যবহার করত। Splunk-এ SPL, Microsoft Sentinel-এ KQL, Elastic-এ EQL/Lucene, QRadar-এ AQL, Sumo Logic-এ নিজস্ব ভাষা। ফলে একটি ডিটেকশন রুল লেখার পর সেটি অন্য প্ল্যাটফর্মে ব্যবহার করতে হলে পুরোটাই নতুন করে লিখতে হতো। নিরাপত্তা গবেষক, Red Team অপারেটর বা পরামর্শক যারা একাধিক ক্লায়েন্ট এনভায়রনমেন্টে কাজ করেন, তাদের জন্য এটি ছিল বিশাল প্রতিবন্ধকতা।
২০১৬ সালে Florian Roth এবং Thomas Patzke এই সমস্যার সমাধান হিসেবে Sigma প্রকল্প চালু করেন। তারা ইয়ামল-ভিত্তিক একটি ওপেন স্ট্যান্ডার্ড তৈরি করেন যেখানে ডিটেকশন লজিক একবার লেখা যাবে এবং পরে যেকোনো SIEM-এর নিজস্ব ভাষায় কনভার্ট করা যাবে। গত কয়েক বছরে Sigma কার্যত Detection-as-Code-এর সর্বজনীন মান হয়ে উঠেছে এবং বৃহৎ ওপেন-সোর্স রুল রিপোজিটরি SigmaHQ-এ হাজারো কমিউনিটি-অবদানকৃত রুল রয়েছে।
Sigma কেন বিপ্লবী
Sigma-র মূল ধারণা সরল কিন্তু শক্তিশালী—"Write once, deploy anywhere"। একটি Sigma রুল একটি YAML ফাইলে ডিটেকশন লজিক, মেটাডেটা এবং প্রসঙ্গ ধারণ করে। একটি কনভার্টার (sigmac বা pySigma) এই রুলকে নির্দিষ্ট ব্যাকএন্ডের (Splunk, Sentinel, Elastic, ChronicleSIEM ইত্যাদি) নেটিভ Query-তে অনুবাদ করে।
এর সুবিধা:
- পোর্টেবিলিটি: একই রুল একাধিক প্ল্যাটফর্মে ব্যবহার
- কমিউনিটি শেয়ারিং: SigmaHQ, Atomic Red Team-এর মতো রিপোতে বিশ্বব্যাপী রুল আদান-প্রদান
- ভেন্ডর-নিরপেক্ষতা: SIEM পরিবর্তন করলেও রুল লজিক অক্ষুণ্ণ থাকে
- ভার্সন কন্ট্রোল: YAML হওয়ায় Git-এ সংরক্ষণ ও PR রিভিউ সহজ
- ডকুমেন্টেশন: রুলের পাশাপাশি ATT&CK ম্যাপিং, রেফারেন্স এবং false positive বিবেচনা সবকিছু একই ফাইলে
Sigma রুলের কাঠামো
একটি Sigma রুলের মূল অংশসমূহ:
title: Suspicious PowerShell Encoded Command
id: 12345678-1234-1234-1234-123456789012
status: stable
description: Detects PowerShell execution with encoded command parameter
references:
- https://attack.mitre.org/techniques/T1059/001/
author: Detection Engineer
date: 2026/05/25
modified: 2026/05/25
tags:
- attack.execution
- attack.t1059.001
logsource:
product: windows
category: process_creation
detection:
selection:
Image|endswith: '\powershell.exe'
CommandLine|contains:
- ' -enc '
- ' -encodedcommand '
- ' -e '
filter:
CommandLine|contains: 'KnownLegitTool'
condition: selection and not filter
falsepositives:
- Administrative scripts using encoded commands
level: high
প্রতিটি অংশের ভূমিকা
title: রুলের সংক্ষিপ্ত নাম যা SOC-এ স্পষ্টভাবে দৃশ্যমান হবে।
id: একটি unique UUID যা রুল ট্র্যাকিং এবং ভার্সনিংয়ের জন্য ব্যবহৃত হয়।
status: experimental, test, stable, deprecated—রুলের পরিপক্বতা নির্দেশ করে।
description: কী হুমকি ধরা হচ্ছে এবং কেন তা ব্যাখ্যা।
references: গবেষণা পেপার, ব্লগ পোস্ট, ATT&CK পেজ-এর লিংক।
tags: MITRE ATT&CK Tactics এবং Techniques-এ ম্যাপিং, যা coverage analysis সহজ করে।
logsource: কোন লগ থেকে এই ডেটা আসছে তা নির্দিষ্ট। product (windows, linux), category (process_creation, network_connection), service (sysmon, security)।
detection: রুলের মূল লজিক, যেখানে selection এবং filter ব্লক থাকে এবং condition দিয়ে সংযুক্ত করা হয়।
falsepositives: কী কী বৈধ কারণে এই রুল ট্রিগার হতে পারে তা উল্লেখ।
level: low, medium, high, critical—গুরুত্বের মাত্রা।
Detection লজিক লেখার নিয়মাবলী
Field Modifiers
Sigma বিভিন্ন field modifier সমর্থন করে যা matching আচরণ পরিবর্তন করে:
contains: substring matchstartswith/endswith: prefix/suffix matchre: regular expressioncidr: IP CIDR matchbase64/base64offset: base64 encoded matchall: তালিকার সব মান match হতে হবেgt,gte,lt,lte: সংখ্যা তুলনা
Selection এবং Filter Logic
একটি ভালো রুলে সাধারণত একাধিক selection এবং filter ব্লক থাকে। condition ফিল্ডে boolean লজিক ব্যবহার করে এগুলো সংযুক্ত করা হয়:
selection: যে আচরণ ধরতে চানfilter: যা বাদ দিতে চান (false positive কমাতে)condition: selection and not filter
জটিল রুলে 1 of selection_*, all of selection_* ব্যবহার করে একাধিক প্যাটার্ন একসাথে চেক করা যায়।
Sigma Conversion Tools
pySigma
আধুনিক যুগে pySigma হলো প্রধান কনভার্সন ফ্রেমওয়ার্ক। এটি প্ল্যাগইন-ভিত্তিক যেখানে প্রতিটি ব্যাকএন্ড (Splunk, Sentinel, Elastic) একটি প্ল্যাগইন আকারে আসে। কমান্ড লাইন উদাহরণ:
sigma convert -t splunk -p sysmon rule.yml
sigma convert -t microsoft365defender rule.yml
Uncoder.io এবং SOC Prime
Uncoder.io একটি অনলাইন কনভার্টার যা দ্রুত Sigma → বিভিন্ন SIEM-এ অনুবাদ দেখায়। SOC Prime Threat Detection Marketplace হাজারো প্রিমিয়াম Sigma রুল সরবরাহ করে।
Chronicle YARA-L
Google Chronicle YARA-L ভাষা ব্যবহার করে, এবং Sigma → YARA-L কনভার্সন এখন pySigma প্ল্যাগইনে উপলব্ধ।
Detection Engineering Workflow
১. Threat Modeling
প্রথমে নির্ধারণ করুন—কোন ATT&CK Technique আপনি ধরতে চান। উদাহরণস্বরূপ T1547.001 (Registry Run Keys / Startup Folder)।
২. Telemetry Investigation
পরীক্ষা করুন এই টেকনিক ব্যবহৃত হলে কোন লগ সোর্সে কী ইভেন্ট জেনারেট হয়। Sysmon Event ID 12/13 (Registry change), Windows Event ID 4657 (Registry value modified)।
৩. Atomic Testing
Atomic Red Team বা Caldera ব্যবহার করে নিয়ন্ত্রিত পরিবেশে আক্রমণ সিমুলেট করুন। প্রকৃত ইভেন্ট ক্যাপচার করুন।
৪. Rule Authoring
সংগৃহীত ডেটার ভিত্তিতে Sigma রুল লিখুন। স্পষ্ট, পঠনযোগ্য এবং documented হতে হবে।
৫. Validation
Sigma রুল ব্যাকএন্ডে কনভার্ট করে dev/staging পরিবেশে চালান। বৈধ এবং অবৈধ উভয় ট্রাফিকে পরীক্ষা করুন।
৬. Tuning
প্রোডাকশনে ছেড়ে দেওয়ার আগে false positive কমাতে filter ব্লক উন্নত করুন।
৭. Deployment এবং Maintenance
CI/CD পাইপলাইনের মাধ্যমে রুল ডিপ্লয় করুন। GitHub Actions বা GitLab CI দিয়ে স্বয়ংক্রিয় টেস্টিং এবং ডিপ্লয়মেন্ট সম্ভব।
Sigma Correlation: নতুন উন্নতি
প্রাথমিক Sigma শুধুমাত্র এক-ইভেন্ট ডিটেকশন সমর্থন করত। কিন্তু আধুনিক হুমকি প্রায়শই বহু-ইভেন্ট প্যাটার্ন। তাই Sigma Correlation এসেছে যা একাধিক ইভেন্ট, সময়-ভিত্তিক aggregation এবং threshold-ভিত্তিক রুল লেখা সম্ভব করে। উদাহরণস্বরূপ—"একই উৎস থেকে ৫ মিনিটে ১০+ ব্যর্থ লগইন"—এই ধরনের লজিক এখন স্থানীয়ভাবে Sigma-তে প্রকাশ করা যায়।
correlation:
type: value_count
rules:
- failed_logon_attempts
group-by:
- SourceIp
- TargetUserName
timespan: 5m
condition:
gte: 10
SigmaHQ Repository
GitHub-এ SigmaHQ/sigma রিপোজিটরিতে কমিউনিটি-অবদানকৃত ১০০০+ রুল রয়েছে যা নিম্নলিখিতভাবে শ্রেণিবদ্ধ:
rules/windows/: Windows-নির্দিষ্ট রুলrules/linux/: Linux/Unixrules/network/: নেটওয়ার্ক ট্রাফিকrules/cloud/: AWS, Azure, GCP, M365rules/web/: Web application logsrules-emerging-threats/: সাম্প্রতিক হুমকির রুল (যেমন Log4Shell, MOVEit)
এই রিপোজিটরি থেকে রুল নিয়ে নিজস্ব পরিবেশে কাস্টমাইজ করে ব্যবহার করা যায়।
Best Practices
রুল লেখার ক্ষেত্রে
- নির্দিষ্ট হোন: শুধুমাত্র
powershell.exeখুঁজবেন না—সাথে কোন প্যারামিটার আছে তাও যাচাই করুন - False positive বিবেচনা: প্রতিটি রুলে বৈধ ব্যবহারের পরিস্থিতি ভাবুন এবং filter যোগ করুন
- MITRE ম্যাপিং: প্রতিটি রুলে অন্তত একটি ATT&CK ট্যাগ যোগ করুন
- পরিষ্কার নাম: title থেকেই যেন বোঝা যায় কী ধরা হচ্ছে
- Test cases: পজিটিভ এবং নেগেটিভ উভয় উদাহরণ ডকুমেন্ট করুন
- References যোগ করুন: গবেষণা পেপার বা ব্লগ লিংক থাকলে রুলের যৌক্তিকতা স্পষ্ট হয়
Operational Practices
- Detection-as-Code: রুল Git-এ রাখুন, পিআর-ভিত্তিক রিভিউ ব্যবস্থা চালু করুন
- CI/CD Integration: প্রতিটি রুল পরিবর্তনে স্বয়ংক্রিয় সিনট্যাক্স যাচাই এবং unit test
- Coverage Tracking: MITRE ATT&CK Navigator দিয়ে কোন কোন টেকনিক covered, কোনগুলো নয় তা ট্র্যাক
- Rule Versioning: প্রতিটি রুলের modified ফিল্ড আপডেট রাখুন
- Deprecation Process: পুরনো বা inefficient রুল চিহ্নিত করে সরানোর একটি প্রক্রিয়া
- Documentation: প্রতিটি রুলের জন্য response playbook লিংক যুক্ত
Sigma-এর সীমাবদ্ধতা
Sigma একটি শক্তিশালী টুল হলেও কিছু সীমাবদ্ধতা আছে:
- Backend Capabilities: কিছু জটিল প্যাটার্ন সব ব্যাকএন্ডে সমানভাবে কনভার্ট হয় না
- Performance Tuning: কনভার্টেড Query কখনো কখনো অপ্টিমাইজড নয়; ম্যানুয়াল টিউনিং দরকার
- Field Mapping: প্রতিটি সংস্থার লগ স্কিমা ভিন্ন; field name mapping প্রয়োজন
- Advanced ML: anomaly detection বা ML মডেল Sigma-তে প্রকাশ করা সম্ভব নয়
এই সীমাবদ্ধতার অর্থ হলো Sigma একটি ভিত্তি; প্রকৃত প্রোডাকশনে কাজ করার আগে প্রতিটি প্ল্যাটফর্মে রিভিউ এবং টিউনিং প্রয়োজন।
ভবিষ্যৎ এবং পরিবেশতন্ত্র
Sigma কমিউনিটি দ্রুত প্রসারিত হচ্ছে। Microsoft, Elastic, Splunk—প্রধান ভেন্ডররা Sigma আমদানি ও রপ্তানি ফিচার তাদের প্ল্যাটফর্মে যোগ করছে। OASIS-এর OCSF (Open Cybersecurity Schema Framework) এবং Sigma-এর সমন্বয় ভবিষ্যতের ডিটেকশন-অ্যাজ-কোড স্ট্যান্ডার্ড গড়ে তুলছে।
বাংলাদেশের সাইবার নিরাপত্তা পরিবেশেও Sigma গ্রহণ বাড়ছে—বিশেষ করে যেসব সংস্থা একাধিক টুল ব্যবহার করে বা সীমিত বাজেটে নিজস্ব ডিটেকশন গড়ে তুলতে চায়, তাদের জন্য Sigma একটি আদর্শ পথ।
Sigma Rules আধুনিক ডিটেকশন ইঞ্জিনিয়ারিংয়ের একটি যুগান্তকারী আবিষ্কার। এটি প্ল্যাটফর্ম-নিরপেক্ষ, কমিউনিটি-চালিত এবং কোড-অ্যাজ-কনফিগারেশন দর্শনে প্রতিষ্ঠিত একটি পদ্ধতি যা সাইবার প্রতিরক্ষাকে আরও দ্রুত, পুনরায় ব্যবহারযোগ্য এবং সহযোগিতামূলক করে তুলেছে। যেকোনো SOC, MSSP বা সিকিউরিটি গবেষকের জন্য Sigma শেখা এবং প্রয়োগ করা আজকের যুগে একটি অপরিহার্য দক্ষতা। যথাযথ Workflow, CI/CD এবং কমিউনিটি অংশগ্রহণের মাধ্যমে Sigma-ভিত্তিক ডিটেকশন প্রোগ্রাম প্রতিষ্ঠানের নিরাপত্তা পরিপক্বতাকে নতুন স্তরে নিয়ে যেতে পারে।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Sigma Rules MCQ Quiz-টি দিন!

