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发现, 凭据扫描, 安全检测, 异常检测, 深度学习, 运行时遥测, 逆向工具