Module 5/5 · Weeks 13–15 · 27 h

Incident response and frameworks

UAT 367 Cybersecurity, Command and Control Links and Unmanned Aircraft Systems Traffic Management

About 90 minDraft, awaiting reviewLast updated 27 September 2026

Lesson

By the end of this module you will be able to

  1. Explain cyber incident response under NIST SP 800-61r3, organised by the CSF 2.0 Functions
  2. Write detection rules for UAS logs and arrange the alerts into a timeline
  3. Compute mean times to detect, contain and recover
  4. Identify related frameworks and laws such as DO-326A, the Thai Cybersecurity Act and the PDPA

Prerequisites: UAT 367 Modules 1–4

Why this matters

No system prevents every incident. An equally important question is how quickly the team notices once something happens, and how quickly service returns. For the medical delivery network, every minute the system is down is medicine or blood that does not reach a patient. This module brings the whole course together into an incident response plan that works in practice.

The incident response cycle

NIST SP 800-61 Revision 3 (April 2025) places incident response within the six Functions of NIST CSF 2.0 instead of the older four-phase cycle:

  • Preparation falls under Govern, Identify and Protect: policies, owners, asset inventories, threat models and the controls from Modules 1–3.
  • Incident response falls under Detect, Respond and Recover.
  • Lessons learned feed back to improve every Function.
A purple bar at the top reads Govern. Below are five boxes in a row joined by arrows: Identify and Protect in blue, Detect, Respond and Recover in pink. A line from Recover back to Identify reads lessons learned to improvement. Under the blue boxes is the word Preparation and under the pink boxes Incident response
Figure 1 Incident response with NIST SP 800-61r3 and CSF 2.0

Detection from logs

Good detection starts with knowing what normal looks like, then writing rules that alert when behaviour deviates. Signals tied to earlier modules include bursts of bad-signature frames (Module 3), GNSS position jumps beyond the aircraft’s performance (Module 2) and senders not on the list of known systems.

Example 1 Detection rules on a log

A hypothetical log of one flight; the drone normally flies at about 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

All three rules need thresholds tuned from normal data on the real system, and every alert needs a playbook saying who does what next, such as switching to the backup C2 path, commanding a hover or landing at a safe point, and preserving logs as evidence.

Measuring incident response

A time bar from 0 to 60 minutes. A pink segment from 0 to 6 minutes reads unseen, a gold segment from 6 to 14 minutes reads contain and a green segment from 14 to 52 minutes reads recover. Dashed vertical lines at 6, 14 and 52 minutes read detected, contained and recovered
Figure 2 Timeline of incident 1

Example 2 Times to detect, contain and recover

Records of four hypothetical incidents from drills (minutes from incident start).

from statistics import mean, median

incidents = {                         # start, detected, contained, recovered
    "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

The mean is pulled up by the server credential leak, which took longest, so median and worst case should be reported alongside it. The incident detected most slowly had no dedicated detection rule, a lesson to feed back into better detection.

Frameworks and law

  • NIST CSF 2.0 and SP 800-61r3 provide the structure for policy and the incident response plan.
  • RTCA DO-326A / EUROCAE ED-202A, the airworthiness security process, applies to the design of aircraft that need type certification; RTCA has since issued a revision, DO-326B.
  • Thailand’s Cybersecurity Act B.E. 2562 (2019) sets duties for critical information infrastructure organisations, with the National Cyber Security Agency (NCSA) as the lead agency. Hospitals using this system must check which duties apply to them.
  • Thailand’s Personal Data Protection Act B.E. 2562 (2019) applies to patient data tied to parcels and to images of people captured by the camera.

Module lab

Lab: a tabletop incident response exercise

  1. Write a one-page incident response plan for the medical delivery network, naming owners and contact channels.
  2. Choose one incident from Module 1’s threat model; the instructor feeds in the scenario step by step during the exercise.
  3. Apply the code from Example 1 to a SITL log with injected anomalies and check that the rules catch them.
  4. Record the time of each step and compute the results with the code from Example 2.
  5. Summarise the lessons learned as a list of improvements with owners and due dates.

Common mistakes

Watch out

  • No one owns the alerts.
  • Deleting or overwriting logs during recovery, leaving no evidence.
  • Reporting only averages, hiding the worst incident.
  • Running one drill and never updating the plan.
  • Forgetting personal data rules when sending logs outside the organisation.

Summary

  • SP 800-61r3 organises incident response by the six CSF 2.0 Functions, split into preparation and incident response.
  • Detection rules link to analysed threats and need playbooks for what happens next.
  • Measure times to detect, contain and recover, reporting mean, median and worst case.
  • Real operations must align with DO-326A, the Cybersecurity Act 2019 and the PDPA as they apply to the organisation.

Check your understanding

  1. Which CSF 2.0 Functions fall under incident response in SP 800-61r3?
  2. An incident starts at 10:00, is detected at 10:12 and recovered at 10:47. What are the time to detect and the time to recover (from detection)?
  3. Detection times are 2, 3, 4 and 31 minutes. What are the mean and median?
  4. What does a position jump of 90 m in 1 s mean when the drone flies at 15 m/s?
  5. Which agency leads under Thailand’s Cybersecurity Act B.E. 2562?
Answers
  1. Detect, Respond and Recover.
  2. 12 minutes and 35 minutes.
  3. Mean 10 minutes, median 3.5 minutes.
  4. It is far beyond the drone’s performance, so GNSS should be suspected of an anomaly or spoofing.
  5. The National Cyber Security Agency (NCSA).

Key formulas

Mean time to detect
Mean time to recover (from detection)

Key references

  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

Further reading

Study the assigned knowledge units in advance, review media and take the module quiz

In class / field

Intensive lab and field practice recorded in a lab notebook

Learning evidence: Lab notebook signed by the instructor

Module quiz

This is a formative self-check, not a graded exam

Knowledge domain: Law, safety and risk · Communications, networks and IoT