BEACON TIMING
JITTER
RITA
AUTOCORRELATION
DetectionBlue TeamSOCOctober 12, 2026•9 min read

Statistical Beacon and Jitter Analysis

Encryption hides the payload; it cannot hide the rhythm. Timing analysis is the one C2 signal that works no matter what is inside the packets.

Scroll

The most durable C2 signal is temporal: a beacon checks in on a schedule, even with jitter, while human traffic is bursty and irregular. Statistical analysis of connection inter-arrival times, data-size consistency and periodicity exposes beacons regardless of protocol or encryption. This page covers the maths and the tooling.

Signals at a Glance

MetricBeacon behaviourTool
Inter-arrival time varianceLow (tight) even with jitterRITA, custom
Data-size consistencyRepeated similar request sizesRITA, Zeek
Connection count over timeHigh, sustained to one destZeek conn.log
Autocorrelation / FFT peakStrong periodic componentCustom analytics

Measuring the Rhythm

Group connections by (source, destination) and analyse the series of inter-arrival deltas. A beacon with jitter still clusters tightly relative to its mean; RITA scores exactly this. A from-scratch version in KQL:

// KQL: beacon score from inter-arrival variance + size consistency
let conns = NetworkFlows
| order by SrcIp, DstIp, TimeGenerated asc
| serialize
| extend delta = datetime_diff('second', TimeGenerated, prev(TimeGenerated))
| where prev(SrcIp)==SrcIp and prev(DstIp)==DstIp;
conns
| summarize n=count(), meanDelta=avg(delta), sdDelta=stdev(delta),
            sizeModes=dcount(SentBytes)
          by SrcIp, DstIp
| where n > 20 and meanDelta > 20
| extend timeScore = 1.0 - (sdDelta / meanDelta)      // closer to 1 = tighter
| extend sizeScore = 1.0 / sizeModes                  // fewer sizes = more beacon-like
| extend beaconScore = (timeScore + sizeScore) / 2
| where beaconScore > 0.75
| order by beaconScore desc

For jitter that randomises within a window, autocorrelation or an FFT over the inter-arrival series reveals the underlying period even when raw variance looks loose — a peak at the beacon interval stands out from noise.

Operational Notes

Vetted sources

RITA (Active Countermeasures) over Zeek conn.log is the reference open-source implementation of beacon scoring. AC-Hunter and several SIEM content packs build on the same maths. Baseline and allowlist benign periodic traffic before alerting, and always hand analysts the enrichment alongside the score.

Build Detections That Fire

Mjolnir Security helps blue teams turn threat intelligence into high-fidelity detections across endpoint, network, identity and cloud telemetry.

Detection EngineeringManaged Detection & ResponseThreat HuntingIncident ResponsePurple Teaming
  • Detection Engineering We build and tune detections mapped to ATT&CK from your own telemetry.
  • Threat Hunting as a Service Hypothesis-driven hunts for the behaviours on this page.
  • 24/7 Incident Response Containment when a detection fires. Call +1 833 403 5875.
Written by: Mjolnir Threat Research (MTAC)  |  Published: October 12, 2026  |  Last reviewed: October 12, 2026