IOC(失陷指标)是用来判断自己是否已被入侵的线索。本文从防御视角讲解它的含义与种类、用法,以及不可过度依赖的理由(不涉及攻击手法)。
IOC 的主要种类
按「痕迹留在哪里」大致分为 4 类。
| 种类 | 例子 | 在哪里比对 |
|---|---|---|
| 网络类 | 攻击者服务器的 IP/域名、C2 的 URL | 防火墙/代理/DNS 日志 |
| 文件类 | 恶意软件的 SHA-256 哈希、特征性文件名 | EDR/杀毒软件/文件清单 |
| 主机类 | 可疑的注册表键、陌生的常驻进程 | 操作系统日志・进程清单 |
| 行为类 | 与平时不同的时间/国家的登录、突发的大量通信 | 认证日志・通信量监控 |
IOC 与 IOA — 「痕迹」与「行为」
常被拿来对比的是 IOA(Indicator of Attack=攻击指标)。理解了二者的区别,就能看清 IOC 的长处与短处。
IOC(失陷指标)=结果的痕迹
- 已经发生之事的证据(哈希・IP 等)
- 能对已知恶意机械地命中=快
- 但攻击者可以轻易更换(用完即弃)
- 本质上是事后追溯
IOA(攻击指标)=进行中的行为
- 「权限提升→横向移动→对外发送」等手法的流程
- 能在接近实时的阶段察觉
- 比痕迹更难更换(因为它是攻击的本质)
- 需要理解其机理,因此落地较重
对攻击者而言的“更换难易度”(痛苦金字塔)
同样是 IOC,攻击者更换它的成本(=我们卡住它时的效果)也天差地别。越往下越容易更换,越往上越难更换。
也就是说,哈希和 IP 的比对见效快,但代价是很快就会过时。越是连手法(对方会怎么打过来)都理解到位地去防备,防御就越能持久。
小团队也能做的 IOC 用法
即使没有专门的 EDR 或威胁情报订阅,现实中也有可以做的事。
从可信来源获取 IOC
与自己的日志・依赖比对
一旦命中就隔离并调查
记录自己环境的 IOC 并检查其他终端
真实案例:用什么作为比对的线索
IOC 并不只有 IP 地址和哈希。在本站报道过的供应链事件中,软件包的「版本」本身就是首先要确认的对象。
| 事件 | 线索 | 用户确认了什么 |
|---|---|---|
| XZ Utils(2024 年) | 含有恶意代码的版本(5.6.0 和 5.6.1) | 自己的操作系统或容器中是否有这些版本。美国 CISA 建议降级到 5.4.6 等未被入侵的版本 |
| Codecov(2021 年) | 分发脚本的哈希(SHA-256)与官方值不一致 | 篡改是因为一家公司做了这项检查才被发现的。用户确认了自己在 CI 中运行它的时长,以及它能接触到哪些机密 |
| Trivy(2026 年) | 被恶意发布的版本(v0.69.4 等)以及公布的检查项目 | 在相关时间段内 CI 是否使用了这些版本或标签。如果使用了,就轮换所有认证信息 |
三个案例中,线索都是由被入侵的一方或当局公布的,而比对则由用户自己完成。官方通知一出来,先确认自己的环境中是否存在相同的版本或哈希。这就是 IOC 的基本用法。
IOC 有保质期
IETF 关于处理 IOC 的文档 RFC 9424(2023 年)描述了 IOC 从发现、评估、共享、部署、检测、响应到结束使用(end of life)的管理过程。之所以有最后这个阶段,是因为 IOC 会过时。
- 攻击者弃用的 IP 地址和域名,之后可能被正常服务重新使用。按旧清单拦截,可能会阻断正常通信
- 只改动一个字节就会得到不同的哈希,所以同一攻击的新构建版本不会命中
- 因此请记录每个 IOC 的日期和来源,并定期重新审视
如何在自己的环境中比对 IOC
即使没有专门的产品,也可以自己比对三类公开的 IOC:版本、哈希和域名。
- 版本:把锁文件贴进依赖漏洞扫描器,查看是否包含已知的恶意或有漏洞的版本。操作系统的软件包则用各自的命令确认版本,例如
xz --version - 哈希:用
sha256sum 文件名(Windows 上用certutil -hashfile 文件名 SHA256)计算下载文件的值,与官方值或公布的 IOC 对比 - 域名和 IP:在 DNS 日志和 Web 服务器访问日志中搜索公布的域名或 IP。没有日志的时间段无法检查,所以也要确认日志的保存期限
一旦命中,切离相关的终端、密钥或令牌,并转到上面的第 3 步。
本站的观点:IOC 用于事后确认入侵,首要目标是防止入侵
IOC 比对很重要,但它是在入侵发生之后检查痕迹的工作。等到能找到痕迹时,早就已经被入侵了。
所以本站把 IOC 比对作为排查工具保留在手,而把重心放在防止入侵的设计上:最小权限・迅速打补丁(CVE 监控)・抗钓鱼 MFA・不要把机密以明文存放。依赖事后痕迹比对的防御,永远会慢半拍。用痕迹察觉的能力和防止入侵的能力,两者都需要。
出处(一手资料)
- IETF RFC 9424, "Indicators of Compromise (IoCs) and Their Role in Attack Defence" (August 2023) — rfc-editor.org(IoC 的定义、痛苦金字塔、IoC 的生命周期与结束使用)
- US CISA, "Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094" (March 29, 2024) — cisa.gov(受影响版本与建议措施)
- Codecov 和 Trivy 的出处列在各事件的文章中
接下来阅读
- 术语:什么是 IOA(攻击指标) / 什么是 C2 / 什么是 EDR / 什么是 CVE(漏洞的标识符) / 什么是勒索软件 / 什么是钓鱼
- 案例:XZ Utils 后门事件 / Trivy 供应链攻击
- 检查自己的站点:如何检查网站或服务器是否被入侵
- 恢复:备份与恢复基础