Un IOC (Indicator of Compromise, en français indicateur de compromission) est un artefact observable dont la présence sur un système ou un réseau suggère - avec un niveau de confiance variable - qu'une intrusion ou une activité malveillante a eu lieu ou est en cours. Concept central de la threat intelligence et du threat hunting depuis les années 2000, formalisé par Mandiant (rapport APT1, 2013), il est la brique de base de la détection moderne en SOC : un hash de fichier malveillant, une IP de C2, un nom de domaine d'exfiltration, une chaîne dans une registry. La compréhension précise des IOC, de leurs catégories, formats et limites distingue l'analyste SOC junior de l'analyste mature.
1. Définition précise
Un IOC est une donnée observable qui :
- Peut être collectée automatiquement (scan, log parsing, EDR telemetry).
- Peut être comparée mécaniquement à un référentiel d'indicateurs connus.
- Permet, en cas de match, de conclure ou suspecter une compromission.
L'IOC est donc rétrospectif et déterministe. Il décrit un artefact connu, pas un comportement à reconnaître.
1.1 IOC vs IOA vs TTP
Souvent confondus :
| Notion | Sens | Exemple |
|---|---|---|
| IOC (Indicator of Compromise) | Artefact observable d'une compromission | Hash SHA256 4a7e... du fichier loader.exe |
| IOA (Indicator of Attack) | Indicateur d'une attaque en cours, plus comportemental | Processus enfant cmd.exe lancé par winword.exe |
| TTP (Tactics, Techniques, Procedures) | Méthode globale d'un attaquant, niveau MITRE ATT&CK | Lateral movement via Pass-the-Hash (T1550.002) |
Hiérarchie de valeur (selon David Bianco, voir §3) : TTP > IOA > IOC. Un attaquant change ses IOC en quelques minutes (recompile, change d'IP), ses TTP en quelques mois ou années (réécriture de l'arsenal).
1.2 Origine du terme
Popularisé par Mandiant dans les années 2010 avec le format OpenIOC (XML, désormais en déclin). Adopté par les CERTs, éditeurs antivirus, plateformes CTI. Aujourd'hui standard de fait dans tout SOC.
2. Catégories d'IOC
2.1 Atomic indicators
Indicateurs atomiques, valeur unique, faciles à matcher :
- IP source ou destination suspecte.
- Domaine de C2 (
evil-c2.example). - URL complète d'un kit d'exploit.
- Hash de fichier (MD5, SHA-1, SHA-256, imphash, ssdeep, TLSH).
- Adresse email d'expéditeur.
- Empreinte certificat TLS (subject, fingerprint, JA3/JA3S/JA4).
- Empreinte protocole (JA4H pour HTTP, JARM pour TLS server).
2.2 Computed indicators
Indicateurs calculés ou pattern-based :
- Règle YARA (signatures de fichier ou de chaîne).
- Regex sur user-agent, URL, body HTTP.
- Statistiques (entropie de fichier, taille de paquet, fréquence de requêtes).
2.3 Behavioral indicators
Au-delà de l'atomique, comportements observés :
- Séquence d'appels système (process injection patterns).
- Anomalies de trafic (DNS tunnel, beaconing périodique avec jitter).
- Combinaisons d'évènements Sigma / KQL (registry write + service create + scheduled task dans la même heure).
Borderline avec les IOA et TTP.
2.4 Tableau récap par couche réseau
| Couche | Exemples d'IOC |
|---|---|
| Réseau (L3-L4) | IP, ASN, géoloc, port suspect, JA3/JA4 |
| Réseau (L7) | Domaine, URL, user-agent, JA4H, certificat |
| From, Reply-To, X-Mailer header, hash pièce jointe | |
| Endpoint | Hash exécutable, chemin, nom de service, clé registry, scheduled task name |
| Identité | Compte créé suspect, nom utilisateur impersonation, SPN inhabituel |
| Cloud | API call inhabituelle, IAM role assumption, IP source distante |
| Application | Token compromis, cookie session volé, chaîne XSS connue |
3. La Pyramid of Pain (David Bianco, 2013)
Référence méthodologique majeure, qui hiérarchise les IOC selon la douleur infligée à l'attaquant si on les détecte.
▲ TTPs ◀ Très difficile
/ pour l'attaquant
/ Tools de changer
/
/ Network/Host artifacts
/
/ Domain Names
/
/ IP addresses
/
/ Hash values ◀ Trivial
/ de changer
/─────────────────
Plus on monte, plus l'IOC est durable et la détection coûteuse à contourner. Bloquer un hash : l'attaquant recompile en 2 min. Détecter une TTP (ex. Kerberoasting) : oblige à refaire toute sa kill chain.
Conséquence opérationnelle : une équipe SOC mature investit son énergie surtout en détections behaviorales et TTP (Sigma, règles propriétaires, threat hunting), même si elle continue à consommer des feeds d'IOC atomiques.
4. Sources et feeds d'IOC
4.1 OSINT et communautaires
- MISP : plateforme open source d'échange d'IOC entre communautés (CIRCL Luxembourg historique). Tableaux de bord, partage automatisé via TAXII.
- AlienVault OTX (LevelBlue) : feed communautaire gratuit.
- ThreatFox (abuse.ch) : IOC malware, gratuit, frais.
- URLhaus (abuse.ch) : URL malware.
- Feodo Tracker, MalwareBazaar, SSL Blacklist (abuse.ch) : feeds spécialisés.
- PhishTank : URL phishing.
4.2 Commerciaux
- Recorded Future, Mandiant Advantage, CrowdStrike Falcon Intelligence, Microsoft Defender Threat Intelligence, Anomali, Intel 471 : feeds premium.
4.3 Gouvernementaux
- CERT-FR (ANSSI) : alertes et IOC pour France.
- CISA (US) : alertes Joint Cybersecurity Advisories avec IOC.
- NCSC UK, BSI Germany : équivalents.
- MISP communautaires sectoriels : santé, finance, énergie.
4.4 Internes
Les IOC les plus précieux viennent souvent de votre propre IR : campagnes de phishing reçues, analyses post-incident, threat hunting interne. Ils caractérisent les acteurs qui ciblent votre organisation spécifiquement.
5. Formats standards
5.1 STIX 2.1 (Structured Threat Information Expression)
Standard OASIS, JSON, structuré. Modélise IOC, acteurs, campagnes, TTPs. Le format de référence en 2026.
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f",
"created": "2026-04-25T09:00:00.000Z",
"modified": "2026-04-25T09:00:00.000Z",
"name": "Malicious C2 IP",
"indicator_types": ["malicious-activity"],
"pattern": "[ipv4-addr:value = '192.0.2.42']",
"pattern_type": "stix",
"valid_from": "2026-04-25T09:00:00Z"
}5.2 TAXII (Trusted Automated Exchange of Intelligence Information)
Protocole de transport pour STIX. API HTTPS REST entre serveurs CTI.
5.3 MISP
Format JSON propre à MISP, avec son propre vocabulaire. Conversions STIX possibles.
5.4 OpenIOC
Format historique Mandiant (XML). En déclin, encore lu par certains outils.
5.5 Formats simples
- CSV plain : très utilisé pour partage rapide entre équipes.
- TXT : listes IP / domaines / hashes une par ligne, ingestion EDR/firewall.
- YARA : règles de fichier (pour matching disque ou mémoire).
- Sigma : règles de log (pour SIEM-agnostique).
- Snort / Suricata : règles réseau IDS.
6. Cycle de vie d'un IOC
Collecte ─► Enrichissement ─► Distribution ─► Usage ─► Expiration
│ │ │ │ │
OSINT, Whois, geo, MISP, EDR, matching TTL,
IR interne passive DNS, SIEM, FW → alerte archive
VirusTotal
6.1 Collecte
Réception de feeds, extraction d'analyses, ingestion d'IOC d'incidents internes.
6.2 Enrichissement
Ajout de contexte :
- Whois sur un domaine.
- Géolocalisation sur une IP.
- Passive DNS (DomainTools, SecurityTrails, Farsight) pour pivot.
- VirusTotal pour scoring + relations.
- MITRE ATT&CK mapping si TTPs liées connues.
6.3 Distribution
Push vers EDR, SIEM, firewall, proxy DNS, secure mail gateway.
6.4 Usage
- Matching live sur logs / events.
- Threat hunting rétrospectif (cherche-t-on l'IOC dans les 30 derniers jours).
- Correlation avec autres signaux.
6.5 Expiration
Critique. Un IOC périmé génère des faux positifs. Politiques typiques :
- Hash : long terme (un binaire malveillant reste malveillant).
- IP : court terme (recyclage rapide, surtout sur clouds publics). 7-30 jours typique.
- Domaine : moyen terme. 30-90 jours.
- URL : court à moyen terme.
Les feeds de qualité incluent un TTL (time-to-live).
7. Intégration SIEM, EDR, firewall
7.1 SIEM
Les IOC entrent comme lookup table ou threat intel feed :
- Splunk :
inputlookup,lookup, addons threat intel. - Microsoft Sentinel : Threat Intelligence connectors, table
ThreatIntelligenceIndicator. - Elastic SIEM : Threat Intel Filebeat module, indicator match rules.
- QRadar : X-Force Threat Feed, custom flows.
Patterns de règles :
// Microsoft Sentinel - exemple match IP
let ti = ThreatIntelligenceIndicator
| where ExpirationDateTime > now()
| where NetworkIP != "";
SecurityEvent
| join kind=inner (ti) on $left.IpAddress == $right.NetworkIP
| project TimeGenerated, IpAddress, Description, Computer7.2 EDR
- CrowdStrike, Microsoft Defender for Endpoint, SentinelOne, Palo Alto Cortex XDR : import direct STIX/TAXII ou CSV custom indicators.
- Action : block, alert, quarantine.
7.3 Firewall et proxy
- IP / domaine / URL ingérés comme blocklist dynamique.
- TTL respecté côté outil.
8. Limites et pièges
8.1 Faux positifs
- IP cloud public (AWS, Azure) recyclée d'un acteur malveillant à un usage légitime.
- Hash légitime publié à tort.
- Domaine d'un test interne sans whitelist.
Remède : whitelist interne stricte, TTL court sur indicateurs volatils, scoring de confiance.
8.2 Surface limitée
Un IOC ne décrit qu'un événement passé. Si l'attaquant a recompilé son loader entre-temps, le hash ne sert plus à rien. La défense moderne combine IOC + détection comportementale + threat hunting.
8.3 Privacy et juridique
Partager des IOC peut révéler indirectement qu'on a été compromis. Politique de partage à formaliser :
- TLP (Traffic Light Protocol) : rouge / orange / amber / green / clear / white. Standard FIRST.org.
- Consentement à l'ingestion / partage à clarifier en amont.
8.4 Volume
Les feeds publics produisent des millions d'IOC. Sans tri, le SIEM s'engorge. Curation et priorisation indispensables.
8.5 Obsolescence rapide
Un IOC sans expiration explicite devient toxique en 6-12 mois. Politique de purge automatique requise.
9. Outils notables 2026
| Outil | Rôle |
|---|---|
| MISP | Plateforme partage IOC (open source) |
| OpenCTI | Plateforme CTI moderne, STIX 2.1 native |
| Yeti | Plateforme CTI légère, open source |
| TheHive + Cortex | Case management + analyzers |
| VirusTotal | Pivot et enrichissement IOC |
| DomainTools / SecurityTrails / WhoisXML | Pivot domaine, passive DNS |
| Maltego | Investigation et visualisation |
| Hatching Triage / ANY.RUN / Joe Sandbox | Sandbox, extraction IOC malware |
| YARA + YARA-X | Signatures fichier |
| Sigma | Signatures log SIEM-agnostiques |
| STIX-Shifter | Conversion STIX vers requêtes SIEM |
10. FAQ
10.1 Quelle différence entre IOC et signature antivirus ?
Une signature AV est un type spécifique d'IOC (souvent hash + heuristiques). Le terme IOC est plus large : englobe IP, domaine, URL, registry, etc. Les feeds modernes vont au-delà du simple hash.
10.2 Combien de temps un IOC reste-t-il valide ?
Variable. Hash : potentiellement permanent (mais l'attaquant recompile). IP : 7-30 jours typique. Domaine : 30-90 jours. URL : courte. Toujours respecter le TTL fourni par le feed, et purger automatiquement.
10.3 Doit-on partager ses IOC internes ?
Souvent oui, dans un cadre TLP clair. Le partage rend la communauté plus résiliente. Nombreux ISAC sectoriels (FS-ISAC pour finance, H-ISAC pour santé, EE-ISAC pour énergie, etc.) facilitent cet échange.
10.4 IOC vs Sigma vs YARA - lequel utiliser ?
Pas un choix exclusif :
- IOC atomiques (IP, hash, domaine) : ingérer en blocklist EDR/firewall.
- YARA : matching sur fichiers (disque, mémoire, attachments).
- Sigma : règles de log corrélant des évènements (pattern de comportement).
Le SOC mature combine les trois.
10.5 Puis-je faire confiance aveuglément à un feed CTI gratuit ?
Non. Tout feed externe doit être :
- Validé par un sample (lookup VirusTotal, contexte).
- Whitelisté contre vos assets internes.
- Expiré automatiquement.
- Combiné à du scoring de confiance.
Aucun feed gratuit n'est sans faux positifs.
10.6 Comment commencer en threat intelligence si on est SOC junior ?
Trois étapes :
- Installer MISP (Docker), s'abonner à 2-3 feeds (CIRCL, abuse.ch ThreatFox).
- Lire les CERT-FR alerts et CISA Known Exploited Vulnerabilities (KEV) hebdomadairement.
- Faire 5 cas pratiques sur CyberDefenders ou LetsDefend intégrant analyse IOC + pivot.
À 3-6 mois, capacité à enrichir et opérer un feed CTI basique.
L'IOC reste la brique de base de la détection cyber en 2026, malgré les avancées sur les TTPs et le ML. Bien utilisé (avec TTL, whitelist, scoring, intégration multi-couches), il accélère drastiquement la détection et la réponse à incident. Mal utilisé (volume non trié, indicateurs périmés, pas de scoring), il devient une source majeure de bruit. La Pyramid of Pain rappelle l'arbitrage : investir d'abord dans les couches hautes (TTPs, behavioral) qui obligent l'attaquant à refondre son arsenal, puis compléter avec les IOC atomiques pour la couverture rapide. C'est exactement ce que font les SOC matures.


