rose1996iv/Certified-Radius-Analysis-in-Multimodal-Malware-Detection-under-Grouped-Split-Evaluation
GitHub: rose1996iv/Certified-Radius-Analysis-in-Multimodal-Malware-Detection-under-Grouped-Split-Evaluation
这是一个用于多模态恶意软件检测认证半径分析的研究工具,解决模型鲁棒性量化和可证明性评估问题。
Stars: 1 | Forks: 0
# 分组评估下多模态恶意软件检测的认证半径分析
**论文3——可证明性配套代码仓库**
本仓库托管**论文3**的代码、图表和数值结果,该论文对我们主项目中首次提出的3分支混合CNN-TCN恶意软件检测器进行了*认证半径分析*。此处的核心重点是**可证明性**:我们量化了随机平滑认证在不同噪声水平(σ)、蒙特卡洛采样数量(n)、恶意软件家族标识和模态子集下的表现——所有评估均在无数据泄露的**分组测试集**上进行。
## 本仓库的证明内容
基于已发布的论文2检查点(`cnn_tcn_classweighted_best.pt`)和分组测试集,本实验解答了四个问题:
| 实验 | 问题 | 输出 |
|---|---|---|
| **实验1——σ敏感性** | 高斯平滑噪声σ ∈ {0.05, 0.10, 0.25, 0.50, 1.00}如何权衡认证精度与认证半径? | [`results/sigma_sensitivity.json`](results/sigma_sensitivity.json), [`figures/fig_sigma_sensitivity.png`](figures/fig_sigma_sensitivity.png) |
| **实验2——n敏感性** | 平滑采样数量n ∈ {50, 100, 200, 500, 1000, 2000}达到多少时认证精度不再提升? | [`results/n_sensitivity.json`](results/n_sensitivity.json), [`figures/fig_n_sensitivity.png`](figures/fig_n_sensitivity.png) |
| **实验3——家族级半径** | 27个恶意软件家族中哪些最具/最不具可认证性? | [`results/family_certification.json`](results/family_certification.json), [`figures/fig_family_cert_radius.png`](figures/fig_family_cert_radius.png) |
| **实验4——模态消融** | 每个分支(静态/结构/动态)对认证半径的贡献程度如何? | [`results/modality_ablation_cert.json`](results/modality_ablation_cert.json), [`figures/fig_modality_ablation_cert.png`](figures/fig_modality_ablation_cert.png) |
所有认证均采用Cohen等人的随机平滑半径公式 `R = σ · Φ⁻¹(p̂_A)`,并使用标准的顶级类别二项式下界。
## 关键数据(分组测试集,σ=0.25,n=500,除非另行说明)
- **认证精度 @ R=0.1:** 99.6 %
- **认证精度 @ R=0.2:** 99.0 %
- **认证精度 @ R=0.3:** 72.8 %
- **平均认证半径:** 0.917
- **中位数认证半径:** 1.188
- **模态贡献:** 静态+结构分支已能实现完整的多模态认证;动态分支(当前仅输入噪声占位符——详见主仓库验证审核部分)对认证结果无影响。
## 仓库结构
```
.
├── README.md ← you are here
├── LICENSE
├── scripts/ ← experiment runners + figure generation
│ ├── _paper3_common.py ← shared model loader & smoothing routines
│ ├── paper3_sigma_sensitivity.py
│ ├── paper3_n_sensitivity.py
│ ├── paper3_family_certification.py
│ ├── paper3_modality_ablation_cert.py
│ └── paper3_generate_figures.py
├── results/ ← raw JSON outputs of each experiment
│ ├── sigma_sensitivity.json
│ ├── n_sensitivity.json
│ ├── family_certification.json
│ └── modality_ablation_cert.json
└── figures/ ← 600 DPI paper-ready PNGs
├── fig_sigma_sensitivity.png
├── fig_n_sensitivity.png
├── fig_family_cert_radius.png
└── fig_modality_ablation_cert.png
```
## 复现实验
这些脚本复用了位于**主仓库**[Certified-Malware-Defense](https://github.com/rose1996iv/Certified-Malware-Defense)中的检查点、数据集和分组测试集。为保持本仓库轻量化并确保模型权重单一来源,相关资源**未包含在此处**。
### 1. 并列克隆两个仓库
```
git clone https://github.com/rose1996iv/Certified-Malware-Defense.git
git clone https://github.com/rose1996iv/Certified-Radius-Analysis-in-Multimodal-Malware-Detection-under-Grouped-Split-Evaluation.git
```
### 2. 在主仓库中确认以下工件已生成
| 工件 | 脚本预期路径 |
|---|---|
| 训练好的论文2检查点 | `results/cnn_tcn_classweighted_best.pt` |
| 预计算的300维特征 | `experiment_results/full_features_300d.npy` |
| 家族标签 | `experiment_results/full_family_labels.npy` |
| 分组测试集 | `data/processed/test_grouped.parquet` |
(这些由主仓库中论文2的训练流程和分组验证审核流程生成。)
### 3. 将论文3的`scripts/`目录放入主仓库并运行
```
python scripts/paper3_sigma_sensitivity.py
python scripts/paper3_n_sensitivity.py
python scripts/paper3_family_certification.py
python scripts/paper3_modality_ablation_cert.py
python scripts/paper3_generate_figures.py
```
输出将保存在主仓库的`results/paper3/`和`results/paper3/figures/`目录中,该目录内容会镜像至本仓库。
### 依赖项
`torch`、`numpy`、`pandas`、`matplotlib`、`pyarrow`——与主仓库`requirements.txt`中的环境一致。
## 引用
如果您基于此认证分析进行研究,请引用主论文包;本仓库是其可证明性配套资源。引用信息详见主仓库的[`CITATION.cff`](https://github.com/rose1996iv/Certified-Malware-Defense/blob/main/CITATION.cff)文件。
## 许可协议
MIT协议——详见[`LICENSE`](LICENSE)。
标签:CNN-TCN混合模型, 凭据扫描, 可证明安全性, 可证明鲁棒性, 噪声敏感性, 多模态检测, 安全机器学习, 密钥泄露防护, 对抗鲁棒性, 恶意软件家族分析, 机器学习安全, 样本预算优化, 模态消融, 深度学习, 混合神经网络, 组分割评估, 网络安全, 认证半径分析, 逆向工具, 随机平滑, 隐私保护, 鲁棒性认证