conceptDetection Engineering~5 min readUpdated May 11, 2026#cybersecurity#detection-engineering#attack-path#kill-chain#correlation

Attack Path Correlation and Kill Chain Observability

Definition

Attack path correlation is the detection and reconstruction of relationships between events across an adversary sequence, such as recon, exploitation, persistence, privilege escalation, lateral movement, collection, and exfiltration.

Why it matters

Modern detection often detects relationships between events, not isolated events. A single failed login, scan, PowerShell launch, cloud API call, or outbound TLS connection may be weak. The sequence can be decisive.

Kill-chain and ATT&CK models are useful because they force defenders to ask how one event changes the meaning of another. They are limited because real attacks loop, skip stages, use legitimate workflows, and cross identity, endpoint, network, cloud, and SaaS boundaries.

How it works

Attack path observability uses 6 correlation layers:

  1. Stage mapping. Group events by purpose: recon, initial access, execution, persistence, privilege escalation, defense evasion, credential access, discovery, lateral movement, collection, exfiltration.
  2. Entity stitching. Track users, devices, process trees, IPs, sessions, cloud resources, tokens, and service accounts.
  3. Time-window correlation. Link weak signals within plausible attack tempo.
  4. Multi-sensor joins. Combine EDR, Zeek, Suricata, NetFlow, identity, cloud, proxy, DNS, application, and ticket/change data.
  5. Graph reasoning. Model relationships: user -> host -> process -> destination -> credential -> cloud role -> data store.
  6. Timeline reconstruction. Build a chronological evidence chain that explains what happened and what remains uncertain.

Example:

09:00 external scan finds /admin
09:12 web exploit probe returns 500
09:14 web process launches shell
09:16 host contacts metadata endpoint
09:22 new cloud API calls enumerate storage
09:40 unusual egress to external host

No single event proves the whole incident. The path does.

Techniques / patterns

  • Weak-signal accumulation. Elevate combinations that are low severity alone but high meaning together.
  • Alert chaining. Connect alerts by shared host, user, process, IP, cloud resource, or session.
  • Identity pivot tracking. Follow account use across hosts, VPN, cloud, SaaS, and privileged actions.
  • Process lineage timelines. Track parent-child chains and network/file side effects.
  • Graph-based detection. Detect unusual traversals through identity, network, host, and data-access graphs.
  • Kill-chain coverage mapping. Identify which stages have telemetry and which are blind.

Attacker perspective

Attackers think in paths. They may start with recon, exploit a service, obtain credentials, move laterally, escalate privileges, persist, collect, and exfiltrate. They also loop: failed exploit leads to more recon; discovered credentials lead to new paths; cloud identity changes the route.

They try to break correlation by stretching time, changing accounts, moving through shared infrastructure, using legitimate tools, and crossing telemetry boundaries.

Defender perspective

Defenders need to reconstruct paths under uncertainty. A good detection program does not require every stage to fire. It accumulates weak signals and provides an analyst with a timeline, entities, missing evidence, and next pivots.

Detection and engineering tradeoffs

  1. Single-event precision vs sequence recall. Single events can be precise but miss slow chains. Sequences catch more but risk false joins.

  2. Short windows vs attacker dwell time. Short windows reduce noise; long windows catch realistic attack tempo.

  3. Graph richness vs operational complexity. Graph models reveal paths but require strong entity resolution and data quality.

  4. Stage models vs real attacks. Kill chains and ATT&CK help structure thinking, but attackers do not obey clean order.

  5. Automation vs analyst judgment. Automated chaining can prioritize, but analysts must validate causality and scope.

Detection and defense

Ordered by effectiveness:

  1. Define attack paths worth detecting. Start with high-risk paths: public exploit to shell, phishing to token abuse, internal scan to lateral movement, cloud metadata to storage access.

  2. Instrument joins before writing chain rules. Correlation needs stable users, hosts, process IDs, cloud IDs, flow IDs, timestamps, and asset context.

  3. Use weak signals as chain components. Low-confidence alerts become useful when they precede or follow related behavior.

  4. Build timeline outputs. Detections should produce evidence an analyst can read: ordered events, entities, confidence, gaps, and recommended pivots.

  5. Test against simulated paths. Use generated logs or lab exercises to verify whether each stage is observable and whether the chain fires.

