malware modeler

一个用于训练良性 vs. 恶意预测逻辑回归模型的机器学习应用和库,以及相关工具。
此代码为 beta 质量,可能存在缺陷。
有四个基本步骤:
- 特征提取:找到前 k 个 n-gram,k 约为 100k 到 1m,n 应为 8。
- 数据集文件创建:从你的恶意软件和良性软件集合中,创建一个数据集文件,即把特征化后的样本作为数据集文件。
- 模型训练:基于训练数据训练模型,可选地使用分层 n 折交叉验证(
train --folds N),仅保留最佳折的模型。
- 评估:针对一些测试或验证(留出数据)评估模型。
此外:
- 相似性特征可用于确保用于训练的样本具有足够的多样性。
- 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. 文章.
- 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. 文章, Arvix, DOI.
- 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. 文章, DOI.
- 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. 文章, DOI.
- 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. 文章, DOI.
其他工具:
- 根据文件类型从 Zip 压缩包中提取文件,适用于处理来自 VirusShare 的文件。
- 按文件类型汇总 Zip 压缩包中的文件。
- 检查目录中的文件彼此之间是否存在字节级相似性,以帮助你构建具有良好多样性的数据集。
- 将恶意软件和良性软件目录划分为均衡的良性软件训练集、恶意软件训练集、良性软件测试集、恶意软件测试集。
补充说明: