rjzak/malware-modeler-rs

GitHub: rjzak/malware-modeler-rs

一款基于 Rust 的机器学习工具,用于生成恶意软件与正常文件的训练数据并训练分类模型,解决样本特征提取与模型评估问题。

Stars: 0 | Forks: 0

## 恶意软件建模师 [![Crates.io Version](https://img.shields.io/crates/v/malware-modeler)](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, 分类模型, 可视化界面, 威胁检测, 工具库, 数据集构建, 文件类型分类, 机器学习, 模型训练, 特征提取, 特征选择, 生成训练数据, 网络安全, 网络流量审计, 良性恶意文件分类, 通知系统, 逻辑回归, 隐私保护