stacihanim/cyber-threat-intelligence-nlp
GitHub: stacihanim/cyber-threat-intelligence-nlp
基于DistilBERT的威胁情报文本自动分类与可视化工具,能从语义层面理解安全报告并识别人工标注错误。
Stars: 0 | Forks: 0
# 网络威胁情报分析 (NLP & BERT)
## 项目概述
本项目应用 **人工智能 (AI)** 来分析和理解网络安全威胁报告。
该项目不仅依赖于关键词匹配,还使用 **BERT 语言模型** 来理解威胁描述背后的 **语境和含义**。
这种方法有助于安全团队 **更准确地检测、分类和响应网络威胁**。
## 主要功能
### 可视化威胁对比
生成词云 (Word Clouds) 以可视化不同攻击类型之间的语言差异。
- **电子邮件攻击** 通常包含与社会工程学相关的词汇,例如:
*phishing, email, link, account*
- **网络攻击** 更多侧重于技术术语,例如:
*exploit, vulnerability, traffic, protocol*
### AI 自动分类
使用 **DistilBERT**,系统可以阅读描述网络威胁的句子并自动确定 **攻击类型**,即使未明确提供类别。
### 质量控制
AI 模型充当 **第二验证层**,可以在分析师审查之前,检测手动标记的网络安全数据集中的不一致或错误。
## 使用的工具
- **Python** – 主要编程语言
- **Pandas** – 数据分析和表格管理
- **Matplotlib** – 数据可视化和图表
- **WordCloud** – 常见威胁相关词汇的可视化
- **Hugging Face Transformers** – 运行和测试 BERT AI 模型
- **PyTorch** – Transformers 使用的后端框架
## 流程原理
### 1. 数据准备
加载并准备了一个包含 **1,100 份网络安全威胁报告** 的数据集以供分析。
### 2. 探索
分析了常见的词汇和模式,以了解攻击者如何描述其活动。
### 3. AI 测试
使用数据集中的选定行来测试 AI 模型是否可以仅根据文本描述正确识别 **网络攻击类型**。
### 4. 验证
将模型的预测结果与 **官方数据集标签** 进行比较,以评估准确性。
## 重要发现
在测试过程中,发现了一个 **数据异常**。
示例:
- **数据集标签:** `DDoS`
- **AI 预测:** `Phishing`
- **置信度:** **99%+**
文本示例:
AI 正确识别出该描述明显指的是 **phishing**,而不是 **DDoS 攻击**。
这证明了 **AI 可以帮助检测和纠正网络安全数据集中的人工标记错误**。
## 未来研究目标
计划的改进和研究方向:
### 命名实体识别 (NER)
训练模型以自动提取:
- 威胁行为者名称
- 恶意软件家族
- 攻击中使用的工具
### IOC 研究 (失陷指标/威胁指标)
识别技术指标,例如:
- IP 地址
- 文件哈希
- 恶意 URL
- 域名
### 行为威胁分析
分析攻击者的 **战术、技术和程序 (TTPs)**,以更好地理解和预测未来的攻击模式。
## 安装
安装所需的 Python 库:
```
pip install transformers torch pandas matplotlib wordcloud
```
标签:AI, AMSI绕过, Apex, BERT, DistilBERT, ESC8, Hugging Face, Matplotlib, NLP, Python, PyTorch, SOC工具, 人工智能, 凭据扫描, 威胁检测, 攻击识别, 数据清洗, 文本分类, 无后门, 机器学习, 深度学习, 漏洞发现, 用户模式Hook绕过, 社会工程学, 网络威胁情报, 网络安全, 自动化代码审查, 词云, 逆向工具, 隐私保护