hafsakhan6/Cyber-Threat-Intelligence-Pipeline-CCP-

GitHub: hafsakhan6/Cyber-Threat-Intelligence-Pipeline-CCP-

基于 Kafka 微服务架构的网络威胁情报管道,自动聚合外部 IOC 数据并进行严重性评分富化与实时可视化展示。

Stars: 0 | Forks: 0

# 网络威胁情报 Pipeline (CCP) ![项目状态](https://img.shields.io/badge/Status-Completed-success) ![版本](https://img.shields.io/badge/Version-1.0.0-blue) ![架构](https://img.shields.io/badge/Architecture-Microservices-orange) ## 📋 项目信息 * **课程:** 软件构建与开发 * **讲师:** Nabeel Ahmad Awan 博士 * **院系:** IT 与 CS 学科(软件工程) * **机构:** PAF-IAST * **提交日期:** 2026 年 5 月 1 日 ## 👥 团队成员 | 姓名 | 学号 | | :--- | :--- | | **Hamza Badshah** | B23F0352SE016 | | **Hammad Tahir** | B23F0649SE087 | | **Hafsa Khan** | B23F0580SE009 | | **Aman Sajid** | B23F0107SE081 | | **Esha Chatta** | B23F0403SE077 | ## 🚀 简介 **Cyber Threat Intelligence Pipeline (CCP)** 是一个高度可扩展、事件驱动的微服务系统,旨在实时摄取、分析和可视化网络威胁指标。现代安全运营中心 (SOCs) 面临着海量的数据;该管道自动聚合来自 **AbuseIPDB** 和 **AlienVault OTX** 等全球数据库的原始失陷指标,在将其提供给实时仪表板之前,使用严重性评分对其进行富化。 ## 🏗️ 系统架构 系统采用解耦的微服务架构,以 **Apache Kafka** 作为中央消息代理。 ``` graph TD A[AbuseIPDB / AlienVault] -->|REST API| B[Ingestion Service :8080] B -->|Publish Raw JSON| C[Kafka: raw-iocs] C -->|Consume| D[Extraction Service :8082] D -->|Enrichment| E[Ranking Service] E -->|Persistence| F[(MySQL DB)] F --> G[Threat API Service :8083] G -->|Fetch Data| H[SOC Web Dashboard] ``` ### 核心优势: * **可扩展性:** 服务可以独立扩展。 * **容错性:** 如果数据库或消费者服务离线,Kafka 会缓冲数据。 * **多语言就绪:** 未来的模块(例如 Python ML)可以轻松集成。 ## 🛠️ 技术规范 ### 1. 摄取服务 (端口 8080) * **角色:** 数据生产者。 * **实现:** 通过 `RestTemplate` 从外部源获取数据。 * **来源:** AbuseIPDB (v2 黑名单) 和 AlienVault OTX (v1 脉冲)。 * **输出:** 将原始 payload 发布到 `raw-iocs` Kafka topic。 ### 2. 提取与处理服务 (端口 8082) * **角色:** 数据消费者与富化。 * **逻辑:** 使用 `@KafkaListener` 摄取数据,通过 Jackson 验证 JSON,并过滤格式错误的指标。 * **评分服务:** 为每个威胁生成确定性的“富化严重性评分” (0-100)。 * **持久化:** 通过 Hibernate/JPA 将对象保存到 MySQL。 ## 📊 数据建模 MySQL 数据库将威胁数据存储在 `iocs` 表中: * `id`: 主键 (自增) * `ioc_value`: 恶意 IP/域名 * `ioc_type`: 分类 (例如,"IP") * `severity_score`: 整数 (0-100) * **来源:** 来源 API (AbuseIPDB 或 AlienVault) * **创建时间:** 由数据库处理的自动时间戳。 ## 💻 展示层:SOC 仪表板 原生 **暗色主题终端** 仪表板,构建使用: * **Vanilla JavaScript:** 为速度和低开销进行了优化。 * **Async/Await Fetch:** 持续轮询以获取实时更新。 * **KPI 引擎:** 实时计算“关键量”和“来源分布”。 * **动态 UI:** 对高严重性威胁(分数 > 80)使用霓虹红色高亮。 ## ⚙️ 部署与运维指南 请按照以下严格的启动顺序进行本地执行: 1. **基础设施:** * 启动 **WAMP Server** (MySQL 端口 3306)。 * 启动 **Apache Kafka** (`kafka-server-start.bat`)。 2. **消费者:** * 运行 **Extraction Service** (端口 8082)。 * 运行 **Threat API Service** (端口 8083)。 3. **前端:** * 在 Web 浏览器中打开 `index.html`。 4. **生产者:** * 运行 **Ingestion Service** (端口 8080)。 * 触发 `/ingest` endpoint 以启动数据流。 ## 🔮 未来展望 * **容器化:** 完整的 Docker 与 Kubernetes 编排。 * **ELK Stack:** 与 Elasticsearch/Kibana 集成以进行历史分析。 * **ML 集成:** 使用基于 Python 的 Kafka 消费者进行异常检测模型构建。 © 2026 CCP 团队 - 软件工程系,PAF-IAST。
标签:AbuseIPDB, Apache Kafka, Apex, IoC, IP 地址批量处理, JS文件枚举, Python, REST API, 事件驱动架构, 仪表盘, 分布式系统, 后端开发, 响应大小分析, 失陷指标, 威胁分析, 威胁情报, 安全运营中心, 密码管理, 开发者工具, 微服务架构, 数据丰富, 数据接入, 数据管道, 无后门, 机器学习, 消息队列, 网络安全, 网络映射, 自动化侦查工具, 软件工程, 软件成分分析, 隐私保护