引入KiloGram一种用于恶意软件的AI检测的新技术


最近,一组研究人员在KiloGram上发表了他们的论文,KiloGram是一种用于管理文件中的大型n-gram的新算法,可以改善机器学习对恶意软件的检测能力 。新算法比以前的方法快60倍,并且可以处理n = 1024或更高的n-gram 。n的大值具有可解释的恶意软件分析和签名生成的其他应用程序 。
在KDD 2019网络安全学习和采矿研讨会上发表的论文中,来自马里兰大学和网络安全公司Endgame的研究人员描述了他们的算法,用于在大型文件数据集中查找最频繁的n-gram 。
以前的方法在增加n的大小时会在内存和运行时中遇到“指数成本”,而在分析具有数十万个文件的数据集时,它们的n值将小于8 。相比之下,KiloGram算法能够从数百万个文件中的5TB数据中提取n-gram,而仅使用9GB的RAM,并且“运行时间不会随n的增加而增加” 。这允许算法为较大的n值提取n-gram,以测试这些n-gram是否为机器学习算法提供了更好的准确性 。
一个n-gram是n个项的唯一序列,并且该思想被用于许多机器学习任务中,尤其是自然语言处理(NLP) 。在检测到恶意软件的情况下,n-gram是来自文件的字节序列,该文件将被分类为恶意软件或良性文件 。
恶意软件检测的早期工作表明,较大的n-gram(例如n = 15或20)对于训练检测系统是理想的,但是现代数据集的大小使得使用大于6的n值太昂贵 。由于KiloGram算法可以处理那些较大的值,因此研究团队能够测试较大值更好的想法 。
该团队使用可执行文件和Adobe PDF文档的多个数据集,训练了Elastic-Net正则化逻辑回归分类器来检测恶意软件;为了进行回归,输入特征是使用KiloGram算法提取的n元语法 。与文献中的建议相反,研究人员发现“预测精度不会增加到n = 8以上” 。较大的n-gram会产生精度降低的模型;但是,它们具有可解释性的优点 。较小的n-gram产生“黑匣子”模型,而较大的n-gram特征集包含可能对分析人员有意义的字节序列 。例如,它们可能代表代码片段或文本字符串 。
研究人员认为,较大的n-gram在回归模型中使用时不那么精确,因为它们更特定于特定的恶意软件攻击 。实际上,它们会导致过度拟合 。但是,当在诸如Yara之类的签名模型中使用时,它们的优点是它们的假阳性率低 。
也就是说,尽管Yara模型可能会错误地将更多文件标记为良性文件,但如果它确实表明文件为恶意软件,则很少有错 。这使得KiloGram算法可用于构建结合了机器学习模型和基于签名的模型的分层系统 。
【引入KiloGram一种用于恶意软件的AI检测的新技术】

    推荐阅读