การตอบสนองเหตุและกรอบมาตรฐาน
UAT 367 ความมั่นคงไซเบอร์ ระบบเชื่อมโยงการบัญชาการและควบคุม และการจัดการจราจรระบบอากาศยานไร้คนขับ
บทเรียน
เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ
- อธิบายการรับมือเหตุด้านไซเบอร์ตาม NIST SP 800-61r3 ที่จัดตามหน้าที่ของ CSF 2.0
- เขียนกฎตรวจจับเหตุจาก log ของระบบ UAS และเรียงเป็นไทม์ไลน์
- คำนวณค่าเฉลี่ยเวลาตรวจพบ ควบคุม และกู้คืน
- ระบุกรอบมาตรฐานและกฎหมายที่เกี่ยวข้อง เช่น DO-326A, พ.ร.บ.การรักษาความมั่นคงปลอดภัยไซเบอร์ และ PDPA
ทำไมต้องรู้
ไม่มีระบบใดกันเหตุได้ทั้งหมด คำถามที่สำคัญพอกันคือ เมื่อเกิดเหตุแล้ว ทีมรู้ตัวเร็วแค่ไหนและกลับมาให้บริการได้เร็วแค่ไหน สำหรับเครือข่ายส่งเวชภัณฑ์ ทุกนาทีที่ระบบหยุดคือยาหรือเลือดที่ไปไม่ถึงผู้ป่วย โมดูลนี้รวมทุกอย่างในวิชาเป็นแผนรับมือเหตุที่ใช้งานได้จริง
วงจรรับมือเหตุ
NIST SP 800-61 ฉบับปรับปรุงครั้งที่ 3 (เมษายน 2025) จัดการรับมือเหตุให้อยู่ในหน้าที่หกข้อของ NIST CSF 2.0 แทนวงจรสี่ขั้นแบบเดิม:
- เตรียมพร้อม อยู่ใน กำกับดูแล (Govern) ระบุ (Identify) และป้องกัน (Protect) เช่น นโยบาย ผู้รับผิดชอบ รายการทรัพย์สิน threat model และมาตรการของโมดูล 1–3
- ตอบสนองเหตุ อยู่ใน ตรวจจับ (Detect) ตอบสนอง (Respond) และกู้คืน (Recover)
- บทเรียนที่ได้ ป้อนกลับไปปรับปรุงทุกหน้าที่
ตรวจจับจาก log
การตรวจจับที่ดีเริ่มจากรู้ว่าอะไรคือปกติ แล้วเขียนกฎที่แจ้งเตือนเมื่อพฤติกรรมเบี่ยงออกไป ตัวอย่างสัญญาณที่เชื่อมกับโมดูลก่อน ๆ ได้แก่ เฟรมลายเซ็นผิดถี่ผิดปกติ (โมดูล 3) ตำแหน่ง GNSS กระโดดเกินสมรรถนะ (โมดูล 2) และผู้ส่งที่ไม่อยู่ในรายชื่อที่รู้จัก
ตัวอย่างที่ 1 กฎตรวจจับเหตุจาก log
log สมมติของเที่ยวบินหนึ่ง โดรนบินปกติราว 15 m/s
import math
log = [
(95.0, "SIG_BAD", 1), (97.5, "SIG_BAD", 1), (99.0, "SIG_BAD", 1),
(180.0, "GNSS", (1200, 5)), (181.0, "GNSS", (1215, 5)), (182.0, "GNSS", (1290, 40)),
(240.0, "HEARTBEAT", 42), (241.0, "HEARTBEAT", 1),
]
KNOWN_SYSIDS = {1, 255}
SIG_WINDOW, SIG_COUNT, JUMP_M = 10.0, 3, 50.0
alerts, bad, last_fix = [], [], None
for t, kind, data in log:
if kind == "SIG_BAD":
bad = [x for x in bad if t - x <= SIG_WINDOW] + [t]
if len(bad) == SIG_COUNT:
alerts.append((t, "C2 injection attempt", f"{SIG_COUNT} bad signatures in {t - bad[0]:.1f} s"))
elif kind == "GNSS":
if last_fix:
jump, dt = math.dist(last_fix[1], data), t - last_fix[0]
if jump > JUMP_M:
alerts.append((t, "GNSS anomaly", f"jump {jump:.0f} m in {dt:.0f} s"))
last_fix = (t, data)
elif kind == "HEARTBEAT" and data not in KNOWN_SYSIDS:
alerts.append((t, "unknown sender", f"system ID {data}"))
for t, name, why in alerts:
print(f"t = {t:6.1f} s {name:<22} {why}")
t = 99.0 s C2 injection attempt 3 bad signatures in 4.0 s
t = 182.0 s GNSS anomaly jump 83 m in 1 s
t = 240.0 s unknown sender system ID 42
กฎทั้งสามต้องปรับเกณฑ์จากข้อมูลปกติของระบบจริง และแต่ละการแจ้งเตือนต้องมีคู่มือว่าใครทำอะไรต่อ เช่น สลับไปใช้ช่องทาง C2 สำรอง สั่งลอยค้างหรือลงจอดที่จุดปลอดภัย และเก็บ log เป็นหลักฐาน
วัดผลการรับมือเหตุ
ตัวอย่างที่ 2 เวลาตรวจพบ ควบคุม และกู้คืน
บันทึกเหตุสมมติสี่เหตุจากการฝึกซ้อม (นาทีนับจากเหตุเริ่ม)
from statistics import mean, median
incidents = { # เริ่ม, ตรวจพบ, ควบคุมได้, กู้คืนเสร็จ
"C2 injection drill": (0, 6, 14, 52),
"GNSS anomaly on route 2": (0, 2, 5, 20),
"server credential leak": (0, 15, 31, 95),
"LTE outage at clinic 3": (0, 4, 9, 33),
}
detect = [d - s for s, d, c, r in incidents.values()]
contain = [c - d for s, d, c, r in incidents.values()]
recover = [r - d for s, d, c, r in incidents.values()]
for name, xs in (("time to detect", detect), ("detect to contain", contain), ("detect to recover", recover)):
print(f"{name:<18} mean {mean(xs):6.2f} min median {median(xs):5.1f} min worst {max(xs)} min")
time to detect mean 6.75 min median 5.0 min worst 15 min
detect to contain mean 8.00 min median 6.5 min worst 16 min
detect to recover mean 43.25 min median 37.5 min worst 80 min
ค่าเฉลี่ยถูกดึงขึ้นด้วยเหตุกุญแจเซิร์ฟเวอร์รั่วที่ใช้เวลานานที่สุด จึงควรรายงานค่ามัธยฐานและค่าที่แย่ที่สุดคู่กัน เหตุที่ตรวจพบช้าที่สุดเป็นเหตุที่ไม่มีกฎตรวจจับเฉพาะ จึงเป็นบทเรียนที่ต้องป้อนกลับไปเพิ่มการตรวจจับ
กรอบมาตรฐานและกฎหมาย
- NIST CSF 2.0 และ SP 800-61r3 ใช้เป็นโครงของนโยบายและแผนรับมือเหตุ
- RTCA DO-326A / EUROCAE ED-202A กระบวนการด้านความมั่นคงปลอดภัยเพื่อความสมควรเดินอากาศ ใช้กับการออกแบบอากาศยานที่ต้องรับรองแบบ ปัจจุบัน RTCA มีฉบับปรับปรุง DO-326B แล้ว
- พระราชบัญญัติการรักษาความมั่นคงปลอดภัยไซเบอร์ พ.ศ. 2562 กำหนดหน้าที่ของหน่วยงานโครงสร้างพื้นฐานสำคัญทางสารสนเทศ มีสำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ (สกมช.) เป็นหน่วยงานหลัก โรงพยาบาลที่ใช้ระบบนี้ต้องตรวจว่าหน่วยงานของตนอยู่ในขอบเขตหน้าที่ใด
- พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 ใช้กับข้อมูลผู้ป่วยที่ผูกกับพัสดุ และภาพบุคคลที่กล้องบันทึกได้
ปฏิบัติการประจำโมดูล
ปฏิบัติการ: ฝึกซ้อมรับมือเหตุบนโต๊ะ
- เขียนแผนรับมือเหตุหนึ่งหน้าของเครือข่ายส่งเวชภัณฑ์ ระบุผู้รับผิดชอบและช่องทางติดต่อ
- เลือกเหตุหนึ่งจาก threat model ของโมดูล 1 ให้ผู้สอนป้อนสถานการณ์ทีละขั้นระหว่างการฝึก
- ใช้โค้ดตัวอย่างที่ 1 กับ log จาก SITL ที่ใส่เหตุการณ์ผิดปกติไว้ ตรวจว่ากฎจับได้
- จดเวลาแต่ละขั้นแล้วคำนวณด้วยโค้ดตัวอย่างที่ 2
- สรุปบทเรียนที่ได้เป็นรายการปรับปรุงที่มีผู้รับผิดชอบและกำหนดเสร็จ
ข้อผิดพลาดที่พบบ่อย
ระวัง
- ไม่มีคนรับผิดชอบการแจ้งเตือน
- ลบหรือเขียนทับ log ระหว่างกู้คืน ทำให้ไม่มีหลักฐาน
- รายงานเฉพาะค่าเฉลี่ย ซ่อนเหตุที่แย่ที่สุด
- ฝึกซ้อมครั้งเดียว แล้วไม่ปรับแผน
- ลืมข้อกำหนดด้านข้อมูลส่วนบุคคล เมื่อส่ง log ออกนอกองค์กร
สรุป
- SP 800-61r3 จัดการรับมือเหตุตามหกหน้าที่ของ CSF 2.0 แยกเป็นเตรียมพร้อมและตอบสนองเหตุ
- กฎตรวจจับเชื่อมกับภัยที่วิเคราะห์ไว้ และต้องมีคู่มือว่าทำอะไรต่อ
- วัดเวลาตรวจพบ ควบคุม และกู้คืน รายงานทั้งค่าเฉลี่ย มัธยฐาน และค่าแย่ที่สุด
- งานจริงต้องสอดคล้องกับ DO-326A, พ.ร.บ.ไซเบอร์ 2562 และ PDPA ตามขอบเขตของหน่วยงาน
แบบฝึกตรวจความเข้าใจ
- หน้าที่ใดของ CSF 2.0 อยู่ในส่วนตอบสนองเหตุตาม SP 800-61r3
- เหตุเริ่ม 10:00 ตรวจพบ 10:12 กู้คืน 10:47 เวลาจนตรวจพบและเวลาจนกู้คืน (นับจากตรวจพบ) เท่าใด
- เวลาตรวจพบ 2, 3, 4 และ 31 นาที ค่าเฉลี่ยและมัธยฐานเท่าใด
- ตำแหน่งกระโดด 90 m ใน 1 s ขณะโดรนบิน 15 m/s บอกอะไร
- หน่วยงานใดเป็นหน่วยงานหลักตาม พ.ร.บ.การรักษาความมั่นคงปลอดภัยไซเบอร์ พ.ศ. 2562
เฉลย
- ตรวจจับ ตอบสนอง และกู้คืน
- 12 นาที และ 35 นาที
- ค่าเฉลี่ย 10 นาที มัธยฐาน 3.5 นาที
- เร็วเกินสมรรถนะของโดรนมาก ควรสงสัย GNSS ผิดปกติหรือถูกปลอม
- สำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ (สกมช.)
สรุปสูตรสำคัญ
| เวลาเฉลี่ยจนตรวจพบ | |
| เวลาเฉลี่ยจนกู้คืน (นับจากตรวจพบ) |
แหล่งอ้างอิงหลัก
- Nelson, A., Rekhi, S., Souppaya, M., & Scarfone, K. (2025). Incident response recommendations and considerations for cybersecurity risk management: A CSF 2.0 community profile (NIST SP 800-61r3). National Institute of Standards and Technology. link
- National Institute of Standards and Technology. (2024). The NIST cybersecurity framework (CSF) 2.0. link
- RTCA. (2014). Airworthiness security process specification (DO-326A; EUROCAE ED-202A). link
- พระราชบัญญัติการรักษาความมั่นคงปลอดภัยไซเบอร์ พ.ศ. 2562. (2562). ราชกิจจานุเบกษา, 136(69 ก). link
- พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562. ราชกิจจานุเบกษา, 136(69 ก), 52–95. link
อ่านเพิ่มเติม
ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล
ในชั้นเรียน / ภาคสนาม
ปฏิบัติการเข้มข้นในแล็บและภาคสนาม บันทึกผลลงสมุดปฏิบัติการ
หลักฐานการเรียนรู้: สมุดปฏิบัติการที่อาจารย์ลงนาม