Glossary
What is an IOC (Indicator of Compromise) — traces that reveal a breach
An IOC (Indicator of Compromise) is a trace left by a breach that already happened — a suspicious file hash, an attacker's IP or domain, an unusual process. The meaning and types, how to match them against your logs, and the limit (traces are reactive and easily changed) — explained defensively.
"How do I tell whether I've been breached?" — the clues are IOCs (Indicators of Compromise). Here's the meaning and types, how to use them, and why you shouldn't over-trust them — all defensively (no attack steps).
The main types of IOC
They split into four, by "where the trace lands."
| Type | Examples | Where you match it |
|---|---|---|
| Network | Attacker server IP/domain, C2 URL | Firewall / proxy / DNS logs |
| File | Malware SHA-256 hash, distinctive filename | EDR / antivirus / file listing |
| Host | Suspicious registry key, unfamiliar resident process | OS logs, process list |
| Behavior | Login at an unusual time/country, sudden bulk traffic | Auth logs, traffic monitoring |
IOC vs IOA — "trace" vs "behavior"
The common contrast is the IOA (Indicator of Attack). The difference shows both IOC's strength and its weakness.
IOC (Indicator of Compromise) = a trace of the result
- Evidence of what already happened (hashes, IPs)
- Can be matched mechanically against known-bad — fast
- But attackers change it easily (disposable)
- Inherently reactive
IOA (Indicator of Attack) = behavior in progress
- The flow of technique: privilege escalation → lateral move → exfiltration
- Catches it closer to real time
- Harder to change than a trace (it's the essence of the attack)
- Heavier to adopt — it needs understanding the mechanics
How "changeable" each is to the attacker (the pyramid of pain)
Even among IOCs, the effort an attacker needs to change one — i.e. how much it hurts them when you catch it — varies wildly. Lower is easier to change; higher is harder.
So matching hashes and IPs works fast but goes stale fast. The more you understand the technique (how they attack), the longer your defense lasts.
Using IOCs even at small scale
Even without a dedicated EDR or threat-intelligence subscription, there's a realistic minimum you can do.
Get IOCs from trusted sources
Match them against your logs and dependencies
On a hit, isolate and investigate
Record your own IOCs and fan out the check
This site's view: an IOC is a 'scorch mark after the fire' — the real goal is not burning
IOC matching matters, but it's inspecting the scorch marks after a fire. By the time a trace shows up, you're already breached. So on this site we keep IOC matching as an inspection tool, while putting the weight on a design that doesn't burn: least privilege, prompt patching (CVE monitoring), phishing-resistant MFA, and never storing secrets in plaintext. A defense that leans on reactive trace-matching is always a step behind. The power to "notice" via traces and the power to "prevent" traces from existing are two wheels you want together.
Read next
- Glossary: What is a CVE (the hole's identifier) · What is ransomware · What is phishing
- Recovery: Backup and recovery basics
FAQ
QWhat is an IOC?
Short for Indicator of Compromise — a trace left by a breach that already happened. Concretely: a suspicious file's hash, an attacker's destination IP or domain, a malicious URL, an unusual process or registry change. You keep these as a known-bad list and match them against your logs and devices to spot signs of compromise.
QHow is an IOC different from a CVE?
A CVE is 'where the hole is' (a vulnerability identifier); an IOC is 'is there evidence of a breach' (proof of attack). A CVE is what you patch; an IOC is what you check to see if you've already been hit. The order: close the hole via the CVE, then inspect for traces via IOCs.
QCan I defend with IOCs alone?
No. IOCs are inherently reactive, and attackers can swap file hashes and IPs cheaply. IOC matching is useful as a final check for known-bad, but the real defense is a design that doesn't burn (least privilege, prompt patching, phishing-resistant MFA) plus monitoring the harder-to-change 'behavior.'