OpenCyber Academy
Master's · Chapter 5 · English
Course code: OCA-179Chapter 05: OCA-179-C005

Chapter 5 — Proposal and pilot

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 05 published. Map, example, EX029.

flowchart TD
  N0["Learning outcomes"]
  N1["5.1 Aims and measures"]
  N2["5.2 Data dictionary"]
  N3["5.3 Pilot"]
  N4["5.4 Revising without drifting"]
  N5["5.5 Indicator formats"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Worked example"]
  EX --> Q["Exercise EX029"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["5.1 Aims and measures"]
  N2["5.2 Data dictionary"]
  N3["5.3 Pilot"]
  N4["5.4 Revising without drifting"]
  N5["5.5 Indicator formats"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX029"]
[Learning outcomes]
    |
    v
[5.1 Aims and measures]
    |
    v
[5.2 Data dictionary]
    |
    v
[5.3 Pilot]
    |
    v
[5.4 Revising without drifting]
    |
    v
[5.5 Indicator formats]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX029]

Learning outcomes

You will (1) write a dissertation proposal with measurable aims; (2) define each variable in a data dictionary; (3) run a pilot to check feasibility; (4) revise the plan from pilot evidence without changing the question.

5.1 Aims and measures

Aim 1: measure median time-to-block for indicators received via CPSG. Aim 2: compare with matched non-members. Aim 3: describe how often shared indicators were judged not worth blocking. Each aim names its variable and its analysis.

Aim 3 is easy to forget but matters for interpretation. If members ignore many shared indicators as low-value, a fast median for the blocked ones may hide the fact that most indicators never become controls. Reporting the blocked, monitored and ignored proportions beside the median keeps the result honest.

5.2 Data dictionary

t_pub: timestamp the indicator was first published to the TAXII collection (UTC). t_block: timestamp a block rule became active in the member's control. ttb_h: hours between them. ioc_type: domain, ip, hash or url. decision: blocked, monitored, ignored. Every field has a type, unit and allowed values.

The dictionary also decides how a missing value is handled: an indicator that was ignored has no t_block, so its ttb_h is empty rather than zero, and it is counted under Aim 3, not in the median. Fixing that rule before data arrive prevents ignored indicators being treated as instant blocks.

5.3 Pilot

A pilot with one member and two weeks of synthetic-format logs tests whether t_block is recorded at all. Many organisations log rule edits only in change tickets with day-level precision, which would make hour-level timings impossible.

Lucía's pilot found exactly this split: the first member's firewall recorded rule activation to the second, while the second member's ticketing tool held dates only. Finding it in the pilot, with two weeks of logs, cost little; finding it after the main collection would have forced a redesign.

5.4 Revising without drifting

If the pilot shows day-level precision only, Lucía can change the unit to days — a measurement revision — but should not change the question to something easier, such as "do members like the feed?" That would be scope drift.

Lucía's revision kept both units: hours for members with precise logs, and days for the others as a separate stratum, with the reduced precision noted as a limitation. The question, time from publication to block, did not change; only how precisely some members could answer it.

5.5 Indicator formats

CPSG publishes STIX 2.1 indicator objects. The pilot confirms that created and valid_from are populated, giving a trustworthy t_pub. Objects missing required properties are logged as data-quality findings for the community.

The data-quality findings are recorded by publishing member class, not by member, following the board's aggregation rule. An indicator without valid_from still counts for Aim 3 if a member acted on it, but it cannot contribute a publication time to the median. The pilot member's two weeks of logs gave Lucía a first count of such findings before the main export arrived.

Worked example

The pilot member's firewall records rule activation to the second, but the second member uses a ticketing tool with dates only. Lucía keeps hours for members with precise logs, records days for the others as a separate stratum, and notes the reduced precision as a limitation.

Synthetic case. Pilot members and logging tools are invented.

Errors and limits

A pilot is not a small version of the result; do not report its medians as findings. Changing the question after a pilot requires supervisor approval and a new ethics check.

Exercises

Synthesis

Measurable aims, a precise dictionary, a pilot aimed at feasibility, and revisions that keep the question intact.

Continue studying — chapter 05 of 08

← Chapter 04 (draft) · Course chapter index · Chapter 06 (draft) →

Worked answers

EX029. ttb_h: hours from indicator publication (t_pub) to block-rule activation (t_block); float; unit hours; derived as (t_block − t_pub)/3600 s; missing if not blocked.

EX030. Whether members record block-rule activation time (t_block) with enough precision to compute hours.

EX031. Analyse that member in a separate day-level stratum and report the lower precision as a limitation.

EX032. Drift: it replaces the time-to-block construct with satisfaction, answering a different and easier question.

EX033. It records indicators members chose not to block, so the study does not look only at indicators that succeeded.

EX034. The indicator's created timestamp, supported by valid_from.

EX035. No. Pilot data test feasibility; they belong in the methods chapter, not in results.