AdityaK-gits/Behaviour-First-Zero-Day-Detector-Using-Runtime-Telemetry-and-LSTM-Autoencoders
GitHub: AdityaK-gits/Behaviour-First-Zero-Day-Detector-Using-Runtime-Telemetry-and-LSTM-Autoencoders
BFZDD 是一个利用 LSTM/GRU/Transformer 自编码器学习程序运行时行为基线、通过重建异常评分实现零日恶意软件检测的 AI 安全分析框架。
Stars: 0 | Forks: 0
# BFZDD — 行为优先的零日漏洞检测器
### 使用 LSTM、GRU 和 Transformer Autoencoder 的 AI 驱动运行时遥测分析器
**BFZDD(Behaviour-First Zero-Day Detector)** 是一个 AI 驱动的恶意软件检测框架,它通过分析运行时的行为遥测来识别未知的和零日威胁,而不是依赖传统的基于签名的检测方法。
该系统使用序列模型 autoencoder 学习合法软件执行的模式,并通过基于重建的异常评分来检测异常行为。通过关注运行时活动而不是已知的恶意软件签名,BFZDD 可以识别以前未见的恶意软件家族和复杂的攻击技术。
## 核心功能
### 行为优先的恶意软件检测
* 将运行时事件转换为结构化的 token 词汇表。
* 通过序列重建学习正常的程序行为。
* 使用以下方法检测异常:
* Cross-Entropy 重建损失
* 平滑概率评分
* 可选的 KL-Regularization,用于稳定学习
### 多种深度学习架构
BFZDD 支持多种可通过用户界面动态选择的神经架构:
* **LSTM Autoencoder**
* **GRU Autoencoder**
* **Transformer-Lite Encoder**
所有架构都支持增量再训练和持续学习。
### 交互式 Streamlit 仪表板
一个完全集成的基于 Web 的仪表板提供:
#### 数据集分析
* 浏览和查看收集的运行时 trace。
* 自动标记良性/恶意 trace。
* 数据集事件频率可视化。
* 使用训练好的异常检测模型对 trace 进行评分。
#### 评估指标
* 混淆矩阵 (Confusion Matrix)
* 精确率 (Precision)、召回率 (Recall) 和 F1 分数 (F1-Score)
* ROC 曲线和 AUC 分析
* 模型性能监控
#### 实时行为分析
* 上传自定义运行时 trace。
* 分析预计算的遥测数据。
* 交互式时间线可视化。
* 事件级别的异常热力图。
* 自动判定生成:
* **正常 (OK)**
* **隔离 (QUARANTINE)**
#### 诊断和实用工具
* 一键生成模型快照。
* 代码库文件浏览器(安全模式)。
* 异常事件簇的可视化。
* 数据集频率热力图。
## 无代码模型微调
BFZDD 支持直接通过仪表板进行完整的模型再训练,无需访问终端。
### 微调功能
* 上传 JSON 运行时 trace。
* 自动数据集集成。
* 支持 Replay buffer 训练。
* 实时监控训练进度。
* 每个 epoch 的损失可视化。
* 自动生成模型 checkpoint。
* 使用良性数据集重新校准阈值 (P95/P99)。
* 可导出的再训练包,用于离线 GPU 训练。
生成的模型会自动保存并记录版本,以便将来部署。
## 模型架构
### Tokenization Pipeline
运行时事件通过以下方式转换为数字 token:
* 事件标准化
* 动态词汇表扩展
* 预留的填充 token (PAD = 0)
* 自动词汇表大小估计
### Autoencoder 框架
该系统支持:
```
build_model(
arch="lstm" | "gru" | "transformer"
)
```
架构流程:
Embedding Layer → Encoder → Vocabulary Projection → Sequence Reconstruction
较高的重建误差表明存在异常行为和潜在的恶意活动。
### 异常评分
评分引擎提供:
* 平均异常分数 (`avg_loss`)
* 每个 token 的重建损失
* 事件级别的异常定位
支持的评分方法:
* Cross-Entropy 评分
* 平滑概率评分
### KL-Regularization
可选的 KL 散度正则化器可提高模型稳定性,并减少持续学习期间的过拟合。
## 可解释 AI 功能
了解为什么将某个 trace 分类为可疑的在网络安全中至关重要。
BFZDD 提供:
* 事件级别的异常识别
* 最可疑事件排名
* 异常事件热力图
* 数据集全局事件频率热力图
* 混淆矩阵分析
* ROC 和 AUC 可视化
这些可解释性功能有助于分析师高效地调查可疑的程序行为。
## 项目结构
```
project/
│
├── app.py # Streamlit Dashboard
├── model.py # Autoencoders & Scoring Engine
├── utils_viz.py # Visualization Utilities
├── versioning.py # Model Snapshot Manager
│
├── ae_model.pth # Primary Trained Model
├── ae_model.pth.meta.json # Model Metadata
│
├── dataset/
│ └── traces/ # Runtime Trace Dataset
│
├── models/ # Saved Model Versions
│
└── threshold.json # Calibrated Detection Thresholds
```
## 部署
### 本地执行
```
pip install -r requirements.txt
streamlit run app.py
```
### Streamlit Cloud
该应用程序可以直接部署到 Streamlit Cloud,以便进行基于浏览器的访问和演示。
## 安全注意事项
由于 BFZDD 会分析类似于恶意软件的行为模式:
* 切勿在公共云部署上执行不受信任的脚本。
* 本地执行应在隔离的虚拟机内进行。
* 可配置的 `DISABLE_EXECUTION` 标志可防止在公共环境中进行不安全的执行。
## 再训练包导出
BFZDD 可以生成一个便携式再训练包,其中包含:
* 上传的良性 trace
* Replay buffer 样本
* 数据集清单
* 训练元数据
此包可以传输到启用 GPU 的环境中,以进行大规模的离线再训练。
## 技术栈
* **Python**
* **PyTorch**
* **Streamlit**
* **NumPy**
* **Pandas**
* **Scikit-learn**
* **Matplotlib**
* **运行时遥测分析**
* **深度学习 Autoencoder**
* **可解释 AI (XAI)**
## 影响与应用
### 为什么选择 BFZDD?
* 检测以前未见的恶意软件家族。
* 消除对签名数据库的依赖。
* 提供透明、可解释的检测结果。
* 支持持续学习和模型演进。
* 集成现代深度学习架构。
* 通过直观的 Web 界面提供端到端的网络安全 AI 平台。
### 适用场景
* 网络安全研究
* 零日恶意软件分析
* 基于行为的威胁检测
* AI/ML 安全项目
* 实习与求职作品集
* 应用深度学习演示
## 开发者
**Aditya Kolluru**
计算机科学本科生 | AI 与网络安全爱好者
**电子邮箱:** [adityakolluru2004@gmail.com](mailto:adityakolluru2004@gmail.com)
**所在地点:** 印度班加罗尔
**在线演示:** https://iz222gve472hosjdwdeqvu.streamlit.app/
标签:Autoencoder, Kubernetes, URL发现, 凭据扫描, 安全检测, 异常检测, 深度学习, 运行时遥测, 逆向工具