โมดูล 5/5 · สัปดาห์ 13–15 · 27 ชม.

การตอบสนองเหตุและกรอบมาตรฐาน

UAT 367 ความมั่นคงไซเบอร์ ระบบเชื่อมโยงการบัญชาการและควบคุม และการจัดการจราจรระบบอากาศยานไร้คนขับ

เวลาเรียนประมาณ 90 นาทีร่าง รอตรวจปรับปรุงล่าสุด 27 กันยายน 2569

บทเรียน

เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ

  1. อธิบายการรับมือเหตุด้านไซเบอร์ตาม NIST SP 800-61r3 ที่จัดตามหน้าที่ของ CSF 2.0
  2. เขียนกฎตรวจจับเหตุจาก log ของระบบ UAS และเรียงเป็นไทม์ไลน์
  3. คำนวณค่าเฉลี่ยเวลาตรวจพบ ควบคุม และกู้คืน
  4. ระบุกรอบมาตรฐานและกฎหมายที่เกี่ยวข้อง เช่น DO-326A, พ.ร.บ.การรักษาความมั่นคงปลอดภัยไซเบอร์ และ PDPA

ความรู้พื้นฐานที่ควรมี: UAT 367 โมดูล 1–4

ทำไมต้องรู้

ไม่มีระบบใดกันเหตุได้ทั้งหมด คำถามที่สำคัญพอกันคือ เมื่อเกิดเหตุแล้ว ทีมรู้ตัวเร็วแค่ไหนและกลับมาให้บริการได้เร็วแค่ไหน สำหรับเครือข่ายส่งเวชภัณฑ์ ทุกนาทีที่ระบบหยุดคือยาหรือเลือดที่ไปไม่ถึงผู้ป่วย โมดูลนี้รวมทุกอย่างในวิชาเป็นแผนรับมือเหตุที่ใช้งานได้จริง

วงจรรับมือเหตุ

NIST SP 800-61 ฉบับปรับปรุงครั้งที่ 3 (เมษายน 2025) จัดการรับมือเหตุให้อยู่ในหน้าที่หกข้อของ NIST CSF 2.0 แทนวงจรสี่ขั้นแบบเดิม:

  • เตรียมพร้อม อยู่ใน กำกับดูแล (Govern) ระบุ (Identify) และป้องกัน (Protect) เช่น นโยบาย ผู้รับผิดชอบ รายการทรัพย์สิน threat model และมาตรการของโมดูล 1–3
  • ตอบสนองเหตุ อยู่ใน ตรวจจับ (Detect) ตอบสนอง (Respond) และกู้คืน (Recover)
  • บทเรียนที่ได้ ป้อนกลับไปปรับปรุงทุกหน้าที่
แถบสีม่วงด้านบนเขียนว่ากำกับดูแล Govern ด้านล่างเป็นห้ากล่องเรียงพร้อมลูกศร ระบุ ป้องกัน สีฟ้า ตรวจจับ ตอบสนอง กู้คืน สีชมพู เส้นจากกู้คืนย้อนกลับไปที่ระบุเขียนว่าบทเรียนที่ได้ไปสู่การปรับปรุง ใต้กล่องสีฟ้าเขียนว่าเตรียมพร้อม ใต้กล่องสีชมพูเขียนว่าตอบสนองเหตุ
ภาพที่ 1 วงจรรับมือเหตุตาม NIST SP 800-61r3 และ CSF 2.0

ตรวจจับจาก 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 เป็นหลักฐาน

วัดผลการรับมือเหตุ

แถบเวลา 0 ถึง 60 นาที ช่วงสีชมพูจาก 0 ถึง 6 นาทีเขียนว่ายังไม่รู้ ช่วงสีทองจาก 6 ถึง 14 นาทีเขียนว่าควบคุมเหตุ ช่วงสีเขียวจาก 14 ถึง 52 นาทีเขียนว่ากู้คืน เส้นประแนวตั้งที่ 6 14 และ 52 นาทีเขียนว่าตรวจพบ ควบคุมได้ และกู้คืนเสร็จ
ภาพที่ 2 ไทม์ไลน์ของเหตุที่ 1

ตัวอย่างที่ 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 ใช้กับข้อมูลผู้ป่วยที่ผูกกับพัสดุ และภาพบุคคลที่กล้องบันทึกได้

ปฏิบัติการประจำโมดูล

