Alert Tuning SOP / SOP การปรับจูน Alert
รหัสเอกสาร: OPS-SOP-016
เวอร์ชัน: 1.0
การจัดชั้นความลับ: ใช้ภายใน
อัปเดตล่าสุด: 2026-02-15
แนวทางเป็นระบบในการ ลด false positives, ปรับปรุงคุณภาพ alert, และ ป้องกัน analyst fatigue SOC ทุกแห่งควร tune อย่างต่อเนื่อง — SOP นี้กำหนดว่าเมื่อไร, อย่างไร, และ tune อะไร
ทำไมต้อง Tune?
| ปัญหา |
ผลกระทบ |
ผลลัพธ์จากการ Tune |
| FP rate สูง (> 30%) |
Analyst fatigue, พลาด alert จริง |
TP rate ≥ 80% |
| Alert ท่วม (> 200/analyst/วัน) |
ไม่สามารถสืบสวนได้ทั่วถึง |
ปริมาณจัดการได้ (< 50/วัน) |
| Alert ซ้ำ |
เสียเวลา analyst |
Deduplicate + correlate |
| Alert ไม่เกี่ยวข้อง |
เสียความเชื่อมั่นในเครื่องมือ |
ตรงบริบท, เกี่ยวข้อง |
วงจร Tuning
graph TD
A[1. ระบุ Rule ที่เสียงดัง] --> B[2. วิเคราะห์สาเหตุ]
B --> C[3. ออกแบบการแก้ไข]
C --> D[4. ทดสอบใน Staging]
D --> E[5. Deploy ไป Production]
E --> F[6. Monitor ผลกระทบ]
F --> G{ดีขึ้น?}
G -->|ใช่| H[7. บันทึก & ปิด]
G -->|ไม่| B
style A fill:#3b82f6,color:#fff
style H fill:#22c55e,color:#fff
ขั้นที่ 1: ระบุ Rule ที่มีปัญหา
ตัวชี้วัดที่ต้องติดตาม
| ตัวชี้วัด |
เกณฑ์ที่ต้อง Tune |
แหล่งข้อมูล |
| False positive rate |
> 30% ต่อ rule |
SIEM + feedback จาก analyst |
| ปริมาณ alert ต่อ rule |
> 50/วัน (rule เดียว) |
SIEM dashboard |
| อัตราปิด alert โดยไม่มี action |
> 50% |
Ticketing |
| เวลาสืบสวนเฉลี่ย |
< 1 นาที (auto-close) |
Ticketing |
รายงาน Tuning รายสัปดาห์
| อันดับ |
ชื่อ Rule |
Rule ID |
TP |
FP |
ปริมาณ/วัน |
FP Rate |
Action |
| 1 |
__ |
_____ |
_____ |
_____ |
_____ |
___% |
Tune/Disable/Keep |
| 2 |
__ |
_____ |
_____ |
_____ |
_____ |
___% |
Tune/Disable/Keep |
| 3 |
__ |
_____ |
_____ |
_____ |
_____ |
___% |
Tune/Disable/Keep |
ขั้นที่ 2: วิเคราะห์สาเหตุ FP
สาเหตุ FP ที่พบบ่อย
| สาเหตุ |
ตัวอย่าง |
วิธีแก้ |
| ซอฟต์แวร์ปกติ |
AV flag admin tools (PsExec) |
Allowlist โดย hash + source |
| งาน Schedule |
Cron/task ทำให้ process creation alert |
exclusion ตามเวลา |
| Service accounts |
Service account ทำให้เกิด brute-force alert |
exclusion ตาม identity |
| Infrastructure ที่รู้จัก |
Scanner ทำให้ IDS alert |
exclusion ตาม source IP |
| Detection กว้างเกินไป |
"PowerShell ทุกคำสั่ง" |
จำกัดเฉพาะ cmdlets ที่น่าสงสัย |
| Threshold ต่ำเกินไป |
Failed login threshold = 3 |
เพิ่มเป็น 10+ ใน 5 นาที |
ขั้นที่ 3: เทคนิคการ Tune
| เทคนิค |
เมื่อไรใช้ |
ความเสี่ยง |
| Allowlist by entity |
แหล่งที่ปลอดภัยที่รู้จัก |
ต่ำ |
| Allowlist by hash |
Binary ที่ปลอดภัยที่รู้จัก |
ต่ำ |
| Time-based exclusion |
กิจกรรมตาม schedule |
ปานกลาง |
| ปรับ Threshold |
Rule อ่อนไหวเกินไป |
ปานกลาง |
| เพิ่มเงื่อนไข |
Rule กว้างเกินไป |
ต่ำ |
| Correlation rule |
โจมตีหลายขั้นตอน |
ปานกลาง |
| ลดระดับ Severity |
Alert ไม่สมควรเป็น P1 |
ต่ำ |
| Deduplication |
Alert เดิมซ้ำ |
ต่ำ |
| ใช้ Enrichment |
ต้องการ context เพิ่ม |
ปานกลาง |
| Disable rule |
ไม่มีคุณค่าสำหรับสภาพแวดล้อม |
สูง |
Decision Matrix
flowchart TD
A[Rule มีปัญหา] --> B{มี TP ใน 30 วันที่ผ่านมา?}
B -->|ไม่| C{เกี่ยวข้องกับเรา?}
C -->|ไม่| D[🔴 DISABLE rule]
C -->|ใช่| E[🟡 KEEP แต่เพิ่มเงื่อนไข]
B -->|ใช่| F{FP rate > 50%?}
F -->|ใช่| G{จำกัด logic ได้?}
G -->|ใช่| H[🟢 TUNE — เพิ่ม exclusions]
G -->|ไม่| I[🟡 ลดระดับ severity + enrichment]
F -->|ไม่| J{ปริมาณ > 50/วัน?}
J -->|ใช่| K[🟢 Deduplicate + ปรับ threshold]
J -->|ไม่| L[✅ KEEP — เสียงยอมรับได้]
style D fill:#dc2626,color:#fff
style H fill:#22c55e,color:#fff
style K fill:#22c55e,color:#fff
style L fill:#3b82f6,color:#fff
ขั้นที่ 4: ทดสอบใน Staging
ขั้นที่ 5: Deploy ไป Production
| ขั้น |
การดำเนินการ |
ผู้รับผิดชอบ |
| 1 |
สร้าง change ticket พร้อมรายละเอียด |
SOC Analyst |
| 2 |
ขออนุมัติจาก SOC Lead |
SOC Lead |
| 3 |
Apply การเปลี่ยนแปลงในช่วง low-traffic |
Detection Engineer |
| 4 |
Tag rule ด้วย tuning metadata |
Detection Engineer |
| 5 |
กำหนดช่วง monitor 7 วัน |
SOC Lead |
| 6 |
ทบทวนผลกระทบหลัง 7 วัน |
SOC Analyst |
ขั้นที่ 6: Monitor ผลกระทบ (7 วัน)
| ตัวชี้วัด |
ก่อน Tune |
หลัง Tune (7 วัน) |
เปลี่ยนแปลง |
| ปริมาณ alert/วัน |
_____ |
_____ |
↓ ___% |
| True positive count |
_____ |
_____ |
ต้องคงที่ |
| False positive count |
_____ |
_____ |
↓ ___% |
| FP rate |
___% |
___% |
↓ ___pp |
| เวลาสืบสวนเฉลี่ย |
___ นาที |
___ นาที |
↓ ___% |
| Missed detections |
0 |
0 |
ต้องเป็น 0 |
⚠️ ถ้า TP count ลดลง ให้สืบสวนทันที — การ tune อาจรุนแรงเกินไป
ขั้นที่ 7: บันทึก & ปิด
| ฟิลด์ |
ค่า |
| ชื่อ Rule |
__ |
| Rule ID |
_____ |
| วันที่ Tune |
_-_- |
| Analyst |
__ |
| Change Ticket |
_____ |
| FP Rate (ก่อน) |
___% |
| FP Rate (หลัง) |
___% |
| ปริมาณ (ก่อน) |
_____/วัน |
| ปริมาณ (หลัง) |
_____/วัน |
| ประเภท Tune |
Exclusion / Threshold / Condition / Severity / Disable |
| ทบทวนครั้งต่อไป |
_-_- |
ตาราง Tuning ประจำ
| กิจกรรม |
ความถี่ |
ผู้รับผิดชอบ |
ผลลัพธ์ |
| ทบทวน 10 rules ที่เสียงดังที่สุด |
รายสัปดาห์ |
SOC Analyst (หมุนเวียน) |
Tuning requests |
| ตรวจสอบ rule ใหม่ (7 วัน) |
ทุก rule ใหม่ |
Detection Engineer |
รายงาน validation |
| ทบทวนประสิทธิภาพ rule |
รายเดือน |
Detection Engineering Lead |
รายงาน rule health |
| Audit rule ทั้งหมด |
รายไตรมาส |
SOC Lead + Security Engineer |
รายงาน audit |
Governance: ใครสามารถ Tune ได้?
| บทบาท |
Tune ได้? |
อะไร |
| SOC Tier 1 |
❌ |
รายงาน FP patterns (ผ่านแบบฟอร์ม) |
| SOC Tier 2 |
⚠️ |
เสนอ tuning, ต้องได้รับอนุมัติจาก SOC Lead |
| SOC Tier 3 / Detection Engineer |
✅ |
ออกแบบและ implement (พร้อม peer review) |
| SOC Lead |
✅ |
อนุมัติและ deploy |
| SOC Manager |
✅ |
Override: disable/enable rules, อนุมัติ high-risk |
ตัวชี้วัด
| ตัวชี้วัด |
เป้าหมาย |
วิธีวัด |
| TP rate รวม (ทุก rule) |
≥ 80% |
SIEM report รายเดือน |
| Rules ที่มี FP > 50% |
0 |
รายงานรายสัปดาห์ |
| Tuning requests เสร็จตาม SLA |
≥ 90% |
Ticketing |
| เวลาจาก request ถึง deploy |
< 5 วันทำการ |
Ticketing |
| Alert ต่อ analyst ต่อวัน |
< 50 |
SIEM + shift report |
Tuning Prioritization
| เกณฑ์ |
น้ำหนัก |
วิธีประเมิน |
| FP Volume |
30% |
จำนวน FP ต่อสัปดาห์ |
| Analyst Time Wasted |
25% |
FP × เวลา triage ต่อ FP |
| Alert Fatigue Risk |
25% |
สัดส่วน FP ต่อ TP |
| Tuning Complexity |
20% |
ง่าย / ปานกลาง / ซับซ้อน |
Tuning Methods
| วิธี |
ใช้เมื่อ |
ตัวอย่าง |
| Exclusion List |
FP จาก known-good sources |
Exclude scanner IPs |
| Threshold Adjustment |
Alert sensitivity สูงเกิน |
Failed login 5→10 |
| Time Window |
FP จาก scheduled tasks |
Exclude maintenance window |
| Context Enrichment |
ต้องการข้อมูลเพิ่มก่อน alert |
เพิ่ม user role lookup |
| Rule Rewrite |
Logic ผิดพื้นฐาน |
เขียน Sigma rule ใหม่ |
| Disable Rule |
ไม่มีค่าเลย |
Disable + document reason |
A/B Testing สำหรับ Rule Changes
graph LR
Original["📋 Rule เดิม<br/>(FP: 40%)"] --> Clone["📋 Rule ใหม่<br/>(คาดว่า FP ลด)"]
Clone --> Both["รันคู่กัน 7 วัน"]
Both --> Compare["📊 เปรียบเทียบ"]
Compare --> Better{"Rule ใหม่ดีกว่า?"}
Better -->|ใช่| Replace["✅ ใช้ Rule ใหม่"]
Better -->|ไม่| Keep["🔄 ปรับเพิ่ม/คงเดิม"]
Tuning Log Template
| ฟิลด์ |
ค่า |
| Tuning ID |
TUNE-YYYY-NNN |
| Rule Name/ID |
[ระบุ] |
| FP Rate ก่อน |
[XX]% |
| การเปลี่ยนแปลง |
[ระบุ] |
| FP Rate หลัง |
[XX]% |
| DP Impact |
ตรวจจับ TP ลดลงหรือไม่ |
| ผู้ดำเนินการ |
[ชื่อ] |
| วันที่ |
[YYYY-MM-DD] |
Alert Tuning Playbook
Tuning Decision Tree
flowchart TD
A[High volume alert] --> B{True positive?}
B -->|< 5%| C[Disable or re-scope]
B -->|5-50%| D[Add exclusions]
B -->|> 50%| E[Keep as-is]
D --> F{Still noisy?}
F -->|Yes| G[Split into sub-rules]
F -->|No| H[Monitor 7 days]
Tuning Log Template
| Date |
Rule Name |
Action |
Reason |
FP Before |
FP After |
|
|
Whitelist |
Known scanner |
85% |
12% |
|
|
Threshold ↑ |
Normal baseline |
70% |
15% |
|
|
Disable |
Deprecated source |
95% |
N/A |
Weekly Tuning Cycle
| Day |
Activity |
Owner |
| Mon |
Review top noisy rules |
Analyst |
| Tue |
Propose exclusions |
Engineer |
| Wed |
Test in shadow mode |
Engineer |
| Thu |
Deploy changes |
Lead |
| Fri |
Validate improvements |
Analyst |
เอกสารที่เกี่ยวข้อง