OpenCyber Academy
Engineering · Chapter 22 · English
Course code: OCA-130Chapter 22: OCA-130-C022

Chapter 22 — Security operations and blue team: system and data models

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

Lesson map

Lesson 22 published. Map, example, EX064.

flowchart TD
  N0["Learning outcomes"]
  N1["22.1 Pipeline model"]
  N2["22.2 Event model"]
  N3["22.3 Entity model"]
  N4["22.4 Relationships"]
  N5["22.5 Gaps from models"]
  N6["22.6 Model ownership"]
  N7["22.7 Models and people"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Worked example"]
  EX --> Q["Exercise EX064"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["22.1 Pipeline model"]
  N2["22.2 Event model"]
  N3["22.3 Entity model"]
  N4["22.4 Relationships"]
  N5["22.5 Gaps from models"]
  N6["22.6 Model ownership"]
  N7["22.7 Models and people"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX064"]
[Learning outcomes]
    |
    v
[22.1 Pipeline model]
    |
    v
[22.2 Event model]
    |
    v
[22.3 Entity model]
    |
    v
[22.4 Relationships]
    |
    v
[22.5 Gaps from models]
    |
    v
[22.6 Model ownership]
    |
    v
[22.7 Models and people]
    |
    v
[Worked example] --> [Exercise EX064]

Learning outcomes

You will (1) model the SOC pipeline as stages and data stores; (2) define the event data model; (3) model entities such as users, hosts and customers; (4) use models to find gaps.

22.1 Pipeline model

Lindqvist's pipeline has stages: collect (agents, syslog, cloud APIs), transport, parse and normalise, enrich (asset and identity data), store, detect, alert, and case management. Each stage can fail, delay or distort data.

Thinking in stages helps locate problems. A missing alert could mean the event was never collected, was dropped in transport, failed to parse, lacked enrichment the rule needed, aged out of storage, or never matched the rule. Each stage gets its own health measures, so an analyst can trace an event through the pipeline and find where it disappeared.

22.2 Event model

Every normalised event carries time (UTC), source, host, user, action, outcome, and raw record reference. A shared model lets one rule work across sources.

Keeping a reference to the raw record matters because normalisation can lose detail or introduce errors; an analyst may need the original line to check what the source actually said. Recording time in UTC avoids confusion between sources in different zones. Because every source maps to the same fields, a rule about failed logins works across the portal, VPN and staff sign-in.

22.3 Entity model

Entities persist across events: a customer, an employee, a host, a network. Entity tables hold attributes such as criticality, owner and normal locations, used for enrichment.

Events are moments; entities give them context. An alert about a host means more when the alert also shows that the host is a payment server owned by finance. Normal locations for a customer help judge whether a login from a new country is unusual. Entity tables need updating, since stale data misleads analysts as surely as missing data.

22.4 Relationships

Customers own accounts; employees use hosts; hosts sit in zones. Modelling relationships lets analysts ask "which zone is this host in?" automatically.

Without modelled relationships, an analyst must look up each link manually in different systems, which is slow during an incident. With them, an alert can show automatically that the host belongs to a depot zone and that its usual user is on leave. Relationships also let rules reason across entities, for example flagging an employee using a host outside their own zone.

22.5 Gaps from models

Walking through the model stage by stage, Amara checks each source: is it collected, parsed, enriched and covered by detections? Depot networks are collected but not enriched, because the asset inventory lacks depot devices.

The walk-through is systematic: for each source, four yes-or-no questions. Missing enrichment for depot devices means alerts about them carry only an address, with no owner, location or role, so analysts must investigate from scratch. The fix is upstream: adding depot devices to the asset inventory, which helps IT operations as well as the SOC.

22.6 Model ownership

The data model is owned by the detection engineering team; changes are versioned like rules.

An owner decides which fields exist and what they mean, and reviews proposed changes. Versioning lets rules declare which model version they expect, so a field rename does not silently break them. Without ownership, different engineers add fields with overlapping meanings, and over time the shared model splinters into source-specific dialects. The owner publishes a changelog, and rule authors read it before each release. Deprecated fields stay available for one release so rules can migrate without a gap in coverage.

22.7 Models and people

Models also include who acts at each stage: which team fixes parsing errors, who maintains enrichment tables.

A pipeline diagram that shows only systems hides the human work that keeps it running. Naming the team responsible for parser failures means alerts about broken parsing reach someone who can act. Naming the owner of enrichment tables means stale entries have someone accountable. Amara adds an owner to every stage on the pipeline diagram. Each owner also has a backup named, so a parser failure during holidays still reaches someone able to fix it.

Enrichment freshness

Enrichment tables must be current. A host reassigned from finance to depots still tagged 'finance' misleads analysts. Amara adds a freshness date to each table.

Worked example

Amara's coverage matrix lists 14 sources against 6 stages. Two cells are empty for depot networks (enrichment, detection) and one for the portal load balancer (detection, newly collected). She turns each empty cell into a backlog item with an owner.

Synthetic case. Sources and matrix are invented.

Errors and limits

Models simplify; a source marked "collected" may still have gaps in time or fields.

Exercises

Synthesis

Pipeline, event and entity models expose where data is missing, unenriched or undetected.

Continue studying — chapter 22 of 50

← Chapter 21 (draft) · Course chapter index · Chapter 23 (draft) →

Worked answers

EX064. Collect, transport, parse and normalise, enrich, store, detect, alert, and case management.

EX065. The asset inventory did not contain depot devices, so there was nothing to enrich with.

EX066. Each empty cell became a backlog item with a named owner.