Skip to content
Ciberia

What is an IOC (indicator of compromise) and how to use it effectively

An IOC, or indicator of compromise, is an observable piece of technical data, such as a file hash, an IP address, a domain or a registry key, that indicates a system may be compromised or under attack. It helps you detect and hunt for known threats, but it ages quickly: attackers can change many of these indicators with little effort.

Updated October 11, 2026 · 7 min read

What is an indicator of compromise (IOC)?

NIST defines indicators of compromise as technical artifacts or observables that suggest an attack is imminent or currently underway, or that a compromise may have already occurred. In practice, an IOC is something specific you can search for in your logs: the hash of a malicious executable, the IP address of a command and control (C2) server or a phishing domain.

IOCs come from three main sources: your own investigations, threat intelligence (commercial, from sharing communities or from government agencies) and the reports that vendors and researchers publish on specific campaigns.

What types of IOCs are there?

TypeExamplesWhere you look for it
File hashMD5, SHA-1 or SHA-256 of an executable, a document or a scriptEDR, antivirus, email gateway, sandbox
IP addressIP of a C2 server, or the source of a scan or brute-force attackFirewall, proxy, VPN and identity logs, NDR
DomainDomain used for phishing or malware downloads, or generated by an algorithm (DGA)DNS, proxy, email
URLSpecific download path or credential theft pageProxy, email gateway, browser
EmailSender, sending domain, subject line or attachment name used in a campaignEmail gateway and mailboxes
Host artifactsRegistry keys, scheduled tasks, services, mutexes, file paths and file namesEDR, system logs
Network artifactsAnomalous user agent, TLS fingerprint (JA3 or JA4), C2 URI patternProxy, NDR, firewall
Accounts and credentialsAccounts created by the attacker, credentials leaked by infostealersDirectory, identity logs, dark web intelligence

What is the difference between an IOC and an IOA?

An IOC describes a specific artifact left behind by an attack, usually one that is already known. An IOA (indicator of attack) describes a behavior: a sequence of actions that reveals the attacker's intent, whatever tool they use.

AspectIOCIOA
What it describesAn artifact: hash, IP, domain, registry keyA behavior: what runs, in what order and for what purpose
ExampleThe SHA-256 of a specific ransomware loaderAn Office document that launches PowerShell with an encoded command and then downloads a file
What it detectsKnown, already documented threatsNew variants of known techniques, even when the tools change
Shelf lifeShort, especially for IPs and domainsLong, because changing techniques costs the attacker more
RiskFalse negatives when the attacker changes the artifactMore false positives if the rule is too broad

The two complement each other. IOCs are quick to apply and provide a high-confidence signal when they match a reliable, recent source. IOAs, which are usually mapped to MITRE ATT&CK techniques, cover what does not yet have an IOC.

What is the Pyramid of Pain?

The Pyramid of Pain was proposed by David J. Bianco in 2013 (he added the hash level in 2014) to rank indicators by how much it costs the attacker to replace them once you detect and block them. From bottom to top:

  1. Hash values: trivial to change. Modifying a single byte of the file is enough to get a different hash.
  2. IP addresses: the attacker can change them with very little effort, for example by using another cloud server or a proxy.
  3. Domain names: somewhat more costly, because they have to be registered, paid for and hosted.
  4. Network and host artifacts: patterns in traffic or traces on the system. Detecting them forces the attacker to reconfigure or recompile their tools.
  5. Tools: if you detect the tool rather than a specific version, the attacker has to find or develop another one.
  6. TTPs (tactics, techniques and procedures): detecting how the attacker operates forces them to change the way they work, which is the most costly change of all.

The practical takeaway: IOCs at the bottom are useful and cheap to apply, but a detection program that stops there only slows down the least prepared attackers. The higher up the pyramid you detect, the more expensive the attack becomes for the adversary.

How are IOCs used in detection and threat hunting?

  • Real-time detection: you load IOCs into the EDR, firewall, proxy or SIEM so they trigger an alert or a block when they appear.
  • Retrospective search: when a new IOC is published, you search your historical data to see whether it was already in your environment before it became known. This is where your log retention period matters.
  • Alert enrichment: if an alert contains an IP or a hash that matches threat intelligence, its priority goes up and it gains context (threat actor, campaign, malware family).
  • Starting point for hunting: an IOC from a campaign leads you to the technique it uses. From there, you formulate a hypothesis and search for the behavior as well as the artifact.
  • Incident scoping: IOCs extracted from a compromised computer help you find other affected systems.

To exchange IOCs automatically, organizations use standards such as STIX (to describe them) and TAXII (to transport them), and platforms such as MISP. In the United States, for example, CISA offers the Automated Indicator Sharing (AIS) service, which participants connect to with a TAXII client to receive and share indicators in STIX format.

Do IOCs expire?

Yes, and forgetting this is one of the most common mistakes. An IP that is a C2 server today may host a legitimate service next week, especially with cloud providers and shared hosting. A domain may be taken over by researchers (sinkholed), or it may expire and end up registered by someone else. Blocking old indicators generates false positives and, in the worst case, cuts off legitimate services.

  • Store the last-seen date of each IOC, as well as the date it was added.
  • Define an expiration period by type. IPs lose value sooner, domains last somewhat longer, and hashes don't change, although they stop being useful when the attacker recompiles.
  • Assign a confidence level based on the source and lower it over time. Platforms such as MISP include decay models to automate this.
  • Check before blocking IPs that belong to CDNs, cloud providers or shared services. A single IP can serve thousands of legitimate sites.
  • Track false positives per indicator and retire the ones that only generate noise.

How Ciberia helps

Ciberia Intel brings together our own and third-party threat intelligence (threat actors, campaigns, malware families, vulnerabilities, IOCs and reports, as well as credentials stolen by infostealers and activity on the dark web and forums). Ciberia Threat Hunting starts from hypotheses based on MITRE ATT&CK and runs retrospective searches for persistence and lateral movement, and its findings become new detection rules. This moves detection toward behaviors, at the top of the Pyramid of Pain.

Frequently asked questions

What does IOC mean in cybersecurity?

IOC stands for indicator of compromise. It is an observable piece of data, such as a hash, an IP address, a domain or a registry key, that indicates a system may have been attacked or compromised.

Does a match with an IOC confirm that I have been attacked?

Not on its own. It is a signal that needs to be investigated: the IP may have changed hands, or the domain may have been sinkholed. Confirmation comes from reviewing the context, that is, what the computer did before and after the match.

Where can I get IOCs?

From your own incidents, from commercial and open threat intelligence sources, from sharing communities that use platforms such as MISP, and from reports by vendors and government agencies. Prioritize sources that state the date, context and confidence level of each indicator.

What is an IOA in cybersecurity?

An IOA, or indicator of attack, describes malicious behavior, such as dumping the memory of the LSASS process to steal credentials or deleting volume shadow copies. It detects the attack even if the attacker switches tools, because it focuses on what they do, whatever file they use.

What is the difference between an IOC and a YARA or Sigma rule?

An IOC is a specific piece of data. YARA and Sigma are formats for writing detection rules: YARA describes patterns in files, and Sigma describes patterns in logs. A well-written rule can detect an entire malware family or technique, something a single hash cannot do.

Our own threat intelligence.

Ciberia Intel matches actors, campaigns, malware and IOCs with what is happening in your organization.