The Account Behaved Normally — Compared With Everyone Except Its Peers
The account did not look compromised.
It signed in successfully.
It used familiar applications.
Its activity was not obviously destructive.
Compared with the user's own recent history, very little looked dramatic.
Then Agent Foskett changed the comparison.
He stopped asking whether the account looked unusual for itself — and asked whether it looked unusual for people who did the same kind of work.
That was when the behaviour changed meaning.

Normal for the User. Unusual for the Peer Group.
Behavioral context changes with the baseline. UEBA can compare activity with the entity's history, its peers and the wider organisation.
Normal is always relative to something
Microsoft Sentinel UEBA can enrich activity with context including whether an action is uncommon for the user, uncommon among peers or uncommon across the tenant.
“The user has done this before” is not the same thing as “this behaviour makes sense here.”
Start with the UEBA event
BehaviorAnalytics. Agent Foskett reviewed the account's recent behavioral events and investigation priority without treating the score as a verdict.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
let TargetUser = "alex.wilson@contoso.com";
BehaviorAnalytics
| where TimeGenerated > ago(14d)
| where UserPrincipalName =~ TargetUser
| project TimeGenerated,
UserPrincipalName,
ActivityType,
ActionType,
SourceIPAddress,
SourceIPLocation,
SourceDevice,
InvestigationPriority,
ActivityInsights,
UsersInsights
| order by TimeGenerated descThe event was not extraordinary by itself
No impossible-travel headline.
No destructive administrative action.
But the UEBA enrichment indicated that the action was uncommon among the user's peers.
The anomaly was contextual, not spectacular.
Inspect the peer-based insight
ActivityInsights field can contain enrichments such as ActionUncommonlyPerformedByUser and ActionUncommonlyPerformedAmongPeers. Agent Foskett extracted them so the reason for the difference was explicit.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
let TargetUser = "alex.wilson@contoso.com";
BehaviorAnalytics
| where TimeGenerated > ago(14d)
| where UserPrincipalName =~ TargetUser
| extend UncommonForUser =
tostring(ActivityInsights.ActionUncommonlyPerformedByUser),
UncommonAmongPeers =
tostring(ActivityInsights.ActionUncommonlyPerformedAmongPeers),
FirstTimeForUser =
tostring(ActivityInsights.FirstTimeUserPerformedAction)
| project TimeGenerated,
ActionType,
InvestigationPriority,
UncommonForUser,
UncommonAmongPeers,
FirstTimeForUser,
SourceIPAddress,
SourceDevice
| order by TimeGenerated descThe interesting combination
If an action has happened before, a first-time detector may never care about it.
But peer analysis adds another baseline.
History can say “seen before” while peer context says “still unusual here.”
Who are the user's peers?
Agent Foskett inspected the peer data rather than treating “uncommon among peers” as a black-box conclusion.
Inspect the calculated peer group
UserPeerAnalytics to inspect the records associated with the target user and then reviewed the returned peer information and ranking context.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
let TargetUser = "alex.wilson@contoso.com";
UserPeerAnalytics
| where TimeGenerated > ago(30d)
| where UserPrincipalName =~ TargetUser
| project TimeGenerated,
UserPrincipalName,
PeerInfo
| order by TimeGenerated descPeer groups are context — not an org chart
Did the user have a special project?
Had their role recently changed?
Was there a legitimate reason for activity their peers rarely performed?
Behavioral analytics narrows the question. The analyst still has to understand the business.
Add identity context
IdentityInfo provides identity context that can be correlated with hunting and investigation data. Agent Foskett used the latest record for the account.- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
let TargetUser = "alex.wilson@contoso.com";
IdentityInfo
| where AccountUPN =~ TargetUser
| summarize arg_max(TimeGenerated, *) by AccountObjectId
| project TimeGenerated,
AccountUPN,
AccountDisplayName,
Department,
JobTitle,
Manager,
GroupMembership,
AssignedRoles,
IsAccountEnabledThe business role made the anomaly stronger
That still did not prove compromise.
It raised the priority of the question.
Permission explains capability. Peer context helps explain whether the capability is normally exercised.
Return to the underlying security evidence
Behavioral analytics explained why the event deserved attention. The source telemetry still had to explain what happened.
UEBA prioritises the investigation. The source logs prove the actions.
Correlate the behavioral clue with sign-in evidence
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
let TargetUser = "alex.wilson@contoso.com";
let StartTime = datetime(2026-10-05 01:00:00);
let EndTime = datetime(2026-10-05 06:00:00);
SigninLogs
| where TimeGenerated between (StartTime .. EndTime)
| where UserPrincipalName =~ TargetUser
| project TimeGenerated,
UserPrincipalName,
IPAddress,
AppDisplayName,
Location,
ResultType,
AuthenticationRequirement,
ConditionalAccessStatus,
DeviceDetail,
CorrelationId
| order by TimeGenerated ascOne behavioral signal was not enough
A legitimate project, new responsibility or organisational change can create the same pattern.
Agent Foskett looked for corroboration in source context, targets, timing and surrounding actions.
Behavioral difference is a reason to investigate — not a conviction.
Build the behavioral timeline
What Agent Foskett checked
What the evidence can and cannot prove
BehaviorAnalytics stores enriched UEBA events and an InvestigationPriority value. ActivityInsights can describe whether actions are uncommon for the user, among peers or across the tenant. UserPeerAnalytics provides calculated peer context when available, while IdentityInfo adds identity information.None of those fields independently prove compromise.
UEBA tells the analyst where behaviour differs from expectations. The investigation still has to establish why.
The lesson
That was exactly why the case was interesting.
The account's activity could be explained when compared only with itself.
Its peers provided another baseline.
Normal behaviour depends on who — and what — you compare it with.
Agent Foskett used the behavioral difference as the starting point, then returned to the raw evidence.
Related investigations
Final thought
Sometimes activity remains just close enough to normal to avoid attention.
The user's own history is one baseline.
Their peers are another.
The organisation is another.
Agent Foskett changed the comparison — and the ordinary account stopped looking quite so ordinary.
The Logs Already Knew! 🔎

