In SOC outcome reporting, what events start and stop the MTTD and MTTC clocks?
answer
- two clocks, one shared boundary
- start at the adversary, not at your alert
- stop when containment is executed
- dwell is MTTD on one case
- containment is not eradication
basics
~20 sMTTD runs from the adversary's first malicious action to the moment your organisation knows it is compromised. MTTC runs from that same moment to containment actually executed. Dwell time is the MTTD span measured on one intrusion.
solid answer
~50 sThree spans, two clocks. The detection clock starts at the intruder's first malicious action in the estate and stops at the point your written definition calls 'detected' — usually the confirmed verdict on the alert, or the alert's own timestamp. Dwell time is that span on a single intrusion; MTTD is it aggregated over cases. The containment clock starts at exactly the same boundary event and stops when a containment action has been *executed* — the host isolated at the EDR, the access key disabled, the tokens revoked — not when it was recommended, ticketed or scheduled. The two clocks must share one written boundary, or triage time either falls into a gap or gets counted twice. And containment is not eradication: stopping the adversary's current access is a different milestone from removing their persistence, and deserves its own clock if you want to measure it.
go deeper
Be ready to name the three spans and their boundaries without hedging: dwell and MTTD start at the adversary's first malicious action, MTTC starts where detection stops and ends at containment executed.
Explain why the alert timestamp is the tempting-but-wrong start event, and why the MTTD stop and MTTC start have to be one shared, written-down event rather than two independent definitions.
Show the operational consequence: which of your two numbers absorbs queue latency, what counts as containment executed on each surface you run, and why a password reset alone may not stop the clock.
Own the definitions as governed artefacts — written, versioned, with a named owner — because every boundary is a choice, and two organisations quoting the same MTTD may be measuring entirely different things.
## What each number measures A security operations function usually publishes three related spans, and the interview value is entirely in knowing where each one starts and stops. - **Dwell time** — the span from the adversary's first malicious action inside your estate to the point you knew you were compromised. It is measured on a *single* intrusion. - **MTTD (mean time to detect)** — the same span aggregated over a set of intrusions. Dwell and MTTD are not different measurements; MTTD is dwell with a statistic on top. - **MTTC (mean time to contain)** — from the detection boundary to the moment containment was executed. ## Choosing the detection start event There are three candidate dates, and only one of them is honest. The **first malicious action** is the start: the metric exists to say how long an intruder operated in your estate before you knew. The **earliest surviving log record** is not the start — retention policy decides what you can still see, not when the adversary began, and anchoring there quietly reports your log-rotation schedule as the intrusion's lifetime. The **first alert** is the most tempting and the most wrong: anchor there and every intrusion, however old, was detected in minutes, because you have redefined the metric as your own triage speed. ## Choosing the boundary between the two clocks MTTD's stop event and MTTC's start event must be the *same written-down event*. Two common choices are defensible: - the timestamp of the alert that was ultimately confirmed as the intrusion, or - the timestamp of the analyst's confirmed verdict on that alert. Pick one and apply it to every case. The choice decides which number absorbs queue latency: anchor on the verdict and the hours an alert sat unworked are inside MTTD; anchor on the alert and they are inside MTTC. Neither is free, and a SOC that defines the two clocks independently will either lose that time entirely or bill it twice. ## Choosing the containment stop event Containment stops when an action has *taken effect*, and the action differs by surface: a host isolated at the endpoint agent, a session plus refresh tokens revoked at the identity provider, a cloud access key disabled at the control plane, a service account's credential rotated, an egress block applied at the proxy. What does not count: a recommendation sent, a change ticket raised, an approval obtained, a maintenance window booked. Under a co-managed arrangement this is where the number quietly changes meaning — a provider whose contract stops its MTTC clock at 'containment recommended to the customer' is measuring advice latency, and the gap between the recommendation and the customer executing it belongs to you and is unmeasured unless you measure it yourself. ## Containment is not eradication Containment removes the adversary's *current* access. Eradication removes the *paths back* — a scheduled task, an added SSH key, a rogue OAuth grant, a malicious build still pinned in a deployment manifest. They are separate phases and separate clocks. This also produces a classic false stop event: resetting a password does not revoke an already-issued refresh token, a Kerberos ticket or an OAuth grant, so 'password reset at 14:02' is only a containment stop if you can show the derived credentials died with it. ## Why the definitions are the entire metric Because every one of these boundaries is a *choice*, two SOCs reporting 'MTTD: 9 days' may be measuring different things, and one SOC can improve its own number 40% quarter over quarter without detecting anything sooner. That is why the useful artefact is not the number but the per-case record behind it: the start date **and the source that anchored it**, the detection event and its source, the containment action with its timestamp and who performed it, and a flag for whether each date is directly evidenced or estimated. An interviewer asking this question is checking whether you know the metric is a definition before it is a measurement.
- Where exactly should the MTTD clock stop and the MTTC clock start, and what goes wrong if the two are defined separately?They must be one written event — either the confirmed alert's timestamp or the analyst's confirmed verdict. If they are defined separately, the hours an alert waits in a queue either vanish between the two clocks or are charged to both. Whichever you choose, say out loud which number absorbs triage latency, because that is the number a reviewer should challenge.
- A provider's contract stops the MTTC clock when it emails a containment recommendation. What does that number actually tell you?It tells you how fast the provider advises, not how long the adversary kept access. The span between the recommendation and your engineers executing it is real time in which the intruder is still operating, and it sits outside the contractual metric. Measure that gap yourself as a separate figure, and treat renegotiating the stop event to 'containment executed' as a contract issue, not a reporting one.
- Does the MTTC clock stopping mean the intrusion is over?No. Containment removes the access the adversary is using right now; it does not remove persistence — a scheduled task, an added key, a rogue OAuth grant, a malicious package version still in the deployment manifest. Eradication is a separate phase with its own clock, and the case is not closed until you can argue there is no path back.
A stopwatch is only as good as the line you agree to start it on. Timing a race from when the crowd noticed the runner rather than from the gun makes everyone look fast.
saying these in an interview costs you the question
- Says the detection clock starts when the alert fired
- Anchors the start on the oldest surviving log record
- Stops the containment clock when a ticket was assigned
- Treats containment and eradication as one milestone
- Reports dwell as the time from alert to case closure
- Thinks dwell time and MTTD measure different spans