Reference · development snapshot
Understand one maneuver
A procedure becomes easier to reason about when its prerequisites, mechanism and effects stay connected. Explore the same structure in physical, cyber and formal language.
This page teaches the behavioral and defensive layer of the broader Maneuver Calculus reference architecture: how one adversary procedure relates to prerequisites, effects and defensive coverage. The worked example moves from concrete language to formal notation. The MC semantics page develops this layer, and dotted terms link to the glossary.
The thirty-second version
A coverage question starts with a procedure: what must be true before it runs, what action changes the environment, and what result follows? A useful answer also identifies the detection's signal, the telemetry it requires, and the evidence that it works.
Maneuver Calculus models those relationships explicitly. Its semantic design requires coverage conclusions to be derived from declared telemetry dependencies, detection health and observable grounding. An unmodeled behavior remains an explicit gap. The 5 October implementation snapshot describes the implemented components and their recorded results.
One maneuver, three ways
The same structure, in three vocabularies. Flip the register and every plate below keeps its shape while its words change: a physical analogy (a bank robbery), the cyber case (LSASS credential dumping, T1003.001), and the formal model (spec notation, ontology terms, axioms). If the plain telling and the specification carry the same shape, the notation was never the hard part — the modelling underneath it was. The physical column is an analogy register, a teaching aid, never a synonym for the fixed vocabulary.
A thief disabling the lock on a bank’s back door. Before, they must reach the lock, move the pins, and turn it; the move is to defeat the lock; after, the lock is open and the door lets them through. The part that cannot change is all three boxes taken together — change any one and it is no longer the same maneuver. Underneath sit two ways of doing it: pick the lock, or forge a key. A rake pick, a hook pick, this gang’s tools — all still “pick the lock” to us. One entry, not fifty.
{P}, mechanism m, postcondition {Q}. The retained example labels this core A. An implementation variant is the whole record considered as a member of a stated class; a tool is a separate realization detail.An operator already at SYSTEM integrity reads credential material out of LSASS. That need·do·get is invariant core A — read it live. Underneath are swappable variants: a userland read, a syscall/handle-dup route. The retained illustration uses three draft labels: A read memory live, B write it to disk (which yields a file, not yet a credential), C execute inside LSASS (A’s ending, reached with write access rather than an outside read). This plate is core A. Which tool ran is tradecraft; the reading itself is what cannot be dropped.
{P} m {Q}; the stripped triple ⟨P*, m*, Q*⟩ it aligns to is the invariant core.{P} m {Q} (§4.1), identified by what it structurally requires (§4.4.2). Class identity is the stripped triple ⟨P*, m*, Q*⟩; two cores differing in any component are distinct (§4.4.3). Required = removing it stops the effect (§4.4.3.1).mc:ManeuverRecord · mc:InvariantCore (disjoint individuals) · mc:ImplementationVariant ⊑ mc:ManeuverRecord. Clauses via mc:hasPreconditionClause/mc:hasPostconditionClause, body mc:composesPrimitive; core via mc:coreRequiresState (P*), mc:invariantComposes (m*), mc:coreRequiresEffect (Q*); mc:alignsToCore derived; mc:serves an mc:Objective.A maneuver record is a Hoare triple {P} m {Q} — a precondition it requires, a mechanism, a postcondition it yields (§4.1). The record is identified by what it structurally requires (§4.4.2). A class is identified by the stripped triple ⟨P*, m*, Q*⟩, what every aligned record structurally requires; two cores differing in any component are distinct (§4.4.3). An element is required exactly when removing it stops the record reaching its effect (§4.4.3.1). A tool realizes the core but is not part of it — the trivial core ⟨∅,∅,∅⟩ is never named (§4.4.5.3).
One goal, four genuinely different maneuvers: disable the lock, blow the door, take off the hinges, or get a person to open it. You fit a lock whose pins cannot be moved — so Maneuver 1 stops in every way of doing it, including ways nobody has written down. That is a real, honest win; say it that way. But you did not block the goal: three other maneuvers reach it and your lock does nothing about them. And if you had blocked only rake picks, you would not even have blocked Maneuver 1.
Assume a hypothetical control blocks the required live-read mechanism in the stated environment. Under that premise, a record aligned to A cannot reach its effect through that mechanism, whether its implementation uses a userland read or another route. This teaches how a preventive result transfers through a shared requirement. The draft labels B (dump to disk), C (execute inside), and the unmodeled sibling paths — SAM-hive, DCSync, NTDS.dit, LSA secrets — need their own coverage evidence. The example leaves their outcomes open.
mc:Objective served by several records; a break transfers class-wide only when it acts on the invariant core.detect placement never breaks anything (§9.2). Transfer holds iff the placement acts on the core (§4.7.1).mc:breaksManeuver · mc:alignsToCore · mc:tierAgainstCore · mc:serves / mc:Objective. Distinct cores are distinct mc:InvariantCore individuals.A placement structurally breaks a maneuver when it stops it reaching its effect; a detect placement never breaks anything (§9.2). A result transfers to every aligned record exactly when the placement acts on the invariant core; acting on one record’s variation is a result for that record alone (§4.7.1). Scope follows a lattice: core → class-wide; several variations → those records; one variation → that record (§4.7.3). The mc:Objective is carried, not a criterion (§4.4.5).
Coverage is not a colour on a wall chart. One camera is unplugged — that watcher is blind — but the strong-room guard and the delivery ledger still watch, so this maneuver stays seen. What you never drew a plan for is a different matter: a door missing from your drawings is not a guarded door. Silence there is a gap to escalate, never a tick in the “covered” column.
Detection health follows each detection’s declared dependencies. Assume the userland-handle detection loses its required trigger, while the separate read and file sensors retain their triggers, collection paths and all other requirements for live status at the stated time. The semantic rules then yield one blind detection and two live detections. This is a dependency calculation under stated premises. The retained MiniDump mapping is described above; the health calculation leaves that classification question open. Zone E lists SAM-hive, DCSync, NTDS.dit, remote LSASS and LSA secrets as paths awaiting their own modeled records.
coverage record carries each face’s status (§8.2). Unmodeled is silence, escalated — never a covered verdict (§10.4).o1 spanning (L5, core), o2/o3 discriminating (L2/L3, variation). Health flows from control state through the grounding chain.Each detection face carries a four-valued status, evaluated in order — blind, degraded, uncertain, live — with the first matching condition setting the status (§8.2); a face is blind when its trigger requirement is unsatisfied. A maneuver with no record, a sibling path never modeled, and a cell never authored are all unmodeled, and unmodeled MUST NOT be reported as covered; absence of a record is not evidence of coverage (§10.4).
Where the defence lands decides how far the win travels. Un-pickable pins act on the part that cannot change, so they beat every way of picking — and ways nobody has written down. A sign reading “no rake picks” acts on one particular way; it stops the rake and nothing else — not the hook pick, not forging. Same door, two very different claims, with very different lifetimes.
For the upper row, assume that every required live read produces the modeled signal, that collection delivers it intact, and that the rule evaluates it successfully at the stated time. Under these premises, the core-grounded observable (o1, spanning, L5 in the retained illustration) supports a detection result across aligned records. The lower row retains the draft minidump-file observable (o2, discriminating, L2): its rule observes that file when it is produced and collected. A route producing no such file falls outside that rule’s established detection scope. Grounding describes the reach of the result; testing supplies evidence for a real sensor, rule and environment.
m* has class-wide scope; a placement on one record’s variation has single-record scope (§4.7).mc:alignsToCore (derived) · mc:tierAgainstCore · mc:ImplementationVariant. Core-grounded ⇒ spanning; variation-grounded ⇒ discriminating.The transfer rule (§4.7.1): a defensive result established against one aligned record transfers to every aligned record exactly when the placement acts on the invariant core. A placement on a record’s variation establishes a result for that record alone. Grounding fixes role — core-grounded is spanning, variation-grounded is discriminating (§7.2.1) — and the scope lattice (§4.7.3) reads the reach off where the placement lands.
If you already use ATT&CK
Maneuver Calculus does not replace ATT&CK and does not fork it. Tactics and technique
IDs retain their external catalog meanings. The proposed crosswalk relates MC content
to those catalog entries without turning an identifier into MC identity. The current
alignment model uses proposed SKOS relations — exactMatch,
closeMatch, relatedMatch — rather than subclassing into another
taxonomy. Individual mappings and their concrete bindings remain subject to verification.
What differs is altitude. ATT&CK names what a behaviour is; the calculus works one level below, at the individual procedure, where a maneuver is defined by what it requires and what it yields rather than by its label. Many procedures implement one technique, so the relation is many-to-many.
The semantic model represents three things beyond a coverage matrix. First, pre- and postconditions determine a graph of partial contributions between maneuvers; an edge alone does not prove that the next maneuver is available. Second, telemetry dependencies determine four-valued detection health, so a changed source state requires dependent coverage to be recomputed. Third, coverage has five separately-derived dimensions: is something breaking this, is anything still watching, what is it keyed on, has it been shown to work, and does it fire on benign activity too? These are model requirements, not a claim that an implementation has verified every operation. Where the model cannot answer, it reports an unmodeled gap. The proposed crosswalk matrices are on the Alignment page.
What you can do today
- Detection engineers and threat researchers — read MC semantics for the model of what a detection should be keyed on (robustness, L1–L5) and how telemetry loss affects dependent conclusions.
- Incident responders — inspect the intended workflows and their evidence requirements. The earlier results have been withdrawn because their test methodology was flawed; a benchmark page is planned for later.
- Ontology and semantic-web engineers — the machine ontology (mc-core 0.4.20.2:
459 registry terms, 24 SPARQL CONSTRUCT rules: 18 derivation rules and 6 checks or
advisories, plus SHACL shapes) is the current development package. Its deposit stamp
and archival publication remain pending; its namespace is
https://maneuvercalculus.org/ontology/core#. - Anyone citing — see How do I cite it?
- Public contributions — a project email contact is planned, with the address still to be announced; see contact status.
Where to go next
Continue to Architecture for the wider system, then MC semantics for the behavioral and defensive layer in seven parts, Alignment for proposed external correspondences, and Roadmap for capabilities, evidence and gaps. The MC semantics page assumes you have read §0.2 above; the glossary provides the plain reading of its terms.