◇ OpenCyber Academy
Engineering · Chapter 21 · English

Chapter 21 — AI and machine-learning security: requirements

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

Chapter 21 — AI and machine-learning security: requirements

Lesson map

Lesson 21 published. Map, example, EX061.

flowchart TD
  N0["Learning outcomes"]
  N1["21.1 From abuse cases to requirements"]
  N2["21.2 Kinds of requirement"]
  N3["21.3 Writing verifiable statistical requirements"]
  N4["21.4 Traceability"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Worked example"]
  EX --> Q["Exercise EX061"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["21.1 From abuse cases to requirements"]
  N2["21.2 Kinds of requirement"]
  N3["21.3 Writing verifiable statistical requirements"]
  N4["21.4 Traceability"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX061"]
[Learning outcomes]
    |
    v
[21.1 From abuse cases to requirements]
    |
    v
[21.2 Kinds of requirement]
    |
    v
[21.3 Writing verifiable statistical requirements]
    |
    v
[21.4 Traceability]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX061]

Learning outcomes

You will (1) write security requirements for AI components that are specific, measurable and verifiable; (2) derive requirements from abuse cases; (3) express statistical requirements with confidence bounds; and (4) trace requirements to frameworks and regulation.

21.1 From abuse cases to requirements

An abuse case describes how someone could misuse the system: "A supplier embeds an instruction in a bulletin that causes Wrench to schedule unnecessary maintenance." Each abuse case yields requirements that prevent, detect or limit it.

Writing abuse cases as stories with an actor, a goal and a route makes them concrete enough to test. The bulletin case gives three requirements: label bulletin text as untrusted (prevent), alert on instruction-like content in bulletins (detect), and require confirmation for work orders (limit). Having all three means one failing does not leave the abuse case open.

21.2 Kinds of requirement

The 600-case minimum is twice the 300-case suite that blocked the friendlier prompt, because a smaller suite gives an upper bound too wide to show a rate near 2%.

21.3 Writing verifiable statistical requirements

State the population (test suite), metric, threshold, confidence level and minimum sample size. "Robust to attacks" is not verifiable. "Accuracy under PGD with L∞ ε = 4/255 ≥ 70% on the held-out set" is — and it states the threat model implicitly.

The PGD example names the attack, the norm and the budget, so testers know exactly what to run and readers know what the result does not cover: larger budgets, other norms and physical attacks. A statistical requirement also needs enough data to decide. If the test set is too small, the upper bound may exceed the threshold even when the model is good, and the requirement cannot be shown to pass. The sample size is therefore part of the requirement itself.

21.4 Traceability

Link each requirement to its source (abuse case, OWASP entry, AI Act article, ISO/IEC 42001 control objective) and its verification method. EU AI Act Article 15 requires high-risk systems to be resilient against attempts to alter use or performance by exploiting vulnerabilities, naming data poisoning, model poisoning, adversarial examples and confidentiality attacks; requirements addressing each make compliance arguments traceable.

A trace table runs both ways: from each source to the requirements that answer it, and from each requirement to its test. Gaps then appear as empty cells.

21.5 Worked example (synthetic NRS case)

Sam wrote REQ-AI-014: "TrackEye false-negative rate for defects ≥ 10 mm shall be ≤ 1.5% with 95% upper bound, per condition stratum (day, dawn/dusk, night, rain), on a held-out set of ≥ 1,000 defects per stratum; verified by test report at each release." Source: hazard H-03 and AI Act Art. 15 (accuracy). REQ-AI-015 addressed adversarial markings: "No single marking ≤ 20 × 20 cm placed ≥ 0.5 m from the rail shall reduce detection of an adjacent defect below 95% in the physical test campaign."

The stratum rule closes the dawn gap: a good overall rate can no longer hide a weak condition.

21.6 Errors and limits

Without a threshold and a test set, nobody can say whether a requirement has been met. A threshold without a confidence bound can be passed by luck on a small sample. A requirement needing data that does not exist, such as a thousand night-time defects per stratum when only two hundred have been recorded, must either be rewritten or come with a plan to collect the data before the release that depends on it.

Exercises

Synthesis

Good AI-security requirements are measurable statements about behaviour under stated attacks, with sample sizes and confidence, traced to their source and to their verification.

Continue studying — chapter 21 of 50

← Chapter 20 (draft) · Course chapter index · Chapter 22 (draft) →