สารบัญ
Series: CyberSecurity Foundation — รากฐาน Security สำหรับยุค AI (ภาษาคน)
Part 0 — WHY: เมืองนี้ทำไมต้องมียาม
- EP.00 (Prologue) — 5 Generations + PPT + CISA vs CISA
- EP.01 — Cybersecurity คือเรื่องของคุณ
- EP.02 — 4 เคสที่เปลี่ยนวงการ
- EP.03 — CIA Triad
- EP.04 — Defense in Depth + Diversity
- EP.05 — Assume Breach + Risk
Part 1 — HOW: ระบบนิเวศของเมือง
- EP.06 — ระบบนิเวศของโจร
- EP.07 — ระบบนิเวศของผู้ป้องกัน: Blue / Red / Purple
- EP.08 — Framework: ISO / NIST / COBIT / CIS
- EP.09 — Compliance Theater
Part 2 — Identity: บัตรประชาชน + กุญแจห้อง
- EP.10 — IAM Lifecycle
- EP.11 — Authentication: 3 Factors + AAA
- EP.12 — Password 101
- EP.13 — MFA + Biometric
- EP.14 — Kerberos
- EP.15 — Federation + SSO
- EP.15.5 — Web Services Trio: SOAP / WSDL / UDDI (Primer)
- EP.16 — Authorization: RBAC / ABAC / MAC / DAC
- EP.17 — PAM + Zero Trust
Part 3 — Data: ของในเซฟ
- EP.18 — Data Classification + Lifecycle
- EP.19 — Cryptography 101
- EP.20 — Symmetric Crypto: AES
- EP.21 — Asymmetric Crypto: RSA + DH
- EP.22 — Hashing: SHA Family
- EP.23 — PKI + Certificates
- EP.24 — TLS / HTTPS
- EP.25 — Email Security: SPF / DKIM / DMARC
- EP.26 — Privacy Engineering
Part 4 — Infrastructure: ถนน กำแพง ท่อ
- EP.26.5 — Network Anatomy: 7 ชั้นของถนนในเมือง (Primer)
- EP.27 — Network Basics + Firewall Generations
- EP.28 — Segmentation + DMZ + Microsegmentation
- EP.29 — IDS / IPS / WAF / RASP ← คุณอยู่ตรงนี้
- EP.30 — VPN + Proxy + DNS Security
- EP.31 — DDoS + DLP
- EP.32 — Cloud + Shared Responsibility
- EP.32.5 — Cloud Stack Anatomy: 9 ชั้นของระบบ (Primer)
- EP.33 — Container + Kubernetes Security
- EP.33.5 — Beyond Container: MicroVM / Wasm / Unikernel
- EP.34 — DevSecOps + Shift-Left
- EP.35 — Mobile + Wireless
- EP.36 — IoT + OT / ICS Security
- EP.37 — Remote Work + ZTNA
- EP.38 — AI Security + Blockchain Security
Part 5 — Operations: ตำรวจ ดับเพลิง สืบสวน
- EP.39 — Kill Chain + MITRE ATT&CK
- EP.40 — Social Engineering: Phishing / BEC / Vishing
- EP.41 — Malware Taxonomy
- EP.42 — Web App Attacks: OWASP Top 10
- EP.43 — Detection: SOC + SIEM + EDR / XDR / SOAR
- EP.44 — Threat Hunting + Deception
- EP.45 — Vuln Scan / Pen Test / Red Team / BAS
- EP.46 — Incident Response (NIST 800-61)
- EP.47 — Digital Forensics
Part 6 — Governance: เทศบาล + กฎหมายเมือง
ครับ EP.27 เราติดตั้ง ป้อมยามหน้าหมู่บ้าน (firewall 4 รุ่น) ครบ. EP.28 เรา แบ่งเมืองเป็นย่าน (segmentation + DMZ + microsegmentation) — โจรเข้าย่านหนึ่งได้แล้ว ก็เข้าย่านอื่นไม่ได้ง่ายๆ
แต่มีคำถามที่ค้างใจ — ถ้าโจรผ่านป้อมยามไปแล้ว (เพราะปลอม pass, เพราะ phishing ลูกหลานยาม, เพราะ rule ของ firewall เปิด port ที่ควรปิด) ใครจะเห็นเขาในเมือง?
ลองนึกฉากครับ — โจรปลอมเอกสารผ่านป้อมยามได้ เข้าเมืองมาแล้ว เดินไปย่านโกดัง (ที่บริษัทเก็บข้อมูลลูกค้า) เริ่ม งัดประตูโกดัง. ป้อมยามที่ประตูเมืองอยู่ไกลออกไป ไม่เห็น. กำแพงระหว่างย่านก็อยู่นิ่ง ไม่ตื่นกลางดึก
คำถาม ใครจะรู้ว่ามีโจรกำลังงัดโกดัง?
คำตอบของเมืองจริงครับ ตำรวจตรวจการ เป็นคนที่ เดินตรวจ ในเมืองตลอดเวลา ดู behavior ที่ผิดปกติ report กลับห้องสายตรวจ และบางทีก็เข้าไปจับด้วย
นี่คือเรื่องของ EP.29 ครับ — ในโลก security เรามี ตำรวจ 4 แบบ ที่ทำงานคนละบทบาท แต่ ใช้ร่วมกันเป็นชั้นๆ:
- IDS (Intrusion Detection System) = ตำรวจที่เห็น + report แต่ไม่หยุดโจร
- IPS (Intrusion Prevention System) = ตำรวจที่เห็นแล้ว block ทันที — แลกด้วย latency
- WAF (Web Application Firewall) = ยามหน้าร้าน web — กรอง HTTP เฉพาะ Layer 7
- RASP (Runtime Application Self-Protection) = ยามที่นั่งอยู่ในร้านเอง — เห็นสิ่งที่ยามหน้าร้านไม่เห็น
ลองนึก เมืองที่ของมีค่า ของเราอีกครั้งครับ. EP.27-28 เราติดตั้ง โครงสร้างคงที่ (firewall + segmentation). EP.29 นี้คือ คนที่เดินจริง ในเมือง — มี eyes + brain + (บางที) มี handcuff. โจรที่ผ่าน infrastructure ได้ ยังต้องผ่าน คน
เริ่มจากตำรวจที่เห็นแต่ไม่หยุดก่อนครับ — IDS — เพราะนี่คือชั้นพื้นฐานที่สุดที่ตำรวจอีก 3 แบบจะ build ทับลงไป
IDS — ตำรวจตรวจการที่เห็น + report แต่ไม่หยุดโจร
ลองนึกภาพง่ายๆ ก่อนครับ. ตำรวจคนหนึ่งเดินตรวจในเมืองตลอดคืน. เขามี วิทยุ + กล้องบันทึก + สมุดจด. ถ้าเห็นใครทำท่าแปลก เขาจะ — บันทึก + รายงานกลับห้องสายตรวจ + ไม่เข้าไปจับเอง
นี่คือ IDS (Intrusion Detection System — ระบบตรวจจับการบุกรุก) ครับ เน้นคำว่า Detection — มันแค่ เห็น + แจ้ง ไม่ block
อ้าว ถ้าไม่ block แล้วเก็บไว้ทำไม คำถามนี้สำคัญครับ คำตอบมี 3 ข้อ:
- Visibility — บริษัทคุณ เห็น ว่าโจรพยายามอะไรอยู่ — เห็น pattern ของ attack — เห็น insider ที่ทำผิดปกติ. ถ้าไม่มี IDS — โจรเข้าเมืองมา 6 เดือนแล้ว คุณยังไม่รู้ (industry average ของการ detect breach จากรายงาน IBM Cost of a Data Breach Report = ประมาณ 200 วัน — ครึ่งปี)
- No false-positive impact — IDS แค่ report — ถ้าจับผิด (false positive) ก็แค่ alert ที่ผิด. ระบบที่ block แบบ aggressive (IPS) ถ้าจับผิด — service ดับ
- Forensics + compliance — log ของ IDS เป็น หลักฐาน เวลาสืบคดี + ใช้ตอบ audit ของ ISO 27001 / PCI DSS
3 วิธีที่ตำรวจตรวจการดูออกว่าใครเป็นโจร
ลองนึกง่ายๆ — ตำรวจดูออกว่าใครเป็นโจรได้ 3 ทาง: (1) จำหน้าโจรในแฟ้ม — เคยจับ เคยเห็น (signature). (2) เห็นพฤติกรรมแปลก — ตี 3 มีคนขนของออกจากโกดัง 5 ตัน ไม่ปกติ (anomaly). (3) จำสคริปต์อาชญากรรม — scan → phishing → ดึง credential → กระโดดเครื่อง = 4 step ของโจร (behavior)
ในโลก IDS:
- Signature-based = Snort (open source) — มี rule database ของ payload ที่รู้จัก (เช่น string
' OR '1'='1). เร็ว + false positive ต่ำ — แต่ zero-day จับไม่ได้ - Anomaly-based = Darktrace — เรียน baseline ของเมือง ด้วย ML แล้วเทียบ. จับ zero-day ได้ — แต่ false positive สูง + ต้อง learn หลายสัปดาห์
- Behavior-based = CrowdStrike Falcon — รู้ TTP ของโจรตาม MITRE ATT&CK Framework + connect dots ข้าม step. แม่น + เห็น attack chain — แต่ แพง + complex
และเครื่องมือ enterprise อื่นๆ (Suricata, Microsoft Defender XDR, Palo Alto Cortex XDR, Vectra AI) ส่วนใหญ่ผสม ทั้ง 3 แบบ เข้าด้วยกัน — signature จับโจรเก่า / anomaly จับโจรใหม่ / behavior connect dot
มุมผู้บริหาร: ถ้าฝ่าย IT บอกคุณว่า “บริษัทเราติด IDS แล้ว — มี alert วันละ 10,000 ครั้ง” — นี่ไม่ใช่ข่าวดีครับ. ตามรายงาน Verizon DBIR / IBM Cost of a Data Breach Report — เวลาเฉลี่ยจาก breach ถึงตอน detect = ประมาณ 200 วัน. เหตุผลใหญ่ที่สุด = alert fatigue — analyst เห็น alert เยอะเกินจะตามไหว. คำถามที่ควรถามทีม IT — “ในแต่ละวัน เรา investigate alert กี่ %? mean time to detect (MTTD) เท่าไร? mean time to respond (MTTR) เท่าไร?” KPI ที่สำคัญ ไม่ใช่จำนวน alert — แต่เป็น ratio ของ alert ที่เราตามทันจริง + เวลาที่ใช้ตามจน close ticket ได้
เปิดฝา IDS ดูข้างใน — 4 ชิ้นส่วนที่ทำให้มันทำงานได้
ก่อนหน้านี้เล่ารวมว่า IDS คือ “ตำรวจตรวจการ” — เห็น + แจ้ง + ไม่ block. แต่ในความเป็นจริงครับ ตัว IDS เองไม่ใช่กล่องเดี่ยว — มันเป็น ระบบที่ประกอบด้วย 4 ชิ้นส่วน ที่ทำหน้าที่คนละอย่าง. เวลาผู้บริหารคุยกับ vendor หรืออ่าน proposal รู้ 4 ชิ้นนี้แล้วจะอ่านสเปคออก
ลองนึกระบบกล้องวงจรปิดของห้างใหญ่ดูครับ — มี กล้อง หลายร้อยตัวกระจายตามจุดต่างๆ → ส่งภาพเข้า เครื่องประมวลผล ที่อยู่ห้อง server → ผู้ดูแลคุมผ่าน คอมพิวเตอร์ส่วนกลาง ในห้อง security → ดูภาพจริงผ่าน จอ ที่ผนัง.
4 ชิ้นนี้ — กล้อง / เครื่องประมวลผล / คอมพิวเตอร์ส่วนกลาง / จอ — ต่อกันเป็นระบบ. IDS ก็เหมือนกันเป๊ะครับ
| Component | หน้าที่ | ตัวอย่างใน Snort/Suricata/Wazuh |
|---|---|---|
| Sensors | เก็บ raw traffic / event จากจุดที่ติดตั้ง — NIDS sensor นั่งบน network tap, HIDS agent ติดตั้งบน host | Snort/Suricata daemon ที่ดู interface, Wazuh agent ที่รันบน endpoint |
| Analyzers | parse + correlate event ที่ sensor ส่งมา + apply detection rule | Suricata detection engine, Wazuh manager ที่รัน rule |
| Console (Management server) | ศูนย์กลาง — แจก rule ใหม่ให้ sensor, route alert ไปทีมที่ควรรับ | Snort ManageEngine, Wazuh server, OSSEC manager |
| User Interface | dashboard ให้คนดู alert + triage + ออก report | Kibana, Wazuh dashboard, Splunk frontend |
จุดที่ exam ของ CISA ชอบทดสอบคือ ความต่างระหว่าง Sensor กับ Analyzer คนมักนึกว่าเป็นชิ้นเดียวกัน แต่ที่จริง sensor เก่งเรื่อง เก็บ (volume สูง, ใกล้แหล่ง traffic) ส่วน analyzer เก่งเรื่อง เข้าใจ (CPU เยอะ, มี rule database) enterprise ใหญ่มัก scale sensor แยกจาก analyzer คือ sensor 50 ตัว ส่งเข้า analyzer cluster กลาง 5 เครื่อง ลดต้นทุน
IDS Features — 6 อย่างที่ระบบดีๆ ต้องทำได้
เวลา shopping IDS vendor ทุกเจ้าจะบอกว่าระบบของตัวเอง “ครบทุกอย่าง” checklist 6 ข้อนี้ใช้กรองความจริงจากการตลาดได้:
- Continuous monitoring — ดู traffic / event 24/7 ไม่มีช่วงปิดเครื่อง ไม่มีช่วง maintenance ที่ตาบอด
- Real-time alerting — ส่ง notification ทันที (email / Slack / SIEM webhook) ไม่ใช่รอ batch report ตอนเช้า — โจรไม่รอ
- Pattern analysis — มี detection engine แบบ signature + anomaly + heuristic ผสมกัน (กลับไปดูหัวข้อก่อนหน้า)
- Log correlation — link event ข้าม sensor หลายตัว + ข้าม source หลายชนิด — ไม่ใช่เห็น alert เดี่ยวๆ ที่ไม่ต่อ dot
- Reporting — ออก compliance report สำหรับ ISO 27001 / PCI DSS / SOC 2 + trend analysis รายเดือน + incident timeline สำหรับ forensic
- Integration — feed log + alert เข้า SIEM / SOAR เพื่อให้ automated response ทำงานต่อ — IDS ที่อยู่เดี่ยวๆ ไม่มี ecosystem = ของเล่น
ถ้า vendor ไหนตอบไม่ครบ 6 ข้อ ถามต่อเลยครับว่าเหลือข้อไหน แล้วจะ workaround ยังไง
IDS Limitations — 4 ข้อที่ auditor ต้องรู้
นี่คือส่วนที่ exam ของ CISA ชอบหลอกครับ. คนมักคิดว่า “ติด IDS = ปลอดภัย” — แต่ที่จริง IDS มี จุดบอด 4 อย่าง ที่ผู้บริหารต้องเข้าใจ ไม่งั้นจะลงทุนผิดทาง:
- Weak policy (rule ที่อ่อน) — rule ของ IDS ถ้าเขียนกว้างเกิน → false positive ท่วม จน analyst เลิกดู. ถ้าเขียนแคบเกิน → false negative โจรผ่าน. นี่คือ trade-off ที่ต้อง tune ตลอด — ไม่ใช่ติดวันแรกแล้วลืม
- Application-level vulnerabilities — IDS ที่ดู network ไม่เห็น bug ระดับ application logic. ตัวอย่างคลาสสิค — SQL injection ที่ส่งผ่าน HTTPS — ถ้า IDS ไม่ได้ decrypt traffic (ที่ส่วนใหญ่ไม่ได้ทำ เพราะ key management ยุ่ง) — เห็นแค่ encrypted blob ผ่านไป. application โดน inject — IDS ไม่รู้
- Backdoors — covert channel ที่โจรฝังไว้ + encrypted reverse shell — IDS อ่านเนื้อหาไม่ออก. โจรที่ฝัง backdoor ได้แล้ว ใช้ channel ที่ดูเหมือน HTTPS ปกติคุยกับ command-and-control server — IDS เห็นแค่ traffic ที่ดูปกติ
- Identification & Authentication weakness — IDS ตรวจ traffic แต่ไม่ verify identity ของ user. insider ที่ login ด้วย credential ตัวเอง (legitimate) + ใช้สิทธิ์ที่มีอยู่ดูดข้อมูล — IDS เห็นเป็น traffic ปกติของ user คนนั้น. insider abuse ที่ใช้ access ของจริง — IDS จับไม่ได้
มุมผู้บริหาร: ถ้าทีม security เสนอลงทุน IDS เพิ่ม ถามให้ตรงประเด็นครับ “4 จุดบอดของ IDS เรามี compensating control อะไร?” application-level bug ต้องใช้ WAF / RASP เสริม (อ่านต่อในโพสต์นี้) encrypted backdoor ต้องใช้ EDR ที่เห็น process behavior ใน host insider abuse ต้องใช้ UEBA (User and Entity Behavior Analytics) + DLP IDS เป็น ชิ้นหนึ่ง ของ defense-in-depth ไม่ใช่ทั้งหมด
IDS Policy: Terminate Session vs Trace Session — เลือกอะไรเมื่อไร
พอ IDS เจอ activity ที่ดูเป็น attack — ทีม security จะมี 2 ทางเลือกที่ขัดกันโดยสิ้นเชิงครับ:
- Terminate session — block IP / kill connection ทันที defensive ลด damage ที่กำลังเกิด
- Trace session — ปล่อยให้ connection ดำเนินต่อและ log ทุกอย่างที่โจรทำ offensive เก็บ intel ว่าโจรเป็นใคร / มาจากไหน / target อะไร
trade-off ชัดเจน:
- Terminate = หยุด attack ทันที แต่เสีย forensic data + โจรรู้ตัวว่าโดนจับและจะกลับมาใหม่ด้วยวิธีอื่น
- Trace = ได้ intel เต็มที่ แต่เสี่ยงให้โจรเจาะลึกขึ้นและขโมยข้อมูลมากขึ้นระหว่างที่กำลัง “ดู”
best practice ของวงการคือ mixed strategy:
- attack ที่ signature confidence สูง + payload เป็น known malware → terminate ทันที (ไม่มีอะไรต้อง trace, รู้อยู่แล้วว่าเป็นโจร)
- activity ที่ดูแปลก แต่ยังไม่ confirm → trace + log + redirect ไปยัง honeypot (เครื่องล่อที่ดูเหมือนของจริง แต่ไม่มี data จริง) โจรเล่นกับ honeypot ทีม security ดู behavior ทั้งหมดในที่ปลอดภัย
มุมผู้บริหาร: คำถามที่ board ควรถาม CISO ครับ “เรามี incident response playbook ที่กำหนดชัดไหมว่า attack ประเภทไหน terminate / ประเภทไหน trace? ใครมีอำนาจตัดสิน? honeypot infrastructure มีไหม?” ทีมที่ตอบไม่ได้ = ทุก incident จะตัดสินใจสดในห้อง war room ตอนตี 3 ผลคือพลาดทั้งสองทาง (block ของจริงโดยไม่ได้ตั้งใจ + trace ของที่ควร block)
IPS — ตำรวจที่เห็นแล้ว block ทันที (แลกด้วยอะไรบ้าง)
ตำรวจตรวจการมีพี่น้องอีกคน — ตำรวจตั้งด่านหยุดรถ. ถ้าเห็นรถที่ดูน่าสงสัย ไม่แค่ report — เขา โบกให้หยุด + ตรวจค้น + ปฏิเสธไม่ให้ผ่าน
นี่คือ IPS (Intrusion Prevention System) — ระบบป้องกันการบุกรุก. ใช้เครื่องมือ detection แบบเดียวกับ IDS (signature + anomaly + behavior) — แต่ผลคนละแบบ
ความต่างของ IDS กับ IPS — เรื่องเดียวคือ placement (จุดติดตั้ง)
ลองนึก network diagram. IDS วางแบบ out-of-band — มันต่อกับ mirror port / SPAN port / network TAP ที่ copy traffic มาดู — traffic ของจริงยังวิ่งของมัน. IDS เห็น สำเนา
IPS วาง in-line — มันนั่งกลาง path ของ traffic จริง — ทุก packet ต้องผ่านมัน. มันตัดสิน — ส่งต่อ หรือ drop. มันเป็น gatekeeper ของจริง
Trade-off ที่ต้องเข้าใจ
ในเมื่อ IPS วาง in-line — มันมี 3 ราคา ที่ต้องจ่าย:
1. Latency (ดีเลย์) — ทุก packet ต้องผ่านการ inspect. ถ้า IPS ช้า — application ช้า. enterprise IPS เก่งๆ (Palo Alto, Fortinet, Cisco Firepower) วันนี้ inspect ได้ที่ multi-Gbps ด้วย latency หลัก μs (microsecond) — แต่ถ้า config ผิด หรือ rule เยอะเกิน — ก็ช้าได้
2. False positive = Service down — IPS จับผิด = block legitimate traffic = service ของลูกค้าเปิดไม่ได้. ลองนึก e-commerce กำลังจะกด ชำระเงิน — IPS เห็น HTTP request มี string ที่ดูเหมือน SQL injection (แต่จริงๆ ลูกค้าพิมพ์ description ที่มีคำว่า OR พอดี) — block. ลูกค้าชำระไม่ได้ — บริษัทขาดทุน
3. Single point of failure — ถ้า IPS ตาย — ทั้ง network ตาย (ถ้าวาง in-line ไม่มี bypass). enterprise IPS ที่ดีต้องมี fail-open mode (ตายแล้วปล่อย traffic ผ่าน — เสีย security แต่ service ยังอยู่) หรือ fail-closed mode (ตายแล้ว block ทุกอย่าง — security แน่นแต่ service ดับ) — ต้องเลือกตาม risk profile
Detection ปรับ tune ยังไง
ทีม security ใหม่ของบริษัท — มักทำ 2 strategy เมื่อติด IPS ครั้งแรก:
- Phase 1: Monitor-only mode (IDS-mode) — เปิด IPS ในโหมด detect-only หลายเดือน. ดู alert. tune rule ที่ false positive เยอะ. ไม่ block อะไรเลย
- Phase 2: Selective blocking — เปิด block เฉพาะ rule ที่ confidence สูง (signature ของ malware ที่รู้จัก + exploit ของ CVE สำคัญ). rule ที่ confidence ต่ำ คง alert-only ไว้
นี่คือ approach ที่ลด service-down incidence ได้มาก. องค์กรที่เปิด IPS แบบ all-blocking ตั้งแต่วันแรก — ส่วนใหญ่จบที่ปิด IPS ภายใน 3 เดือน เพราะ ทำให้ service ดับเยอะเกินจะรับ
IDS-only ดีเมื่อไร — IPS ดีเมื่อไร
| Scenario | Best fit |
|---|---|
| Network ของ R&D / engineering ที่ traffic แปลกๆ บ่อย | IDS — ไม่อยาก block ของจริง |
| Production e-commerce ที่ traffic standard | IPS — block known attack ทันที |
| DMZ ที่เผชิญ internet โดยตรง | IPS — internet hostile มาก |
| Internal LAN ระหว่าง office | IDS — ภายในไม่อยาก block พนักงาน |
| Compliance ที่ขอให้มี “detection capability” | IDS เพียงพอ |
| Compliance ที่ขอให้มี “prevention capability” (เช่น PCI DSS) | ต้อง IPS |
ในความเป็นจริง — enterprise ใหญ่ใช้ทั้งคู่ — IPS at perimeter (ป้อมยามหน้าเมือง) + IDS internal (ตำรวจเดินตรวจในเมือง) — เพื่อให้ทั้ง prevent + visibility
มุมผู้บริหาร: pattern คลาสสิคของวงการ — บริษัทไทยขนาดกลางซื้อ IPS รุ่นเรือธงราคาหลักล้านบาท. ติดตั้งวันแรก เปิด rule ทุกชิ้นเป็น block mode. ผ่านไป 2 สัปดาห์ — e-commerce checkout มีปัญหา 12 ครั้ง — แต่ละครั้ง revenue หาย หลักแสน. CFO หัวร้อน. CISO ต้องอธิบายว่าทำไม security investment กลับทำให้ business ขาดทุน. คำถามที่ board ควรถามก่อนอนุมัติ IPS — “ทีม security เรามี change management process สำหรับ rule ของ IPS ไหม? ใครอนุมัติเปิด block? rollback plan เป็นยังไง? ในเดือนแรกเปิด monitor-only ก่อนใช่ไหม?” การไม่ถามคำถามพวกนี้ = เปิดประตูให้ self-inflicted outage
Network IDS/IPS vs Host IDS/IPS — ทำไมต้องใช้คู่กัน
ตำรวจตรวจการมี 2 ทีม ที่ทำงานคนละมุม
ทีม 1 — Network-based (NIDS / NIPS) = ตำรวจที่เดินตามถนน. เขาเห็น ใครเดินผ่านถนนไปไหน — เห็น packet ที่วิ่งระหว่างเครื่อง — เห็น traffic ข้าม network boundary. แต่ — เขาไม่เห็นว่าในบ้านแต่ละหลังกำลังเกิดอะไร
ทีม 2 — Host-based (HIDS / HIPS) = ยามที่นั่งอยู่ในบ้านแต่ละหลัง. ติดตั้งเป็น agent ในแต่ละ server / laptop / endpoint. เห็น — process ที่ทำงานในเครื่อง + file ที่ถูกแก้ + registry change + system call. แต่ — เขาไม่เห็นว่าเครื่องอื่นในเมืองกำลังเกิดอะไร
ลองนึกตัวอย่าง 2 ฉากครับ
ฉาก 1 — NIDS เห็น HIDS ไม่เห็น
โจรอยู่นอกเมือง — ยิง port scan ไปยัง 100 servers ของบริษัท เพื่อหาช่องโหว่. NIDS ที่ network perimeter — เห็นชัด — มี IP เดียวยิง SYN packet ไปยัง port หลายร้อย port ใน 5 วินาที — แจ้งเตือน
แต่ HIDS ที่อยู่ใน server แต่ละตัว — เห็น เฉพาะ packet ที่ถึงตัวเอง — 1-2 packet จาก IP นั้น. ไม่รู้ว่า IP เดียวกันยิง 100 servers — ไม่เห็นภาพรวม
ฉาก 2 — HIDS เห็น NIDS ไม่เห็น
โจรเข้าเมืองสำเร็จแล้ว — login เป็น admin ของเครื่อง database. รัน command mimikatz.exe (tool ดูดรหัสจาก memory ของ Windows). แต่ — traffic ออกจากเครื่องไม่มี (mimikatz รันใน-memory ไม่ส่ง data ออก)
NIDS ที่ดู network ไม่เห็นอะไรเลย — เพราะ ไม่มี packet ผิดปกติ. แต่ HIDS ที่อยู่ในเครื่อง — เห็นชัด — มี process ใหม่ชื่อ mimikatz.exe ที่ access LSASS process memory — แจ้งเตือน
ใน 2 ฉากนี้ — ทั้งคู่จำเป็น. ถ้ามี NIDS อย่างเดียว — โจรที่อยู่ในเมืองแล้ว มองไม่เห็น. ถ้ามี HIDS อย่างเดียว — โจรที่ scan port ไม่เห็นรู้ตัวจนกว่าโจรจะเริ่มเข้าเครื่อง
HIDS รุ่นใหม่ — กลายเป็น EDR
ในช่วง 5 ปีที่ผ่านมา HIDS วิวัฒนาการเป็น EDR (Endpoint Detection and Response) — CrowdStrike Falcon, SentinelOne, Microsoft Defender for Endpoint, Carbon Black เป็นยี่ห้อหลัก
EDR ต่างจาก HIDS เก่ายังไง:
- เห็นมากกว่า — process tree, parent-child relationship, file hash, network connection, registry change — ทั้งหมดเป็น timeline
- Behavior detection — ไม่ใช่แค่ signature — เห็นว่า Word.exe spawn cmd.exe ที่ spawn powershell.exe — pattern ของ malware
- Response automation — auto-isolate เครื่อง + auto-kill process + auto-rollback file change (ransomware)
- Cloud-native + lightweight — ไม่กิน CPU เครื่องเหมือน antivirus เก่า
ความท้าทาย — agent ต้องลง. server ที่ลง agent ไม่ได้ (legacy system, OT/ICS) — ไม่ได้ป้องกัน. ในเคสจริง — บริษัทที่มี EDR coverage 70-80% มักโดน breach ผ่านเครื่อง 20-30% ที่เหลือ — server เก่าๆ ที่ลง agent ไม่ได้
มุมผู้บริหาร: คำถามที่ถามทีม IT — “EDR ของเราครอบคลุมเครื่องกี่ % ของทั้งบริษัท?” ถ้าตอบ “98%” — ถามต่อ “2% ที่เหลือคือเครื่องอะไร — เครื่องสำคัญที่สุดของบริษัทรึเปล่า?” pattern คลาสสิคของวงการ — server ที่ critical ที่สุดมัก lap ไม่ได้ เพราะเป็น OS เก่าที่ vendor ไม่ support agent. นี่คือ blind spot ที่โจรเข้าผ่านได้สบาย. solution ไม่ใช่บังคับลง — แต่ต้อง compensating control = แยก network ของเครื่องพวกนั้น (กลับไปดู EP.28 — microsegmentation) + log traffic ทุกชิ้น + อ่าน vendor support roadmap ว่าจะ upgrade เมื่อไร
WIPS — ตำรวจของอากาศ (Wireless IPS)
NIPS และ HIPS ดูแล traffic ที่วิ่งบนสาย + activity ที่เกิดในเครื่อง แต่ Wi-Fi เป็นโลกของตัวเองครับ มันวิ่งบนคลื่นวิทยุ ที่ใครก็ดักได้และใครก็ตั้ง access point ปลอมขึ้นมาได้ โดยที่ NIPS / HIPS ไม่เห็นเลย
ลองนึกห้างใหญ่ที่มี Wi-Fi ฟรีให้ลูกค้าครับ. โจรเอา laptop เปิด access point ชื่อ Mall_FreeWiFi (เหมือน SSID ของจริง) นั่งอยู่ที่ food court. ลูกค้าที่ไม่รู้ เครื่องก็เชื่อมเข้า AP ของโจรแทนของห้าง. ทุก traffic ของลูกค้าวิ่งผ่าน laptop โจรก่อนจะไปอินเทอร์เน็ต — username / password / cookie ของ Facebook / mobile banking โจรเห็นหมด. นี่คือ evil twin attack เคสคลาสสิคของ Wi-Fi
นี่แหละครับเหตุที่เรามี WIPS (Wireless Intrusion Prevention System) — IPS เฉพาะสำหรับ Wi-Fi มันคือ sensor วิทยุที่กระจายตามอาคาร คอยฟังคลื่น Wi-Fi รอบๆ และจับ pattern แปลก
WIPS จับอะไรได้:
- Rogue AP — access point ที่มีคนแอบเสียบเข้า network บริษัท (พนักงานเอา router ส่วนตัวมาเสียบใต้โต๊ะ เพื่อให้ Wi-Fi แรงขึ้น — โดยไม่รู้ว่าเปิดประตูให้โจรข้างนอกเข้า)
- Evil twin — AP ปลอมที่ตั้งชื่อเหมือนของจริง (เคสห้างข้างบน)
- Deauth attack — โจรส่ง packet บังคับให้ client หลุดจาก AP ของจริง → client พยายาม reconnect → ติด AP ปลอม
- KRACK — vulnerability ของ WPA2 ที่ปี 2017 ทำให้ทั้งวงการต้อง patch
- WPS attack — bruteforce PIN ของ WPS เพื่อเข้า Wi-Fi
- MAC spoofing — โจรปลอม MAC ของอุปกรณ์ที่ allow แล้ว เพื่อข้าม MAC filtering
WIPS block ยังไง:
- ส่ง deauth packet ไปยัง rogue AP เอง (jam มันให้ client หลุด)
- บังคับ client ที่หลงให้กลับไปเชื่อม AP ของจริง
- แจ้ง SOC ทันที + log location ของ rogue device (ผ่าน triangulation ของ sensor หลายตัว)
Vendor หลักของวงการ — Cisco Meraki MR, Aruba ClearPass + AirWave, Mojo Networks (เป็นของ Arista แล้ว), Extreme Networks AirDefense. ส่วนใหญ่ขายเป็น add-on ของ enterprise Wi-Fi controller — ถ้าใช้ access point ของ vendor นั้นอยู่แล้ว WIPS license จะถูกกว่าซื้อแยก
ใครจำเป็นต้องมี WIPS:
- Enterprise office ที่มี Wi-Fi ครอบคลุม — โดยเฉพาะถ้ามี BYOD policy
- Retail / hospitality — โดยเฉพาะที่รับบัตรเครดิต (PCI DSS บังคับสแกน rogue AP เป็นประจำ)
- Healthcare — HIPAA กำหนดให้ปกป้อง wireless network ที่ส่ง PHI (Protected Health Information)
- โรงเรียน / มหาวิทยาลัย — Wi-Fi เปิดให้ student เยอะ + risk ของ evil twin สูง
มุมผู้บริหาร: ถ้าบริษัทรับบัตรเครดิตและไม่มี WIPS ถาม CISO ตรงๆ ครับ “PCI DSS Requirement 11.1 ว่า quarterly wireless scan เราทำผ่าน WIPS หรือเดินสแกนเอง?” ถ้าตอบ “เดินสแกนเอง” = ทำผ่านได้แค่กระดาษ แต่ในความเป็นจริง rogue AP โผล่ระหว่างควอเตอร์ก็ไม่เห็น PCI auditor ที่จริงจังจะถาม detection coverage ไม่ใช่แค่เอกสาร
WAF — ยามหน้าร้านที่อ่าน HTTP เป็น (Layer 7 + OWASP Top 10)
NIDS/NIPS เก่งครับ — แต่มี จุดบอด หนึ่งที่ใหญ่มาก. มันดู packet ระดับ Layer 3-4 (IP + TCP/UDP) เก่ง — แต่พอเป็น HTTP request (Layer 7) — มันเห็นแค่ “มี packet ขนาด 1.4KB ไปที่ port 443 ของ web server” — ไม่เข้าใจว่าใน HTTP body มี SQL injection payload อยู่
ลองนึก ตำรวจที่เก่งเรื่องรถบรรทุก — เขารู้ว่ารถพ่วงคันไหนหนักผิดปกติ — รู้ว่าใครวิ่งเลนสวน. แต่ — ถ้ารถบรรทุกขนของถูกกฎหมาย แล้วในลังของ ซ่อนยาเสพติด — ตำรวจคนนี้ตรวจไม่ออก
นี่คือเหตุที่เรามี WAF (Web Application Firewall) — firewall เฉพาะ web application. มันคือ ยามหน้าร้าน web ที่ เปิดลังของได้ + อ่าน HTTP เป็น + เข้าใจ context ของ web app
WAF ป้องกันอะไรบ้าง — OWASP Top 10
OWASP (Open Web Application Security Project) เป็นองค์กรไม่แสวงผลกำไรที่จัดทำ Top 10 ของช่องโหว่ web app ที่พบบ่อยที่สุด — update ทุกๆ 3-4 ปี. Top 10 ปี 2021:
- Broken Access Control — ผู้ใช้ A เห็น data ของผู้ใช้ B (เช่น เปลี่ยน URL จาก
?user=123เป็น?user=124) - Cryptographic Failures — เก็บ password เป็น plain text, ใช้ MD5 (กลับไปดู EP.22)
- Injection — SQL injection, NoSQL injection, OS command injection
- Insecure Design — design ผิดตั้งแต่แรก
- Security Misconfiguration — เปิด admin console ให้ public, default password
- Vulnerable Components — ใช้ library ที่มี CVE
- Authentication Failures — brute force, credential stuffing
- Software/Data Integrity Failures — supply chain attack (เคส SolarWinds)
- Logging/Monitoring Failures — ไม่มี log = detect ไม่ได้
- SSRF (Server-Side Request Forgery) — บังคับ server ไปร้อง URL ที่โจรกำหนด (เคส Capital One)
WAF เก่งที่สุดกับ #3 Injection + #10 SSRF + บางส่วนของ #1, #5, #7. ส่วน #2, #4, #6, #8, #9 WAF ช่วยไม่ค่อยได้ — ต้องแก้ที่ระดับ application
Vendor หลัก + Deploy 3 แบบ
- Cloud-based — Cloudflare WAF (SME + startup ใช้กันมาก — ราคาเอื้อม) / AWS WAF (สำหรับ workload บน AWS)
- On-premise — Imperva (enterprise standard) / F5 Advanced WAF (ถ้าใช้ F5 load balancer อยู่แล้ว)
- Open source — ModSecurity (free + ใช้กับ Apache/Nginx/IIS + มี OWASP CRS เป็น default rule)
และตัวอื่นๆ (Azure Front Door, Akamai Kona, Barracuda) ก็ยังมีในตลาด — เลือกตาม stack ที่บริษัทใช้อยู่
WAF ทำงานยังไง — 2 mode
- Negative security model (blacklist) — block สิ่งที่ดูเหมือน attack. default ของ OWASP CRS. ข้อเสีย — โจรหา bypass technique ใหม่ๆ ได้
- Positive security model (whitelist) — allow เฉพาะที่ matched กับ specification ของ app. เช่น “endpoint
/api/orderรับเฉพาะ POST + JSON body ที่มี fieldproduct_id(int) +quantity(int 1-100)” — อะไรนอกนี้ block. แม่นมาก — แต่ต้องเขียน rule ตาม API spec ทุกชิ้น
ในความเป็นจริง — modern WAF ใช้ทั้งคู่ + machine learning ช่วยสร้าง baseline ของ application traffic
กับดักของ WAF — misconfig ทำลายทุกอย่าง
WAF ที่ติดตั้งผิด = ของเล่น. 2 กับดักคลาสสิค:
1. Bypass via direct origin IP — WAF อยู่ข้างหน้า (เช่น Cloudflare) — แต่ web server origin มี public IP ที่ทุกคนเข้าได้. โจรหา origin IP เจอ — เลี่ยง WAF ตรงไปที่ server. fix — firewall ที่ origin allow เฉพาะ IP range ของ WAF service เท่านั้น
2. WAF ในโหมด “log-only” — ทีมติดตั้ง WAF แล้วเปิดเป็น monitor-only เพื่อ tune. ผ่านไป 6 เดือน — ยังไม่ได้เปลี่ยนเป็น block mode. WAF กลายเป็น expensive logging tool. นี่เป็น pattern ที่บริษัทไทยติดบ่อยมาก
มุมผู้บริหาร: WAF เป็นการลงทุนที่ ROI ชัดเจนที่สุดสำหรับบริษัทที่มี web-facing service — แต่ WAF ไม่ใช่ “ของที่ติดแล้วลืม”. คำถามที่ผู้บริหารต้องถาม — “WAF ของเรา block mode หรือ log-only mode? + origin IP เปิด public หรือ allowlist เฉพาะ WAF?” เคส Capital One 2019 — บริษัทมี WAF แต่ misconfigure SSRF rule — ข้อมูลลูกค้า 106 ล้านคนหลุด + ค่าปรับ $80M
RASP — ยามที่นั่งอยู่ใน app เอง (เห็นที่ WAF เห็นไม่ครบ)
WAF เก่งครับ — แต่มี จุดบอด อีกอันที่ใหญ่กว่าที่คนคิด
ลองนึก ยามที่อยู่หน้าร้าน. เขาเห็นทุกคนที่จะเข้าร้าน — แต่ — เมื่อลูกค้าเข้าไปแล้ว เกิดอะไรในร้าน — เขาไม่เห็น. ลูกค้าที่เข้าได้ ถ้าทำตัวแปลกในร้าน — ยามไม่รู้
WAF อยู่ระหว่าง user กับ web app. มันเห็น HTTP request — แต่ไม่เห็นว่าใน app เกิดอะไรหลังจาก request เข้า:
- ถ้า request มี SQL injection payload — WAF อาจจับได้
- แต่ถ้า payload encode มาแบบที่ WAF ไม่รู้จัก — payload ผ่าน WAF — เข้าไปใน app — เมื่อ app decode + ส่ง query ไป database — ตอนนี้ malicious SQL กำลังจะ execute แล้ว — WAF ไม่เห็นแล้ว
นี่คือเหตุที่เรามี RASP (Runtime Application Self-Protection) — ระบบป้องกันที่อยู่ใน runtime ของ application เอง
RASP ทำงานยังไง
ลองนึก ยามที่ฝังตัวเข้าไปอยู่ใน app. มันไม่ใช่ระบบนอก — มันเป็น library / agent ที่โหลดเข้าไปใน JVM (Java), CLR (.NET), Node.js runtime, Python interpreter ของ application
ที่ฝังในเลเวลนี้ — RASP เห็น:
- input ที่เข้ามาในแต่ละ function (รวมถึง decoded version หลัง WAF)
- SQL query ที่ app กำลังจะส่งไป database (เห็น query string จริง — ถ้ามี injection คือเห็น)
- OS command ที่ app กำลังจะ exec
- file path ที่ app กำลังจะอ่าน/เขียน (เช็ค path traversal)
- deserialization ของ untrusted data
ถ้า RASP เห็น attack กำลังจะเกิด ตอน runtime — มันสามารถ:
- Block การ execute ของ malicious operation (ไม่ส่ง query ที่มี injection ไป database)
- Alert + log context เต็ม (stack trace + payload)
- Throw exception ใน app เพื่อหยุดที่ตรงนั้น
RASP เห็นที่ WAF ไม่เห็น
ตัวอย่าง 1 — Encoded payload
โจรส่ง SQL injection ที่ encode 3 ชั้น (URL encode → Base64 → JSON wrapper). WAF เห็น JSON string ที่ดูปกติ — ผ่าน. app decode ออกมา — ก่อนส่ง query — RASP เห็น query string จริง ที่มี ' OR '1'='1 — block
ตัวอย่าง 2 — Business logic context
โจรส่ง request ปกติ แต่พฤติกรรม abuse — เช่น เรียก /api/transfer 1,000 ครั้งต่อนาที. WAF เห็น HTTP ปกติ — ผ่านหมด. RASP เห็น context ของ business operation + state ของ app — ตรวจ rate ของ business action ได้
ตัวอย่าง 3 — Zero-day
CVE ใหม่ของ Spring Framework (เคส Spring4Shell ปี 2022) — WAF ทั่วโลกใช้เวลาหลายวันกว่าจะออก signature. RASP ที่ฝัง JVM เห็นว่า user input กำลังจะ trigger reflection attack ผ่าน ClassLoader manipulation — block ได้ตั้งแต่วันแรกแม้ไม่มี signature เฉพาะ
Vendor หลัก
- Contrast Security — ผู้นำตลาด pure-play RASP. มี IAST (Interactive Application Security Testing) ในตัวด้วย
- OpenRASP (open source ของ Baidu) — ฟรี + รองรับ Java + PHP — แต่ ecosystem เล็กกว่า commercial
และตัวอื่นๆ (Imperva RASP, Signal Sciences, Veracode Runtime Protection) ก็มีในตลาด enterprise
กับดักของ RASP
RASP เก่ง — แต่มี ราคา ที่ต้องคิด:
1. Performance overhead — RASP รันใน-process กับ app — กิน CPU + memory บางส่วน. ทั่วไป overhead 3-8% — แต่ workload ที่ latency-sensitive (HFT trading, real-time gaming) อาจรับไม่ได้
2. Language support — RASP ส่วนใหญ่ support Java + .NET + Node + Python + PHP + Ruby. ถ้า app เขียนด้วยภาษาอื่น (Rust, Go, Elixir) — option จำกัด
3. ราคา — RASP commercial แพง — มัก license ต่อ application หรือต่อ instance — สำหรับองค์กรที่มี microservices หลายสิบตัว — bill หนัก
4. ไม่ใช่ silver bullet — ยังต้องการ WAF + IDS/IPS. RASP คือ last line of defense ไม่ใช่แทนที่ทั้งหมด
ลำดับ deploy ที่แนะนำในวงการ
- เริ่ม = WAF + EDR (cover ใหญ่ที่สุดของ attack surface)
- เพิ่ม = NIDS/NIPS ที่ network boundary
- สุดท้าย (สำหรับ crown-jewel app) = RASP ที่ app ที่สำคัญที่สุด (เช่น core banking, payment system)
ไม่จำเป็นที่ทุก app ต้องมี RASP — เลือกที่ app ที่หลุดแล้วบริษัทเจ๊งจริงๆ
มุมผู้บริหาร: RASP เหมาะกับองค์กรที่มี crown-jewel application ที่ custom-built (banking core / payment / EMR). องค์กรที่ใช้แต่ SaaS (Salesforce + Slack + Office 365) — ไม่ต้องคิด RASP. คำถามที่ board ควรถาม CISO — “top 5 application ของบริษัท — ถ้าเกิด zero-day + WAF ยังไม่มี signature — เรามี runtime defense ไหม?” ถ้าตอบ “ไม่มี” = gap ที่ต้อง prioritize
IDS/IPS Deployment — 7 ข้อที่ทำผิดแล้วเสียทั้งเงินทั้งเวลา
ก่อนจะถึงเคสจริง สรุปเป็น checklist สำหรับทีมที่กำลังคิดติด IDS/IPS ครับ นี่คือ pattern ที่บริษัทที่ deploy สำเร็จทำ และที่ deploy ล้มทำตรงข้าม:
- Asset inventory ก่อน — รู้ก่อนว่ามี server / endpoint / network segment อะไรบ้าง ติด IDS โดยไม่รู้ว่าจะดู asset ไหน = ติดแบบสุ่ม = monitoring blind spot เต็มไปหมด
- Policy alignment — rule ของ IDS ต้องตรงกับ security policy ของบริษัทและ risk appetite ของ board บริษัทที่ risk-averse เปิด rule แน่น + alert เยอะ บริษัทที่ทนได้บ้างเปิดแบบหลวมกว่า ไม่มี one-size-fits-all
- Baseline establishment — เก็บ traffic ปกติ 2-4 สัปดาห์ ก่อนเปิด alert mode ไม่มี baseline = ไม่รู้ว่าอะไรคือ “ผิดปกติ” = anomaly detection จับมั่ว
- Strategic placement — NIDS ติดที่ ingress / egress ของ network (ประตูเมือง) + critical segment (DMZ, database VLAN, ห้องเก็บ crown jewel) ติดผิดจุด = เห็นไม่ครอบคลุม ติดทุกจุด = log ท่วม + ค่า license บาน
- Continuous tuning — review false positive rate ทุกเดือน + ปรับ rule ทีมที่ติดแล้วลืม → 3 เดือนต่อมา analyst เลิกดู alert เพราะ noise เยอะเกิน
- Known change correlation — ทุก deploy / patch / config change ของฝ่าย IT ต้องแจ้ง SOC ล่วงหน้า ไม่งั้น activity ปกติ (deploy ใหม่) จะ trigger alert ราว 50 ข้อต่อ deploy กลายเป็น noise + เปลือง analyst time
- Order of deployment — ลำดับที่ทำงานในวงการ → network IDS ก่อน (โครงสร้างใหญ่) → host IDS (รายละเอียดในเครื่อง) → application IDS / RASP (ในแอป) ทำกลับลำดับ = ใช้ทรัพยากรเยอะเพื่อ cover พื้นที่เล็กก่อน
มุมผู้บริหาร: ถ้าทีม security เสนอ project IDS/IPS ถามให้ครบ 7 ข้อนี้ก่อนอนุมัติงบครับ project ที่ตอบไม่ได้ข้อใดข้อหนึ่ง = มีโอกาสสูงที่จะกลายเป็น shelfware (ของแพงที่ติดแล้วไม่ได้ใช้) pattern คลาสสิคของวงการ คือบริษัทที่ติด IDS ราคาหลักล้าน แต่ไม่ทำ baseline 4 สัปดาห์ + ไม่ตั้ง change management 6 เดือนต่อมา analyst เปิด console แค่อาทิตย์ละครั้ง = เงินที่ลงทุนเสมือนเทลงน้ำ
เคสจริงที่เปลี่ยนวงการ + บทเรียน
Equifax 2017 — ถ้ามี IDS/WAF/RASP ที่ดี — น่าจะจับได้
สิ่งที่เกิดขึ้น — Equifax (credit bureau ใหญ่ที่สุดของ US) มี web app ใช้ Apache Struts เป็น framework. มีนาคม 2017 — Apache ประกาศ CVE-2017-5638 (Remote Code Execution ผ่าน Content-Type header). Equifax ไม่ patch ใน 2 เดือนกว่า. โจรใช้ exploit เข้าระบบ — อยู่ในเครือข่าย 76 วัน — ดูดข้อมูล 147 ล้านคน (ชื่อ + เลขประกันสังคม + ที่อยู่ + driver license + บางคนเลขบัตรเครดิต)
ค่าปรับ + settlement = $1.4 พันล้าน USD. CEO + CIO + CSO ลาออก
ที่ IDS/WAF/RASP จะช่วยได้ยังไง
- WAF ที่ดี — Apache Struts exploit ใช้ Content-Type header ที่มี OGNL expression ผิดปกติ. WAF กับ rule update ของ ModSecurity OWASP CRS — ออก signature สำหรับ CVE-2017-5638 ภายใน 1-2 วัน. ถ้า Equifax มี WAF + auto-update signature — payload โดน block ตั้งแต่ request แรก
- IDS/NIPS — ระหว่าง 76 วันที่โจรอยู่ในเครือข่าย — มี C2 (Command and Control) traffic ออกไปยัง IP ของโจร. NIDS ที่ดี + threat intelligence feed — น่าจะเห็น C2 traffic + แจ้งเตือนภายในไม่กี่วัน
- RASP — Apache Struts vulnerability คือ OGNL injection ที่ runtime ของ Java. RASP ที่ติด JVM ของ app — เห็น OGNL expression ที่มาจาก user input + เห็นกำลังจะ exec OS command — block ได้แม้ไม่มี signature เฉพาะของ CVE นี้
บทเรียน — defense-in-depth ต้องครบทุกชั้น. patch ช้า = พลาด — แต่ WAF + IDS + RASP เป็น compensating control ที่ซื้อเวลาให้ทีมตามทัน
Capital One 2019 — WAF ที่ misconfig = WAF ที่ไม่มี
สิ่งที่เกิดขึ้น — Capital One (ธนาคารใหญ่ของ US) ใช้ AWS. อดีตพนักงาน AWS รู้จัก SSRF (Server-Side Request Forgery) vulnerability ใน ModSecurity WAF ที่ Capital One ใช้. โจรส่ง payload SSRF บังคับ web app ไปเรียก EC2 metadata service ที่ http://169.254.169.254/ — ดึง IAM role credentials ออกมา — ใช้ credentials นั้น list + download S3 bucket — ข้อมูลลูกค้า 106 ล้านคน หลุด
ค่าปรับ — 190M ในคดี class action. โจรโดนจับ — ไม่ใช่เพราะ Capital One detect — แต่เพราะโจรไปโพสต์อวดบน GitHub
ที่น่าเศร้า — Capital One มี WAF (ModSecurity). แต่ rule config ปล่อยให้ payload SSRF ผ่านไปที่ application
บทเรียน — WAF ที่ตั้งผิด ไม่ป้องกันอะไร. การมี WAF ไม่พอ — ต้องมี:
- Rule review เป็นประจำ — ทุก 3-6 เดือน
- Bypass testing — ทดสอบว่าโจรเลี่ยง WAF ได้ไหม
- Defense-in-depth — ถ้า WAF พลาด — มี IMDSv2 (metadata service version 2 ที่ต้องการ token) + IAM least privilege ที่จำกัดสิ่งที่ credential ทำได้ + RASP ที่เห็น SSRF กำลังจะเรียก internal IP
สรุป + 2 leader takeaways
ข้อหนึ่ง — IDS/IPS/WAF/RASP ไม่ใช่ replacement กัน — เป็น layers
ลองนึกถนนเข้าเมือง — มี ป้อมยาม (firewall) ที่ประตู → ตำรวจเดินตรวจ (IDS) ในเมือง → ตำรวจตั้งด่าน (IPS) ที่จุดเสี่ยง → ยามหน้าร้าน (WAF) ที่หน้า web app → ยามในร้าน (RASP) ที่อยู่ใน app เอง
ผู้บริหารบางคนถามว่า “มี firewall + WAF แล้ว ต้องมี IDS/IPS อีกไหม?” คำตอบของวงการ — มี. แต่ละชั้นจับ attack คนละแบบ — ไม่ทดแทนกัน:
- Firewall = block port + IP
- IDS/IPS = block based on packet content + behavior
- WAF = block HTTP attack (OWASP Top 10)
- RASP = block runtime attack ใน app เอง
โจรที่จะถึง crown jewel ของบริษัท — ต้องผ่านทั้ง 5 ชั้น. ถ้าชั้นใดชั้นหนึ่ง miss — ชั้นถัดไปยังจับได้. นี่คือ defense-in-depth (กลับไปดู EP.04)
ข้อสอง — KPI ที่ผู้บริหารควรถาม ไม่ใช่ “เรามี IDS/WAF ไหม” — แต่เป็น “ระบบ detection ของเรา detect breach ได้กี่วัน + tune ทุกเท่าไร”
ตามข่าวรายงาน security ของวงการ — mean time to identify (MTTI) ของ breach ในปี 2024 = ประมาณ 194 วัน. การมี IDS/WAF ที่ config ไว้แล้วเลิกดู — เท่ากับมีกล้องวงจรปิดที่ไม่มีคนดู
คำถามที่ board ควรถาม CISO ทุกไตรมาส:
- เรา detect breach เฉลี่ยใน X วัน — X เท่าไร? เทียบกับ industry benchmark
- alert volume ต่อวัน — analyst ของเรา investigate กี่ %?
- WAF + IDS rule update ครั้งสุดท้าย — เมื่อไร?
- bypass testing / red team ครั้งล่าสุด — เมื่อไร? finding เป็นอย่างไร?
- EDR coverage กี่ % ของ endpoint ทั้งบริษัท? 20% ที่เหลือคือเครื่องอะไร?
ในเคสบริษัทไทยขนาดกลางที่ทำ security maturity assessment — ตอบคำถามพวกนี้ได้ดีไม่ถึง 20% — ส่วนใหญ่บอก “มีเครื่อง — แต่ไม่รู้ KPI”. การลงทุน คน + process สำหรับ tune + monitor — สำคัญกว่าการซื้อ box ใหม่
Tease EP.30 — VPN / Proxy / DNS Security
ครับ — EP.27-29 ปิดด้วย ตำรวจครบทุกประเภท. ป้อมยาม + แบ่งย่าน + ตำรวจตรวจการ — โครงสร้างป้องกันใน-เมือง พร้อม
แต่เมืองในโลกจริง — ไม่ใช่ทุกคนทำงานในกำแพง. พนักงานต้องเข้าเมืองจากภายนอก — ลูกค้าต้องเข้าหา service ของบริษัท — server บริษัทต้องคุยกับ server บริษัทอื่น
ลองนึก scenario:
- ผู้บริหารบริษัทไปประชุมที่ Singapore — ต้องเปิดอีเมลในโรงแรม — Wi-Fi โรงแรมปลอดภัยรึเปล่า?
- บริษัทมี office 3 สาขา — สาขา A ต้องคุยกับฐานข้อมูลที่สาขา B — ใช้ internet เปิด ปลอดภัยไหม?
- app ของบริษัทเรียก API ของ Stripe — รู้ได้ยังไงว่า DNS ตอบกลับ IP ที่ถูกของ Stripe จริง ไม่ใช่ IP ของโจร?
EP.30 — VPN + Proxy + DNS Security จะพาคุณรู้จัก:
- ท่อใต้ดิน (VPN — IPsec / SSL VPN / Split vs Full tunnel) — ส่งของข้ามเมืองอย่างปลอดภัยยังไง?
- คนกลางส่งของ (Forward Proxy vs Reverse Proxy + NAT) — ทำไมเมืองต้องมีคนกลาง?
- สมุดที่อยู่ของเมือง (DNS) — ที่ใครก็แก้ได้ ปลอมได้ ทำให้ทั้งเมืองไปผิดที่
- เคส Kaminsky DNS Attack 2008 — ตอนที่ DNS ทั่วโลกเกือบพัง — และทำไม DNSSEC / DoH / DoT ถึงเป็นทางออกของยุคนี้
ตำรวจตรวจการป้องกันคนที่อยู่ในเมือง — แต่ของบางอย่างต้องวิ่งข้ามเมืองทุกวัน — และเส้นทางนั้นมี trap ของตัวเอง — ดูกันใน EP.30 ครับ
→ EP.30 — VPN / Proxy / DNS Security: ท่อใต้ดิน + คนกลาง + สมุดที่อยู่