ปฏิบัติการ: ฝึกซ้อมรับมือเหตุบนโต๊ะ

  1. เขียนแผนรับมือเหตุหนึ่งหน้าของเครือข่ายส่งเวชภัณฑ์ ระบุผู้รับผิดชอบและช่องทางติดต่อ
  2. เลือกเหตุหนึ่งจาก threat model ของโมดูล 1 ให้ผู้สอนป้อนสถานการณ์ทีละขั้นระหว่างการฝึก
  3. ใช้โค้ดตัวอย่างที่ 1 กับ log จาก SITL ที่ใส่เหตุการณ์ผิดปกติไว้ ตรวจว่ากฎจับได้
  4. จดเวลาแต่ละขั้นแล้วคำนวณด้วยโค้ดตัวอย่างที่ 2
  5. สรุปบทเรียนที่ได้เป็นรายการปรับปรุงที่มีผู้รับผิดชอบและกำหนดเสร็จ

ข้อผิดพลาดที่พบบ่อย

ระวัง

  • ไม่มีคนรับผิดชอบการแจ้งเตือน
  • ลบหรือเขียนทับ log ระหว่างกู้คืน ทำให้ไม่มีหลักฐาน
  • รายงานเฉพาะค่าเฉลี่ย ซ่อนเหตุที่แย่ที่สุด
  • ฝึกซ้อมครั้งเดียว แล้วไม่ปรับแผน
  • ลืมข้อกำหนดด้านข้อมูลส่วนบุคคล เมื่อส่ง log ออกนอกองค์กร

สรุป

  • SP 800-61r3 จัดการรับมือเหตุตามหกหน้าที่ของ CSF 2.0 แยกเป็นเตรียมพร้อมและตอบสนองเหตุ
  • กฎตรวจจับเชื่อมกับภัยที่วิเคราะห์ไว้ และต้องมีคู่มือว่าทำอะไรต่อ
  • วัดเวลาตรวจพบ ควบคุม และกู้คืน รายงานทั้งค่าเฉลี่ย มัธยฐาน และค่าแย่ที่สุด
  • งานจริงต้องสอดคล้องกับ DO-326A, พ.ร.บ.ไซเบอร์ 2562 และ PDPA ตามขอบเขตของหน่วยงาน

แบบฝึกตรวจความเข้าใจ

  1. หน้าที่ใดของ CSF 2.0 อยู่ในส่วนตอบสนองเหตุตาม SP 800-61r3
  2. เหตุเริ่ม 10:00 ตรวจพบ 10:12 กู้คืน 10:47 เวลาจนตรวจพบและเวลาจนกู้คืน (นับจากตรวจพบ) เท่าใด
  3. เวลาตรวจพบ 2, 3, 4 และ 31 นาที ค่าเฉลี่ยและมัธยฐานเท่าใด
  4. ตำแหน่งกระโดด 90 m ใน 1 s ขณะโดรนบิน 15 m/s บอกอะไร
  5. หน่วยงานใดเป็นหน่วยงานหลักตาม พ.ร.บ.การรักษาความมั่นคงปลอดภัยไซเบอร์ พ.ศ. 2562
เฉลย
  1. ตรวจจับ ตอบสนอง และกู้คืน
  2. 12 นาที และ 35 นาที
  3. ค่าเฉลี่ย 10 นาที มัธยฐาน 3.5 นาที
  4. เร็วเกินสมรรถนะของโดรนมาก ควรสงสัย GNSS ผิดปกติหรือถูกปลอม
  5. สำนักงานคณะกรรมการการรักษาความมั่นคงปลอดภัยไซเบอร์แห่งชาติ (สกมช.)

สรุปสูตรสำคัญ

เวลาเฉลี่ยจนตรวจพบ
เวลาเฉลี่ยจนกู้คืน (นับจากตรวจพบ)

แหล่งอ้างอิงหลัก

  1. 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
  2. National Institute of Standards and Technology. (2024). The NIST cybersecurity framework (CSF) 2.0. link
  3. RTCA. (2014). Airworthiness security process specification (DO-326A; EUROCAE ED-202A). link
  4. พระราชบัญญัติการรักษาความมั่นคงปลอดภัยไซเบอร์ พ.ศ. 2562. (2562). ราชกิจจานุเบกษา, 136(69 ก). link
  5. พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562. ราชกิจจานุเบกษา, 136(69 ก), 52–95. link

อ่านเพิ่มเติม

ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล

ในชั้นเรียน / ภาคสนาม

ปฏิบัติการเข้มข้นในแล็บและภาคสนาม บันทึกผลลงสมุดปฏิบัติการ

หลักฐานการเรียนรู้: สมุดปฏิบัติการที่อาจารย์ลงนาม

แบบทดสอบประจำโมดูล

แบบทดสอบนี้ใช้ตรวจความเข้าใจ (formative) ไม่ใช่การสอบเก็บคะแนน

โดเมนความรู้: กฎหมาย ความปลอดภัย และความเสี่ยง · การสื่อสาร เครือข่าย และ IoT