E-C.O.P (Thailand) · Free Tools
Sigma Rule Translator · Learn · Try · Apply
← District
📜 Sigma Rule Translator · ECOP Free Tool

Sigma YAML → KQL · SPL · EQL · เข้าใจตั้งแต่แรก ใช้ได้จริงใน SIEM

เครื่องมือสำหรับ Junior SOC analyst ที่เจอ Sigma rule ใน GitHub/Twitter/บทความแล้วงงว่าจะเอาไปใช้ที่ไหน · 3 tabs: Learn (Sigma 101) · Try (paste→convert) · Apply (วางใน Sentinel/Splunk/Elastic)

P2 · SOC PRACTITIONER น้อง SOC / IT support 1-3 ปี · เจอใน job แล้วต้องส่งงานทันที · "ใช้ได้, copy แล้ววางต่อเลย"
100% CLIENT-SIDE · Sigma rule ของคุณไม่ออกจาก browser
📚 SIGMA 101 · 3 cards · 2 นาทีอ่านจบ ถ้าพึ่งเจอ Sigma rule ครั้งแรก หรือใช้แล้วยังไม่เข้าใจที่มา · อ่าน 3 การ์ดนี้ก่อน แล้วค่อย Try
1

Sigma คืออะไร?

"Open detection language" — เป็น YAML format ที่ใช้เขียน "กฎจับภัย" แบบไม่ผูกกับ vendor SIEM

เปรียบเทียบ:

Regex สำหรับ text ↳ เขียน 1 pattern ใช้ search ได้ทุกโปรแกรม
Sigma สำหรับ log ↳ เขียน 1 rule แปลง KQL/SPL/EQL ได้

ชุมชนใช้ Sigma แชร์ detection rule กัน — SigmaHQ มี 3,000+ rules ฟรีบน GitHub

2

ทำไมต้องแปลง?

SIEM แต่ละเจ้าใช้ "ภาษาคนละแบบ":

Microsoft Sentinel / Defender ↳ KQL (Kusto Query Language)
Splunk ↳ SPL (Search Processing Language)
Elastic / OpenSearch ↳ EQL หรือ Lucene query string

ถ้าเจอ Sigma rule ใน blog/Twitter/GitHub แล้วคุณใช้ Sentinel — ต้องแปลง ก่อนเอาไปใช้ · tool นี้คือ converter

⚠️ Official tool คือ pySigma (Python CLI) · tool นี้เป็น web simplified version · cover ~80% syntax

3

Anatomy ของ Sigma rule

Sigma rule มี 3 ส่วนหลัก:

# --- METADATA --- ใครเขียน · ระดับร้ายแรง title: Suspicious PowerShell -enc level: high tags: [attack.t1059.001] # --- LOGSOURCE --- เอา log จากไหน logsource: category: process_creation product: windows # --- DETECTION --- จับอะไร detection: selection: CommandLine|contains: '-enc' condition: selection

Modifier เช่น |contains · |endswith · |startswith · |re (regex)

📍 พร้อมแล้ว?

ลอง paste Sigma rule แล้วดู query ที่แปลงให้ทันที — มี 5 sample rules ให้เริ่มต้นถ้ายังไม่มีของคุณเอง

📝 Sigma Rule (YAML)

📚 SAMPLES:

⚡ Translated Query

// paste Sigma rule แล้วกด Convert
⚠️ Disclaimer Translation นี้ใช้ rule-based · cover ~80% ของ Sigma syntax · complex rules (correlation · timeframe · aggregation) อาจต้องปรับมือ · ใช้ผลเป็น starting point · test ใน stage SIEM ก่อน production · official tool คือ pySigma (CLI · Python)
🚀 APPLY · วาง query ที่แปลงเสร็จแล้ว ใน SIEM ของคุณ ทำตาม step ด้านล่างของ SIEM ที่บริษัทคุณใช้ · ทุก SIEM มี 2 mode: Hunt mode (ลองยิง 1 ครั้ง) และ Detection mode (ตั้งให้รัน auto + alert)

🔷 Microsoft Sentinel / Defender

KQL · Kusto Query Language
HUNT MODE · ลองยิง 1 ครั้ง
1เปิด Microsoft SentinelHunting+ New Query
2Paste KQL ลงในช่อง Query · กด Run Query
3ปรับ time range เป็น Last 24 hours ก่อน · ดูว่ามี hit ไหม
DETECTION MODE · ตั้ง auto-alert
4SentinelAnalytics+ CreateScheduled query rule
5Paste KQL · ตั้ง Run every 5 minutes + Lookup last 1 hour
6ตั้ง Severity = High + Alert grouping + Incident creation: Yes

🔶 Splunk Enterprise / Cloud

SPL · Search Processing Language
HUNT MODE · ลองยิง 1 ครั้ง
1เปิด Search & Reporting app
2Paste SPL · ปรับ index= และ sourcetype= ให้ตรงกับของคุณ
3ตั้ง time range Last 24 hours · กด Search
DETECTION MODE · ตั้ง auto-alert
4หลังกด Search · กด Save AsAlert
5ตั้ง Schedule: Every 5 minutes + Trigger when results > 0
6เพิ่ม Action: Send to ITSM หรือ Email · กรอกข้อความ alert

🔴 Elastic Security / Kibana

EQL หรือ KQL/Lucene
HUNT MODE · ลองยิง 1 ครั้ง
1เปิด KibanaDiscover
2เลือก data view winlogbeat-* หรือ logs-*
3Paste KQL/Lucene query ลงใน search bar · กด Refresh
DETECTION MODE · ตั้ง auto-alert
4Security app → Rules+ Create new rule
5เลือก rule type EQL (ถ้าใช้ EQL) หรือ Custom Query (KQL)
6Paste query · ตั้ง Schedule: 5m + Lookback: 30m + Severity: High

💡 SOC Tips · ก่อน deploy production

🧪

Test ใน 24-hour window ก่อน

ยิง query ใน lookback 24 ชม. ก่อน — ถ้า hit > 100 ครั้ง = น่าจะมี false positive · ต้อง tune ก่อน production

🎯

Tune false positive ด้วย "filter_legit"

ถ้าเจอ noise · เพิ่ม filter_legit ใน Sigma แล้ว condition: selection and not filter_legit

🗺️

Map กับ MITRE ATT&CK

ใช้ tag attack.t1059.001 ใน Sigma เพื่อ track coverage · ดูที่ attack.mitre.org

📊

Adjust table/index ก่อน paste

Tool generate ให้ default = DeviceProcessEvents (Sentinel) · index=windows (Splunk) · ปรับให้ตรง env ของคุณ

🔄

Version control rules

Save Sigma YAML ใน Git repo + alert metadata · แชร์กับทีม · review เป็น PR · audit trail

📚

Source ของ Sigma rules

SigmaHQ (3,000+ official) · detection.fyi · Uncoder.IO