rjzak/malware-modeler-rs
GitHub: rjzak/malware-modeler-rs
一款基于 Rust 的机器学习工具,用于生成恶意软件与正常文件的训练数据并训练分类模型,解决样本特征提取与模型评估问题。
Stars: 0 | Forks: 0
## 恶意软件建模师
[](https://crates.io/crates/malware-modeler)
一款用于训练逻辑回归模型以进行良性/恶意预测的机器学习应用程序和相关工具。
**此代码处于 Alpha 质量阶段,尚未经过充分测试。不要在生产环境中使用。**
共有四个基本步骤:
1. 特征提取:找到前 *k* 个 *n*-gram,*k* 约为 100k 到 1m,*n* 应为 8。
2. 数据集文件创建:从您的恶意软件和正常软件集合中,创建一个数据集文件,其中包含作为数据集文件的特征化样本。
3. 模型训练:基于训练数据训练模型。
4. 评估:使用部分保留的测试或验证数据对模型进行评估。
此外:
* 相似性特征可用于确保用于训练的样本具有足够的差异。
* N-gram 特征、数据集文件和模型均与文件类型相关联。
* 模型可以将 *k* 个特征减少到更少的数量,从而允许模型进行进一步的特征选择,以期构建更好的模型。
* 模型应仅针对一种文件类型创建。例如:EXE 一个模型,PDF 一个模型,ELF 一个模型等。
* 训练数据应基于包含大量样本的平衡集合。正常和恶意样本数量应至少达到数十万。
* 这些是简单的模型,其效果仅取决于训练数据。质量差、标注错误或过于相似的数据会导致无用的模型。
基于以下研究:
* Edward Raff, William Fleming, Richard Zak, Hyrum Anderson, Bill Finlayson, Charles K Nicholas, Mark Mclean, William Fleming, Charles K Nicholas, Richard Zak and Mark Mclean. **KiloGrams: Very Large N-Grams for Malware Classification.** In *Proceedings of KDD 2019 Workshop on Learning and Mining for Cybersecurity (LEMINCS'19)*. 2019. [文章](https://arxiv.org/abs/1908.00200).
* William Fleshman, Edward Raff, Richard Zak, Mark McLean and Charles Nicholas. **Static Malware Detection & Subterfuge: Quantifying the Robustness of Machine Learning and Current Anti-Virus**. In *2018 13th International Conference on Malicious and Unwanted Software (MALWARE)*. October 2018, 1–10. Best Paper Award. [文章](https://ieeexplore.ieee.org/document/8659360/), [Arvix](https://arxiv.org/abs/1806.04773), [DOI](http://dx.doi.org/10.1109/MALWARE.2018.8659360).
* Edward Raff and Charles Nicholas. **Hash-Grams: Faster N-Gram Features for Classification and Malware Detection.** In *Proceedings of the ACM Symposium on Document Engineering 2018*. 2018. [文章](http://doi.acm.org/10.1145/3209280.3229085), [DOI](http://dx.doi.org/10.1145/3209280.3229085).
* Richard Zak, Edward Raff and Charles Nicholas. **What can N-grams learn for malware detection?** In *2017 12th International Conference on Malicious and Unwanted Software (MALWARE)*. October 2017, 109–118. [文章](http://ieeexplore.ieee.org/document/8323963/), [DOI](http://dx.doi.org/10.1109/MALWARE.2017.8323963).
* Edward Raff, Richard Zak, Russell Cox, Jared Sylvester, Paul Yacci, Rebecca Ward, Anna Tracy, Mark McLean and Charles Nicholas. **An investigation of byte n-gram features for malware classification.** *Journal of Computer Virology and Hacking Techniques*, September 2016. [文章](http://link.springer.com/10.1007/s11416-016-0283-1), [DOI](http://dx.doi.org/10.1007/s11416-016-0283-1).
附加工具:
* 根据文件类型从 Zip 归档中提取文件,这对于处理来自 [VirusShare](https://virusshare.com) 的文件非常有用。
* 按文件类型汇总 Zip 归档中的文件。
* 检查目录中的文件以评估彼此之间的相似性,从而帮助您构建具有良好差异性的数据集。
标签:AMSI绕过, Apex, Caido项目解析, n-gram, Rust, 分类模型, 可视化界面, 威胁检测, 工具库, 数据集构建, 文件类型分类, 机器学习, 模型训练, 特征提取, 特征选择, 生成训练数据, 网络安全, 网络流量审计, 良性恶意文件分类, 通知系统, 逻辑回归, 隐私保护