Identity Security

    The Intrusion That Brings No Malware

    There is a kind of intrusion that arrives with nothing for an endpoint agent to find. No dropper, no implant, no command line worth alerting on. It arrives as a session that was issued to somebody else, and from the moment it is replayed every action it takes is an action the account was entitled to take. The detection problem this creates is not a gap in coverage. It is a mismatch between what the tooling was built to look for and what is actually happening.

    2026-10-0312 min readIdentity SecurityITDRAI SOCSpharaka Sphere™

    The part of the attack chain that stopped needing malware

    Multi-factor authentication did what it was supposed to do. It made the password, on its own, close to worthless. What followed was not a defeat of that control so much as a decision to stop attacking it: if the password is no longer the thing worth stealing, steal the thing authentication produces instead.

    That thing is a session. A browser cookie, a refresh token, an application access token, a device registration. It is the receipt the identity provider issues once it is satisfied, and it is designed to be replayed, because replaying it is what keeps a user from logging in forty times a day. An attacker holding one does not need the password and does not need the second factor, because both have already been presented.

    MITRE ATT&CK has carried names for this for years. T1539 is the theft of a web session cookie. T1550 is the use of alternate authentication material. T1621 is the generation of repeated multi-factor prompts until somebody approves one. T1098 covers the manipulation of the account afterwards, including the registration of a new device. None of those techniques requires a file to be written to disk.

    The payload is no longer a file on a laptop. It is a valid identity, and an endpoint agent has nothing to quarantine.

    Why a rule engine has nothing to match

    Detection content is written against two kinds of thing. The first is failure: a burst of denied logins, a blocked access, a privilege request that was refused. The second is known-bad: a hash, a domain, a command line, a signature somebody wrote down after seeing it before.

    A replayed session produces neither. It produces success, from a valid account, using an approved method, against a system the account is entitled to reach. There is no failure to count and no indicator to match, so the rule that was supposed to catch this never fires, and the absence of an alert is read as the absence of a problem.

    What does get generated is a long trail of individually unremarkable events. That trail is the detection opportunity and also the reason it is usually missed, because reading it requires holding several hundred ordinary events in mind at once and noticing that together they describe something nobody would do.

    • A successful sign-in, which the environment produces thousands of times a day.
    • A directory read, which any employee is permitted to perform.
    • A new authenticator registered, which is what happens every time somebody changes their phone.
    • A mailbox rule created, which users create for themselves constantly.
    • A file opened in a repository the account has always been able to open.
    What the rule engine was given, and what it was askedEvery line below is a successful operation performed by an account entitled to perform it.
    Log lineThe event, on its ownThe question the shift has to answerSign-inSuccessful authentication, approved method, known application.Was the person holding this session the person the session was issued to?Mail rule createdA user configured their own mailbox, which users do.Does this rule hide the replies to a message this account is about to send?Authenticator addedA registration event of the kind that follows every new phone.Did the account holder buy a phone, or did somebody else just take a key?File accessA permitted read of a repository the account can reach.Has this account ever read it before, and what else did it read in the same minute?

    Impossible travel is the crude version of a correct idea

    The instinct behind impossible travel is right: compare what happened against what normally happens for this account. The implementation is thin, because it compares one dimension, geography, inferred from an address that a corporate VPN, a mobile network or a cloud egress point will misreport several times a week.

    The result is a detection that produces false positives for every travelling executive and produces nothing at all for an attacker operating from the same city, the same country or the same cloud region. A control that is noisy against your own staff and quiet against your adversary is worse than no control, because it trains the shift to dismiss the category.

    The dimensions that actually separate a compromised session from its owner are less convenient and more durable: what this account's role normally reaches, the hours it has kept for months, whether the device has been seen before, which systems it touched and in what order, and above all what the session did once it was inside. Entry is the least interesting part of an identity intrusion. Behaviour after entry is where it declares itself.

    Where the signal actually livesNot in any one event. In the relationship between an account's activity and its own history.
    RoleWhat this account's peers do, and what it has never done
    HourThe working pattern this account has kept for months
    DevicePosture, registration age and whether it has been seen before
    ReachWhich systems, in which order, at what volume
    AfterWhat the session did once it was inside, not how it got in

    The investigation is the expensive part, again

    Suppose the alert does fire. Answering it requires evidence from four places at once: the identity provider, the endpoint the session claims to be running on, the cloud and SaaS applications the session reached, and the network path it took. No one of those four can answer the question on its own, which is why an identity investigation is among the most console-intensive work an analyst does.

    Done by hand it runs 60 to 90 minutes across five to twelve consoles, and it has to be done against a queue of more than eleven thousand alerts a day arriving into an average operation. The arithmetic decides the outcome before anybody reaches the ticket: most identity alerts are not investigated badly, they are investigated late.

    Late is the problem, because the other clock is short. Average breakout time for a criminal intrusion is 29 minutes, down from 98 minutes in 2021, and access changes hands between criminal specialists in a median of 22 seconds. An alert that waits an hour is not describing a situation that is still developing. It is describing one that has already moved.

    The hour the alert spends waiting, against the clock it is racingThe queue is not an inconvenience here. It is the whole exposure.
    11,000+Alerts a day into an average SOC, of which identity alerts are a fraction
    60 to 90 minA manual identity investigation across five to twelve consoles
    29 minAverage breakout time for a criminal intrusion, down from 98 minutes in 2021

    Figures as published elsewhere on this site: SOC alert volume, manual and autonomous investigation intervals, and criminal breakout and handoff times.

    What the hour looks like from the other side

    The sequence is worth reading as a defender rather than as an incident report, because the uncomfortable detail is that every step in it succeeds and none of it is unusual in isolation.

    Note in particular where the attacker stops depending on the stolen session. Once a second factor is registered against the account, revoking the original token achieves nothing: there is now an independent way in, obtained through a legitimate self-service flow that the organisation deliberately built to be easy.

    That is the window the investigation is racing. Not the moment of entry, which is already past, but the moment persistence is established, after which containment becomes a far larger piece of work.

    One compromised session, as it is actually experiencedNothing in this sequence fails. That is the point of it.
    T+0A session is replayedThe cookie was taken from a browser, not guessed. Authentication is not repeated because it already happened.
    T+3 minThe directory is readGroup membership, ownership, naming. All of it readable by any employee.
    T+11 minA second factor is addedAn authenticator registered against the account, so the session no longer matters.
    T+24 minReach widensRepositories and shares the account could always open, opened for the first time.
    T+40 minThe first alert is triagedBy which point the account has a persistent credential of its own.

    Illustrative. The sequence is composed from techniques named in MITRE ATT&CK, not from a single incident.

    Containment for an identity is not containment for a host

    The response actions that an endpoint-shaped process reaches for do not fit. Isolating the laptop does not end a cloud session created from a cookie that is now being replayed from somewhere else entirely. Resetting the password does not invalidate a refresh token that was issued before the reset. Disabling the account does not remove an application consent that an attacker granted to a third-party integration while they had control of it.

    Each of those is a different object with a different lifetime, and a containment that handles one and leaves the others is the kind of partial action that reads as closure in a ticket and is not closure in the environment.

    This is also why the verdict matters more than the alert. Mass session revocation across a tenant is disruptive enough that nobody does it on suspicion, so the action waits on somebody being confident. Confidence is produced by investigation, which brings the cost back to the same interval that everything else in this argument comes back to.

    • Revoke sessions and refresh tokens, not only the password.
    • Enumerate and remove authenticators, device registrations and application consents added during the window.
    • Check for mailbox rules and forwarding created while the session was live.
    • Re-enrol the human through a verified path, because every factor on the account is now of unknown provenance.
    What actually ends an identity intrusionEach rung undoes something the rung above it leaves in place.
    01Reset the passwordEnds nothing issued before the reset. The live session continues.
    02Revoke the sessionsKills the tokens, including refresh tokens, which is what the attacker is holding.
    03Remove what was addedAuthenticators, device registrations, application consents and mail rules created during the window.
    04Re-establish the humanVerified re-enrolment, because every factor on the account is now suspect.

    What an autonomous investigation does with an identity alert

    The distinction worth insisting on is between a system that summarises an identity alert and a system that investigates one. Summarisation reads the alert and writes a paragraph about it. The paragraph is fluent, and the analyst still has to open the four consoles to find out whether the thing described actually happened.

    An autonomous investigation performs the pivot instead. It gathers the account's own history and its peers', pulls the endpoint state for the device the session claims to be on, retrieves what the session reached in cloud and SaaS, reconstructs the order those things happened in, tests the obvious innocent explanations, and returns a verdict with the evidence attached rather than a confidence score with a prompt attached.

    Run that way, the work takes 60 to 120 seconds instead of 60 to 90 minutes, and it runs on every qualified identity alert rather than on the ones a person reached before the shift ended. The change is not that the analyst reads faster. It is that the analyst receives a finished investigation and spends their judgement on the decision, which is the part that was always worth a person.

    What to measure, and what to stop measuring

    Most identity security reporting measures coverage, because coverage is easy to count. The proportion of accounts with multi-factor enabled is a useful number and it is not a measure of detection, since every technique described here operates on accounts that have it.

    The numbers that describe whether an operation can actually handle this category are about time and completeness. How long from an identity alert to a decision. What proportion of identity alerts received a full cross-domain investigation rather than a glance at the sign-in log. How long from the decision to sessions actually being revoked. How many of these closed without a human, and how many of those closures were later found to be wrong.

    A programme that cannot answer those four questions is not measuring its exposure to this. It is measuring its enrolment.

    • Time from identity alert to verdict, not to acknowledgement.
    • Proportion of identity alerts that received evidence from identity, endpoint, cloud and network rather than one of the four.
    • Time from verdict to session revocation, which is a different number and usually a worse one.
    • Rate of autonomous closure, and the rate at which those closures were later reopened.

    The uncomfortable summary

    Identity became the primary route in because the defences around it worked. Strong authentication raised the cost of the front door enough that attackers started walking in with a receipt instead, and the receipt is honoured by design.

    What follows is not an argument for weakening those controls or for adding another one beside them. It is an argument that the detection for this category cannot be written as rules, because there is nothing that fails, and cannot be resolved by summarisation, because the expensive part is the pivot rather than the prose.

    It has to be an investigation, it has to span four domains at once, and it has to complete inside a window that is now measured in minutes. That is a capacity problem, and capacity is the one thing a longer rule set has never produced.

    Questions

    Frequently asked questions

    What is identity threat detection and response?

    The detection and investigation of intrusions that use legitimate accounts rather than malware. Because the attacker holds a valid session, there is no failed authentication and no known-bad indicator to match, so detection has to be built on how an account behaves against its own history and its peers', and response has to act on sessions, tokens, registrations and consents rather than on a host.

    Why does multi-factor authentication not stop these intrusions?

    Because the techniques operate after authentication has already succeeded. A stolen session cookie or refresh token is the receipt the identity provider issued once the second factor was presented, and replaying it does not require the factor again. MITRE ATT&CK describes the pattern as the use of alternate authentication material, T1550, alongside web session cookie theft, T1539.

    Why does impossible travel detection perform so poorly?

    It compares a single dimension, geography inferred from an address, which corporate VPNs, mobile networks and cloud egress points misreport routinely. It therefore fires on travelling staff and stays silent for an attacker operating from the same city or cloud region. The durable signals are role, working pattern, device history, the systems reached and the order they were reached in.

    Why is resetting the password not enough?

    A password reset does not invalidate sessions and refresh tokens issued before it, and it does not remove an authenticator, device registration, application consent or mailbox rule that the attacker added while they held the account. Each of those is a separate object with its own lifetime, and containment has to address all of them or the account remains reachable.

    How long does an identity investigation take?

    Performed manually it runs 60 to 90 minutes, because it requires evidence from the identity provider, the endpoint, the cloud and SaaS applications and the network path, typically across five to twelve consoles. Run by agents the same investigation completes in 60 to 120 seconds and runs on every qualified alert rather than on the ones a shift reached.

    What should a security team measure for this category?

    Time from identity alert to verdict, the proportion of identity alerts that received evidence from all four domains rather than one, time from verdict to session revocation, and the rate of autonomous closure alongside how often those closures were later reopened. Multi-factor enrolment is worth tracking and is not a detection measure, since these techniques operate on enrolled accounts.

    Next step

    See it running on your environment

    A walkthrough on your own estate, with your own detections, rather than a canned demo.