Yara是一种模式匹配(模式匹配是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串)技术,它可以使用沙箱内存转储来识别恶意软件家族。然而,由于微小的代码变化,模式匹配技术会悄然失败,从而导致未知的恶意软件样本。本文提出了一种利用增量聚类(MVIIC)过程的两层恶意软件变异识别方法,并提出了未知恶意软件样本的聚类方法,以识别恶意软件变异和新的恶意软件家族。该新的增量聚类算法被用于从未知的恶意软件样本中识别新的恶意软件变体。本研究表明,聚类可以提供比Yara规则更高层次的性能,并且聚类可以抵抗恶意软件变体引入的小变化。本文提出了一种混合的方法,利用Yara扫描来消除已知的恶意软件,然后进行聚类,协同作用,以允许识别新的恶意软件变体。
Yara是一种模式匹配技术,它可以使用沙箱内存转储来识别恶意软件家族。Yara规则包含正则表达式和字符串。
方法分为两层,在第一层中,先前开发的Yara规则用于拒绝已知恶意软件家族的样本。在第二层采用了一种新的增量聚类算法。与传统的对启动聚类中心的选择很敏感的聚类算法不同,增量聚类能够找到或近似最佳的聚类分布,并检测到小规模的聚类。
从每个集群中随机选择的恶意软件样本中包含的新的恶意软件家族(6)和恶意软件变体(6)被识别出来,并使用集群恶意软件样本的内存转储(7)创建新的Yara规则(8)。
提供了一种新的增量聚类算法的一个用例;
提供从实时获取的恶意软件样本的动态分析日志的特征的特征工程;
开发了一个两层的动态分析系统,该系统使用Yara规则来拒绝已知的恶意软件,并使用一种新的聚类算法和特征工程来对未知样本进行聚类,以识别新的恶意软件家族、变体和Yara规则中的缺陷。
由于现有恶意软件家族的软件开发和新的恶意软件家族的创建,恶意软件源中的样本会受到持续的概念漂移的影响。传统的聚类算法被设计为使用静态地面真实值。为了处理概念漂移,传统的聚类算法要求对整个数据集进行定期的重新聚类,以合并更新后的地面真相。传统聚类算法的执行时间随数据集大小的增加成比例而增加。T