RenatoMignone/AI-Driven-Threat-Detection-Research
GitHub: RenatoMignone/AI-Driven-Threat-Detection-Research
一个面向学术的研究枢纽,汇集深度学习与NLP方法解决恶意软件检测、异常流量分析与战术分类问题。
Stars: 2 | Forks: 0
# 人工智能驱动的威胁检测研究

本仓库是**Politecnico di Torino**人工智能与网络安全课程期间进行的研究与实验室活动的核心枢纽。它汇集了四个独立项目,涵盖人工智能、深度学习与自然语言处理在网络安全领域的应用。
## 仓库结构
项目按顺序组织,引导学习者从基础的网络流分析逐步深入到复杂的恶意软件与异常检测任务。
| 序号 | 实验室 | 主题 | 方法 | 仓库链接 |
| :---: | :--- | :--- | :--- | :--- |
| **1** | **[01_Network_Flow_Analysis](01_Network_Flow_Analysis/)** | **网络流分类** | 前馈神经网络(FFNNs)、加权损失、特征偏差分析 | [链接](https://github.com/RenatoMignone/network-flow-classification-dl) |
| **2** | **[02_Malware_Analysis](02_Malware_Analysis/)** | **恶意软件分类** | 动态API分析、RNN(GRU/LSTM)、图神经网络(GNNs) | [链接](https://github.com/RenatoMignone/malware-api-classification-dl) |
| **3** | **[03_Network_Anomaly_Detection](03_Network_Anomaly_Detection/)** | **异常检测(NIDS)** | 单类SVM、自动编码器(重构误差)、无监督聚类 | [链接](https://github.com/RenatoMignone/unsupervised-network-intrusion-detection) |
| **4** | **[04_NLP_for_Cybersecurity](04_NLP_for_Cybersecurity/)** | **网络安全中的NLP** | Bash命令分类、TF-IDF、Word2Vec、用于战术检测的LSTM | [链接](https://github.com/RenatoMignone/attack-tactic-recognition-nlp) |
## 快速开始
要克隆本仓库及其所有子模块(实验室),请使用 `--recursive` 标志:
```
git clone --recursive https://github.com/RenatoMignone/AI-Driven-Threat-Detection-Research.git
```
如果您已经克隆了仓库但未包含子模块,请运行:
```
git submodule update --init --recursive
```
## 研究枢纽概览
### 1. [网络流分类](01_Network_Flow_Analysis/)
**目标**:在CICIDS2017数据集上使用深度学习对网络流(良性/恶意)进行分类。
本模块专注于**完整建模管道**,用于表格形式的网络数据。它研究**前馈神经网络(FFNNs)**在基准模型上的表现,并探索现实问题,如**类别不平衡**和**偏差**。
- **关键实验**:
- **基准模型**:具有不同架构的浅层FFNN。
- **偏差分析**:研究`目标端口`等特征的差异性影响。
- **深度学习**:深层FFNN(3-6层)并进行超参数调优。
- **正则化**:应用Dropout、批归一化和权重衰减。
### 2. [恶意软件分析](02_Malware_Analysis/)
**目标**:基于动态API调用痕迹对恶意软件家族进行分类。
本项目处理序列数据在恶意软件分析中的复杂性。通过将**API调用痕迹**视为序列或图,我们利用先进架构识别恶意行为模式。
- **关键实验**:
- **特征探索**:基于频率的API调用分析。
- **序列建模**:使用**LSTM**和**GRU**捕捉执行痕迹的时间依赖性。
- **图学习**:将痕迹表示为图并应用**GraphSAGE**和**GCNs**学习恶意软件执行的结构特征。
### 3. [网络异常检测](03_Network_Anomaly_Detection/)
**目标**:使用无监督方法检测网络流量中的零日攻击。
在模拟攻击标签不可用的场景下,本实验应用**无监督**和**半监督**学习来检测异常入侵。
- **关键实验**:
- **浅层异常检测**:用于异常检测的**单类SVM(OC-SVM)**。
- **深层异常检测**:基于高重构误差的**自动编码器**。
- **聚类**:使用**DBSCAN**和**K-Means**对相似流量模式分组并隔离攻击。
- **可视化**:使用**t-SNE**和**PCA**进行降维。
### 4. [用于攻击战术识别的NLP](04_NLP_for_Cybersecurity/)
**目标**:从Bash命令历史中识别攻击者意图(战术)。
在**自然语言处理(NLP)**与网络安全之间架起桥梁,本模块将原始Bash命令分类为**MITRE ATT&CK战术**(例如:*发现、持久化、执行*)。
- **关键实验**:
- **文本预处理**:针对Shell命令的自定义分词。
- **嵌入**:用于关键词提取的**TF-IDF**和用于命令语义表示的**Word2Vec**。
- **序列分类**:理解命令序列意图的**双向LSTM**。
- **可解释性**:分析混淆矩阵以理解模型决策。
## 作者与贡献者
这项工作是以下团队的协作成果:
| 姓名 | GitHub | LinkedIn | 邮箱 |
| :--- | :--- | :--- | :--- |
| **Renato Mignone** | [](https://github.com/RenatoMignone) | [](https://www.linkedin.com/in/renato-mignone/) | [renato.mignone@studenti.polito.it](mailto:renato.mignone@studenti.polito.it) |
| **Claudia Sanna** | [](https://github.com/sannaclaudia) | [](https://www.linkedin.com/in/claudiasanna1/) | [claudia.sanna@studenti.polito.it](mailto:claudia.sanna@studenti.polito.it) |
| **Chiara Iorio** | [](https://github.com/iochia02) | [](https://www.linkedin.com/) | [chiara.iorio@studenti.polito.it](mailto:chiara.iorio@studenti.polito.it) |
标签:BERT, Cloudflare, FFNN, GNN, LSTM, MITRE ATT&CK, NIDS, One-Class SVM, TF-IDF, Transformer, UniXcoder, Word2Vec, 人工智能, 入侵检测系统, 凭据扫描, 前馈神经网络, 动态API分析, 命令行分类, 图神经网络, 安全数据湖, 容器化, 异常检测, 战术分类, 无监督学习, 深度学习, 用户模式Hook绕过, 神经网络, 网络安全, 网络流量分析, 自编码器, 词嵌入, 逆向工具, 隐私保护, 零日检测