What does not work as a primary defense

  • Single-event detection only. Many attacks look benign one event at a time.
  • Rigid kill-chain order. Real intrusions loop, skip, and parallelize stages.
  • ATT&CK mapping without telemetry. Technique names do not create visibility.
  • Graph analytics with bad identity joins. Wrong joins produce persuasive false narratives.
  • Ignoring missing stages. A partial timeline should name telemetry gaps instead of pretending certainty.

Operational misconceptions

  • "One alert equals one incident." Incidents are often event clusters.
  • "No exploit alert means no compromise." Initial access may be missed while later behavior is visible.
  • "Kill chain means linear." It is a thinking model, not a law of attack physics.
  • "Graph detection is automatic context." Graphs are only as good as entity resolution and timestamps.

Modern limitations

  • Cloud, SaaS, endpoint, and network logs have different delays and identifiers.
  • Long dwell times challenge retention and correlation windows.
  • Attackers use legitimate identities and admin tools, creating ambiguous paths.
  • Privacy and cost constraints may limit full timeline reconstruction.

Telemetry blind spots

  • Missing identity logs, absent endpoint coverage, no east-west visibility, short retention.
  • No stable process IDs or cloud resource IDs.
  • NAT/proxy collapse that hides source identity.
  • SaaS audit logs that omit data-object detail.
  • Clock skew between sensors.

Practical labs

Use generated timeline data only.

Lab 1 - Reconstruct an attack timeline

Objective: Build a sequence from simulated logs.

cat > /tmp/attack-path.jsonl <<'EOF'
{"ts":"2026-05-11T09:00:00Z","stage":"recon","entity":"198.51.100.10","event":"scan /admin on web-1"}
{"ts":"2026-05-11T09:12:00Z","stage":"exploit","entity":"web-1","event":"POST /upload returns 500 then web process spawns sh"}
{"ts":"2026-05-11T09:16:00Z","stage":"credential_access","entity":"web-1","event":"curl 169.254.169.254 metadata token"}
{"ts":"2026-05-11T09:22:00Z","stage":"discovery","entity":"cloud-role-web","event":"ListBuckets and GetCallerIdentity"}
{"ts":"2026-05-11T09:40:00Z","stage":"exfiltration","entity":"cloud-role-web","event":"large object reads then external upload"}
EOF
jq -r '[.ts,.stage,.entity,.event] | @tsv' /tmp/attack-path.jsonl | sort

Expected telemetry: the timeline shows a path from recon to cloud data access. Defenders would observe stage relationships, not just isolated events. Limitation: simulated causality must be validated in real logs. Misconception corrected: "single alerts are sufficient."

Lab 2 - Chain weak signals by entity

Objective: Show weak-signal accumulation.

cat > /tmp/weak-signals.jsonl <<'EOF'
{"host":"web-1","signal":"rare 500 after upload","score":1}
{"host":"web-1","signal":"web process spawned shell","score":3}
{"host":"web-1","signal":"metadata endpoint access","score":3}
{"host":"web-1","signal":"new cloud API sequence","score":2}
{"host":"dev-1","signal":"single 404 on admin path","score":1}
EOF
jq -s 'group_by(.host)[] | {host:.[0].host,total:(map(.score)|add),signals:map(.signal)} | select(.total>=5)' /tmp/weak-signals.jsonl

Expected telemetry: weak signals become high priority when accumulated on one entity. Limitation: scoring must be calibrated. Misconception corrected: "low severity means ignore."

Practical examples

  • External scan followed by exploit attempts and EDR shell spawn on the same web server.
  • VPN login from unusual geography followed by internal SMB discovery and privileged group changes.
  • Cloud metadata access followed by new storage enumeration and large object reads.
  • Phishing click followed by OAuth consent, mailbox rule creation, and external forwarding.
  • Nmap scan followed by version-specific exploit paths from the same process lineage.

Suggested future atomic notes

  • attack-graph-detection
  • identity-pivot-tracking
  • timeline-reconstruction-for-incident-response
  • weak-signal-correlation

References

  • Foundational: MITRE ATT&CK Tactics - https://attack.mitre.org/tactics/enterprise/
  • Foundational: MITRE ATT&CK Detection Strategies - https://attack.mitre.org/detectionstrategies/
  • Research / Deep Dive: Elastic Higher-Order Detection Rules - https://www.elastic.co/security-labs/higher-order-detection-rules
  • Telemetry Schema: Microsoft Defender XDR DeviceNetworkEvents - https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table