Join two sources and discover your key does not match
Task
Write a correlation across two log sources, find the rows that fail to join, and fix the normalisation rather than the rule.
Steps
- Write a correlation joining two sources on an identity and record the match rate in
lab/join-rate.mdas matched over attempted. - Extract the UNMATCHED values from each side into
lab/join-misses.csvassource,raw_value,canonical_valueand work out why they failed -- domain prefix, case, qualified versus unqualified, a service account shared by many actors. - Normalise to a canonical form at ingest, re-run, and record the new match rate.
- Repeat for a host join, and record what you used as the durable identifier rather than a hostname or an address.
- Write
lab/join-note.mdon why an address-based join needs a time-bounded lookup rather than a static mapping.
Verify
grep -Ec '[0-9]+' lab/join-rate.md
awk -F, 'NR>1 {n++} END {print n" unmatched value(s) analysed"}' lab/join-misses.csv
grep -Eci 'canonical|normalis|normaliz' lab/join-misses.csv lab/join-note.md 2>/dev/null
grep -Eci 'lease|time-bounded|nat|dynamic' lab/join-note.md
Match rates recorded BEFORE and AFTER, with the second higher, and the unmatched values analysed. Correlation capability is determined at ingest: a rule that cannot join is discovering a decision made when the sources were onboarded.
This is an independent study companion for CompTIA SecurityX CAS-005 and is not produced by or endorsed by CompTIA.