用途
本技能用于构建基于 MISP 的威胁情报源聚合能力。MISP 是领先的开源威胁情报平台,用于收集、存储、分发和共享网络安全指标与威胁情报。它可将来自 OSINT 来源、商业提供商和共享社区的情报源聚合到统一平台,具备自动关联、STIX/TAXII 导出以及与 SIEM 和安全工具直接集成的能力。本技能覆盖通过 Docker 部署 MISP、配置 abuse.ch、AlienVault OTX、CIRCL 等来源的情报源、设置自动源同步,以及与 Splunk、Elasticsearch 和 SOAR 平台集成。
适用时机
- 在环境中部署或配置 MISP 威胁情报源聚合能力时
- 建立符合合规要求的安全控制时
- 为该领域构建或改进安全架构时
- 开展需要此实现的安全评估时
前置条件
- Docker 与 Docker Compose 用于部署
- Python 3.9+ 及 pymisp 库用于 API 交互
- 生产部署需 8GB+ 内存的 Linux 服务器
- 理解 IOC 类型与威胁情报生命周期
- 可访问外部情报源 URL 的网络
核心概念
MISP 架构
MISP 将威胁情报存储为 Event(事件),其中包含按类型和类别组织的 Attribute(属性,即 IOC)。事件可带有 Tag(标签,如 MITRE ATT&CK、TLP 标记、行业标签)、Galaxy(星系,如威胁行为者画像、恶意软件家族、攻击模式)和 Object(对象,即相关属性的结构化分组)。事件在实例内自动关联。
情报源类型
MISP 支持三种源格式:MISP 格式(原生 JSON 事件)、CSV(逗号分隔的 IOC)和 freetext(非结构化文本,自动提取 IOC)。源可以是远程(从 URL 抓取)或本地(上传文件)。MISP 自带 80+ 默认 OSINT 源,包括 abuse.ch URLhaus、Botvrij、CIRCL OSINT 和恶意流量分析源。
共享与同步
MISP 实例之间可通过推送/拉取机制同步。共享组控制分发范围(仅组织、本社区、已连接社区、所有社区)。TAXII 服务器模块支持与 STIX/TAXII 消费者集成。
使用方式
步骤 1:用 Docker 部署 MISP
提供 docker-compose.yml,包含 misp、misp-db(MySQL 8.0)、misp-redis(Redis 7)三个服务,映射 443/80 端口,通过环境变量配置数据库连接、管理员邮箱与密码、基础 URL、邮件中继和时区,并挂载数据、配置和数据库卷。
步骤 2:通过 PyMISP API 配置情报源
提供 MISPFeedManager 类,包含:
- list_feeds():列出所有已配置源,统计启用/禁用数量
- enable_default_feeds():启用推荐默认 OSINT 源(CIRCL OSINT Feed、Botvrij.eu、abuse.ch URLhaus Host file、abuse.ch Feodo Tracker、abuse.ch SSL Blacklist、malwaredomainlist、CyberCure - IP Feed)
- add_custom_feed():添加自定义源,可指定名称、URL、提供商、格式、输入来源、启用状态、缓存、发布和分发范围
- fetch_all_feeds():触发所有已启用源的抓取
示例中连接 MISP 后启用默认源、添加 Abuse.ch MalwareBazaar Recent 自定义源并触发抓取。
步骤 3:搜索与关联指标
提供 search_indicators() 函数,支持按值、属性类型、标签和最近天数搜索,默认仅搜索已发布且启用警告列表的指标,并按事件分组返回属性与标签上下文。示例包括按具体 IOC、按 ip-dst 类型、按 tlp:white 与 type:OSINT 标签搜索。
步骤 4:导出到 SIEM(Splunk / Elasticsearch)
提供 MISPSIEMExporter 类:
- export_to_splunk():通过 Splunk HEC 导出近期 MISP 指标,构造包含 ioc_type、ioc_value、category、event_id、timestamp、tags 的事件,指定 sourcetype、source 和 index
- export_ioc_list():导出扁平 IOC 列表用于防火墙/代理封禁列表,支持指定 IOC 类型和天数,去重排序后写入文件
验证标准
- MISP 已部署,可通过 Web 界面和 API 访问
- 默认 OSINT 源已启用并抓取数据
- 自定义源已添加并摄入指标
- 指标可搜索并跨事件关联
- IOC 成功导出到 SIEM(Splunk/Elasticsearch)
- 已生成用于防火墙/代理集成的封禁列表
限制
资料未提供 MISP 的收费、价格、性能上限、具体平台兼容性细节或效果保证。生产部署需 8GB+ 内存的 Linux 服务器,且需网络可访问外部情报源 URL。示例中的密码、API 密钥和 URL 均为占位符,需替换为实际值。