sbasharjr/CTI-sHARE-A-Semantic-AI-Framework-for-Cyber-Threat-Intelligence-Analysis-and-Sharing-in-SMEs
GitHub: sbasharjr/CTI-sHARE-A-Semantic-AI-Framework-for-Cyber-Threat-Intelligence-Analysis-and-Sharing-in-SMEs
面向中小企业的语义 AI 驱动网络威胁情报实时检测、分析与共享框架。
Stars: 1 | Forks: 0
# 面向中小企业的网络威胁情报分析与共享语义 AI 框架 CTI-sHARE
一个用于实时网络威胁检测、分析和情报共享的综合机器学习与深度学习框架。
## 概述
本框架利用先进的机器学习、深度学习和语义分析等人工智能技术,实时检测、分类和响应网络威胁。它为各类组织提供了一套完整的解决方案,通过自动化的威胁情报来增强其网络安全防御态势。
## 核心功能
### 1. **机器学习模型**
- 随机森林分类器
- 支持向量机 (SVM)
- 梯度提升
- 朴素贝叶斯
- 支持交叉验证和超参数调优
### 2. **深度学习模型**
- 用于序列威胁分析的双向 LSTM
- 用于威胁数据模式识别的 CNN
- **Transformer 模型 (BERT, GPT)** 用于高级 NLP
- **图神经网络** 用于关系分析
- 带有 Dropout 和正则化的自定义架构
- 早停机制和模型检查点
### 3. **语义分析**
- 威胁分类(恶意软件、网络钓鱼、DDoS、数据泄露、APT 等)
- 实体提取(IP、域名、哈希值、电子邮件、CVE)
- 威胁相似性分析和聚类
- 严重程度评估(CRITICAL、HIGH、MEDIUM、LOW、INFORMATIONAL)
- 趋势分析和报告
### 4. **实时威胁检测**
- 异步威胁处理
- 多线程检测引擎
- 警报生成与监控
- 可配置的检测阈值
- 事件回调和通知
- **自动化威胁响应**,支持自定义规则
- **基于 Web 的仪表盘**,用于数据可视化
- **多语言支持**(8 种以上语言)
### 5. **威胁情报共享**
- 用于威胁提交和检索的 RESTful API
- 搜索和过滤功能
- 实时威胁分析端点
- 统计和报告
- 启用 CORS 以支持 Web 集成
- **联邦学习**,用于隐私保护的协同合作
- **基于区块链的验证**,确保记录不可篡改
- **SIEM 集成**(Splunk、QRadar)
## 架构
```
Dataset-Semantic-Framework/
├── src/
│ ├── preprocessing/ # Data preprocessing and feature extraction
│ ├── models/ # ML and DL models
│ ├── semantic_analysis/ # Semantic threat analysis
│ ├── realtime/ # Real-time detection engine
│ ├── threat_sharing/ # API for threat sharing
│ └── utils/ # Utility functions
├── config/ # Configuration files
├── examples/ # Usage examples
├── tests/ # Unit and integration tests
├── data/ # Data storage
│ ├── raw/ # Raw threat data
│ └── processed/ # Processed data
└── docs/ # Documentation
```
## 安装说明
### 前置条件
- Python 3.8 或更高版本
- pip 包管理器
- 虚拟环境(推荐)
### 设置
1. 克隆仓库:
```
git clone https://github.com/sbasharjr/CTI-sHARE-AI-driven-Semantic-Framework-for-Advanced-Cyber-Threat-Analysis-and-Sharing.git
cd CTI-sHARE-AI-driven-Semantic-Framework-for-Advanced-Cyber-Threat-Analysis-and-Sharing
```
2. 创建并激活虚拟环境:
```
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. 安装依赖:
```
pip install -r requirements.txt
```
4. 下载 NLTK 数据(文本处理所需):
```
python -c "import nltk; nltk.download('stopwords'); nltk.download('punkt'); nltk.download('wordnet')"
```
### Docker 部署
部署该框架最简单的方法是使用 Docker:
#### 使用脚本快速启动
```
# 使脚本可执行(仅限首次)
chmod +x docker-start.sh
# 启动框架
./docker-start.sh up
# 查看日志
./docker-start.sh logs
# 停止框架
./docker-start.sh stop
```
#### 手动 Docker Compose
```
# 启动框架
docker compose up -d
# 查看日志
docker compose logs -f
# 停止框架
docker compose down
```
#### 手动 Docker 命令
```
# 构建镜像
docker build -t threat-analysis-framework .
# 运行 API 服务器
docker run -p 5000:5000 \
-v $(pwd)/data:/app/data \
-v $(pwd)/models:/app/models \
-v $(pwd)/logs:/app/logs \
threat-analysis-framework
# 在不同模式下运行
docker run threat-analysis-framework python main.py analyze
docker run threat-analysis-framework python main.py train
```
访问 `http://localhost:5000/api/health` 即可使用 API。
有关详细的 Docker 部署说明,请参阅 [Docker 部署指南](docs/DOCKER.md)。
## 快速开始
### 基本用法
```
from src.preprocessing.data_preprocessor import ThreatDataPreprocessor
from src.models.ml_models import ThreatDetectionML
from src.semantic_analysis.semantic_analyzer import ThreatSemanticAnalyzer
from src.utils.data_loader import ThreatDataLoader
# 加载数据
loader = ThreatDataLoader()
data = loader.create_sample_data(num_samples=100)
# 预处理
preprocessor = ThreatDataPreprocessor()
processed_data = preprocessor.extract_features(data)
# 语义分析
analyzer = ThreatSemanticAnalyzer()
categories = analyzer.categorize_threat("Ransomware attack targeting healthcare")
severity = analyzer.assess_threat_severity("Critical zero-day vulnerability")
# 训练 ML 模型
ml_model = ThreatDetectionML(model_type='random_forest')
X = preprocessor.create_feature_matrix(processed_data)
y = processed_data['severity'].values
metrics = ml_model.train(X, y)
```
### 实时检测
```
from src.realtime.detector import RealTimeThreatDetector, ThreatMonitor
from src.semantic_analysis.semantic_analyzer import ThreatSemanticAnalyzer
# 初始化
analyzer = ThreatSemanticAnalyzer()
detector = RealTimeThreatDetector(semantic_analyzer=analyzer)
monitor = ThreatMonitor(detector)
# 启动检测
detector.start()
# 提交威胁数据
detector.add_threat_data({
'text': 'Suspicious activity detected on network',
'features': [...]
})
# 获取统计信息
stats = detector.get_statistics()
alerts = monitor.get_alerts()
# 停止检测
detector.stop()
```
### API 服务器
```
from src.threat_sharing.api import ThreatSharingAPI
from src.semantic_analysis.semantic_analyzer import ThreatSemanticAnalyzer
# 初始化
analyzer = ThreatSemanticAnalyzer()
api = ThreatSharingAPI(semantic_analyzer=analyzer)
# 运行服务器
api.run(host='0.0.0.0', port=5000)
```
或运行示例脚本:
```
python examples/api_server.py
```
### 仪表盘
```
from src.dashboard.dashboard import ThreatDashboard
from src.semantic_analysis.semantic_analyzer import ThreatSemanticAnalyzer
from src.realtime.detector import RealTimeThreatDetector
# 初始化
analyzer = ThreatSemanticAnalyzer()
detector = RealTimeThreatDetector(semantic_analyzer=analyzer)
detector.start()
dashboard = ThreatDashboard(threat_detector=detector, semantic_analyzer=analyzer)
# 运行仪表板
dashboard.run(host='0.0.0.0', port=5001)
```
或运行示例脚本:
```
python examples/dashboard_example.py
```
或使用主入口点:
```
python main.py dashboard --host 0.0.0.0 --port 5001
```
## API 端点
### 健康检查
```
GET /api/health
```
### 提交威胁
```
POST /api/threats/submit
Body: {
"text": "Threat description",
"source": "source_id",
"metadata": {}
}
```
### 获取威胁
```
GET /api/threats?limit=10&offset=0
```
### 分析威胁
```
POST /api/threats/analyze
Body: {
"text": "Threat description to analyze"
}
```
### 获取统计数据
```
GET /api/statistics
```
### 搜索威胁
```
GET /api/threats/search?q=keyword&category=malware
```
## 仪表盘端点
### 主页
```
GET /
```
### 仪表盘统计
```
GET /api/dashboard/stats
```
返回总体统计数据,包括威胁总数、严重威胁、今日威胁、检测率和最高类别。
### 近期威胁
```
GET /api/dashboard/threats/recent?limit=10
```
### 威胁时间线
```
GET /api/dashboard/threats/timeline?hours=24
```
返回按小时分组的指定时间段内的威胁计数。
### 按类别划分的威胁
```
GET /api/dashboard/threats/categories
```
### 按严重程度划分的威胁
```
GET /api/dashboard/threats/severity
```
### 地理分布
```
GET /api/dashboard/threats/geo
```
### 仪表盘健康检查
```
GET /api/dashboard/health
```
## 示例
运行包含的示例以查看框架的实际运行情况:
```
# 基本用法示例
python examples/basic_usage.py
# 实时检测示例
python examples/realtime_detection.py
# API 服务器示例
python examples/api_server.py
# 仪表板示例
python examples/dashboard_example.py
# 综合集成(演示所有高级功能)
python examples/comprehensive_integration_example.py
# 单个高级功能
python examples/transformer_example.py # BERT/GPT models
python examples/gnn_example.py # Graph neural networks
python examples/federated_learning_example.py # Federated learning
python examples/automated_response_example.py # Automated response
python examples/blockchain_example.py # Blockchain verification
python examples/i18n_example.py # Multi-language support
```
## 配置
编辑 `config/config.yaml` 进行自定义:
- 数据目录
- 模型参数
- 检测阈值
- API 设置
- 日志配置
## 威胁类别
该框架将威胁分为以下类型:
- **Malware (恶意软件)**:勒索软件、木马、病毒、蠕虫、间谍软件
- **Phishing (网络钓鱼)**:凭证窃取、社会工程学
- **DDoS (分布式拒绝服务)**:分布式拒绝服务攻击
- **Data Breach (数据泄露)**:未经授权的访问、数据窃取
- **APT (高级持续性威胁)**:高级持续性威胁、国家级攻击
- **Vulnerability Exploit (漏洞利用)**:零日漏洞、CVE、代码执行
- **Insider Threat (内部威胁)**:恶意内部人员、权限滥用
- **Supply Chain (供应链)**:第三方妥协、软件攻击
## 严重程度级别
根据以下严重程度级别对威胁进行评估:
1. **INFORMATIONAL (信息级)**:低影响事件
2. **LOW (低级)**:影响有限的轻微威胁
3. **MEDIUM (中级)**:需要关注的显著威胁
4. **HIGH (高级)**:需要立即采取行动的严重威胁
5. **CRITICAL (严重级)**:具有重大影响的极其严重的威胁
## 机器学习模型
### 随机森林
- 包含 100 棵决策树的集成学习
- 具有良好的抗过拟合能力
- 特征重要性分析
- 训练和预测速度快
### 深度学习
- 双向 LSTM 层
- 用于文本表示的词嵌入
- Dropout 正则化
- 实现最佳性能的早停机制
### 深度学习
- 一维卷积层
- 用于特征降维的最大池化
- 用于序列聚合的全局池化
- 高效的模式识别
## 测试
运行测试以验证框架:
```
# 运行所有测试
pytest tests/
# 运行并生成覆盖率报告
pytest --cov=src tests/
```
## 性能指标
该框架提供全面的指标:
- 准确率、精确率、召回率、F1 分数
- 混淆矩阵
- ROC 曲线和 AUC 分数
- 训练和验证曲线
- 实时检测统计数据
## 贡献
欢迎贡献代码!请:
1. Fork 本仓库
2. 创建一个特性分支
3. 提交您的更改
4. 推送到该分支
5. 创建一个 Pull Request
## 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
## 引用
如果您在研究中使用了本框架,请引用:
```
@software{threat_analysis_framework,
title={CTI-sHARE-A-Semantic-AI-Framework-for-Cyber-Threat-Intelligence-Analysis-and-Sharing-in-SMEs},
author={Suleiman Sani Bashar},
year={2025},
url={https://github.com/sbasharjr/CTI-sHARE-A-Semantic-AI-Framework-for-Cyber-Threat-Intelligence-Analysis-and-Sharing-in-SMEs.git}
}
```
## 支持
如遇问题、疑问或欲作出贡献:
- 在 GitHub 上创建一个 Issue
- 联系开发团队
- 查阅文档
## 致谢
本框架利用了以下技术:
- scikit-learn 用于机器学习
- TensorFlow/Keras 用于深度学习
- NLTK 用于自然语言处理
- Flask 用于 API 开发
- pandas 用于数据处理
- PyTorch 用于 Transformer 模型和 GNN
- Transformers 库用于 BERT/GPT 模型
## 文档
- [架构概述](docs/ARCHITECTURE.md)
- [高级功能指南](docs/ADVANCED_FEATURES.md)
- [Docker 部署指南](docs/DOCKER.md)
- 位于 `docs/` 目录的 API 文档
- 位于 `examples/` 目录的示例脚本
## 路线图
未来的增强功能:
- [x] 基于 Transformer 的模型(BERT、GPT)
- [x] 用于关系分析的图神经网络
- [x] 用于隐私保护威胁共享的联邦学习
- [x] 与 SIEM 系统集成
- [x] 自动化威胁响应功能
- [x] 基于 Web 的可视化仪表盘
- [x] 多语言支持
- [x] 用于威胁情报验证的区块链
**版本**:1.0.0
**最后更新**:2025 年 10 月
**状态**:生产就绪
标签:AI驱动安全, Apex, APT高级持续性威胁, BERT, CISA项目, CNN卷积神经网络, CTI框架, CVE提取, DDoS攻击检测, DNS 反向解析, GPT, IPv6支持, IP 地址批量处理, IP提取, Python, RESTful API, Transformer, Web可视化大屏, 严重性评估, 中小企业安全, 人工智能, 凭据扫描, 双向LSTM, 哈希提取, 图神经网络, 域名提取, 多语言支持, 威胁分析, 威胁情报, 威胁情报共享, 威胁聚类, 子域名变形, 安全态势感知, 安全测试框架, 实体提取, 实时威胁检测, 密码管理, 开发者工具, 异步处理, 提示词优化, 插件系统, 支持向量机, 数据泄露防护, 无后门, 无线安全, 朴素贝叶斯, 机器学习, 梯度提升, 深度学习, 漏洞管理, 用户模式Hook绕过, 系统调用监控, 网络信息收集, 网络安全, 网络安全人工智能, 网络安全审计, 网络探测, 网络钓鱼防御, 自动化侦查工具, 自动化响应, 请求拦截, 跨域资源共享, 逆向工具, 随机森林, 隐私保护