欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

如何用机器学习的方法检测恶意软件

来源:本站整理 作者:佚名 时间:2015-12-24 TAG: 我要投稿


恶意软件的全面研究可以说不是个简单的任务。在进行逆向工程和构建时间轴之前,研究者需要从恶意软件的多个发展阶段获大量样本,由于统计的花费巨大而收获常常有限,因此寻找相似样本的工作非常困难。
首先,这里需要说明的是我(原文作者)并非数据科学家,在下只是一个正在接触基础机器学习规则的安全研究者。而从我们公司(Cylance)一些有才华的数据科学家那里,我发现了机器学习在我研究的安全领域具备了无限的延展性。
对于一个像我这样的安全研究者来说,经常要面对的挑战是,我可能需要对来自同一恶意软件家族相似的恶意软件进行全面而重复的分析。YARA签名(YARA是一款旨在帮助恶意软件研究人员识别和分类恶意软件样本的开源工具)是有帮些助的,但是它们的作用有限。而是用例如ssDeep这样的混淆哈希值同样会有所帮助。尽管近期发布了优化,它们仍非常受限于拓展之类的问题。
黑客组织“春龙”APT攻击
今年6月,Palo Alto网络发布了一份关于黑客组织“春龙”威胁活动的报告。报告针对被用作后门的Lotus Elise恶意软件进行了详细的分析。而有意思的是,报告中只是简单提到Lotus Evora恶意软件,提供了少量的IOC。
FreeBuf也进行过报道
因为只有一些很少的细节和IOC被公开,Evora恶意软件似乎是一个不错的分析对象。在获得了一些Evora初始样本之后,我开始了我的分析,我dump出样本的整体结构进行分析,查看样本的功能实现方法(我会在之后blog中提及细节)。
经过我的初步分析,发现样本数目还是不够理想。经过一些基于YARA的搜索之后,对于此类样本的需求会更大。为此,我咨询了一些机器学习方面的集大成者,他们建议我采用“中心”的概念来寻找更多的样本。(本文的“中心”一律指代基于几何中心的构建算法,后文不再注明)
中心与距离
这里,我将回到“中心”的概念,并解释它为何如此重要。
在我们处理文件以确定其是否为恶意软件时,通常会为研究每个文件而提取数以百万计的“功能”。功能是一组描述文件的属性,范围从资源的数量涵盖到特定部分的熵等等。当我们从正在研究的文件中提取所有的功能特征时,我们最终会以一个“向量”结束,或是一组数字。
而在我们这个示例中,这个“中心”为一个向量所表示,它是从文件中导出的向量组的中心点所表示的。半径则为能被概括为相似样本的最大描述范围。
现在,有人或许会问:“为何会有这个距离?”可以参考以下因素:
我们可以使用勾股定理,来确定2D平面内两点的距离。这可能是你在念书(小学、初中?)时学到过的。


水平蓝色线的平方,加上垂直黄色线的平方,和的开方便是我们要的距离。
如果我们将每个功能视为一个维度,我们便可以找到在半径范围内各向量间的距离。我们将用到类似“勾股定理”的“欧几里德距离”进行三维距离计算。
利用中心进行搜索时,我们计算中心与每个(我们针对每个相关功能研究过)文件的距离,如果它出现在半径之内,便可得知其与我们的原始文件相类似。

Evora的中心
上面介绍的是如何通过中心算法进行搜索,你会发现在那之前我们需要有个中心算法,而这恰恰是十分困难的。我已经决心提升关于机器学习方面的知识储备,借这个机会,我又进行了更为深入的探索。
为了建立这个中心,首先我努力寻找一组半径为0的功能。这就意味着需要在所有相关功能中确定精确匹配的功能值。由于我已经简单寻找过所有Evora样本中所具有的相同功能,因此这个比较容易确定。对我来说幸运的是,我找到大量可以与Evora样本精确匹配的功能。
利用一组本地不相关样本对中心进行了测试之后,便可以用于测试我们的样本。数据科学家在加载了中心之后,获得了一组令人兴奋的哈希值集合。
在返回结果中寻找Evora和Elise
在对返回的文件进行初步检测之后,我感到很惊讶。不只返回了Evora样本,还获得了一些Elise样本。这个基于几何中心构建的算法,不仅可以用来寻找Evoca样本,竟然还可以寻找相似威胁活动中其他恶意软件的。即使是一个初学者(例如我),机器学习的效率还是很高的啊!
多亏了机器学习(这里不是广告),现在我拥有了28个Evora样本和39个Elise样本。
Evora与Elise
我计划在下一篇博客中详细介绍Evora和Elise。
结论
虽然我不是一名数据科学家,但我仍然强烈感受到机器学习是一个非常强大的工具。尽管它拥有一个陡峭的学习曲线(小编理解:比较难学),但是无论如何都是值得你去掌握的。信息安全领域从来不缺少需要解决的问题,而机器学习则会是一个非常重要的解决困难问题的工具,对此,我毫不怀疑。
IOCs
Evora SHA256s:
00a9466358d2b716be215f856c44e2b62df64b29a4d04aaa1ef0a194d825313f
0a372eb55d5bc91be510a4d9084a5c15ec22c3b066fe226994566a136564a2ec
11107f6f1f41466ae9e01cd6fc3a3c615e1fa8ee8f7e786a2f7b5b371434af9c
151f6e3a052ab72e6ac043922415126d19a5085dda1ea70aa7d5c345ef4c905a
23753c260e48fd092423aceb6300a9b858eeaa113f6f7040305edb545f4da35f
349d2e0a3be5e567416c1a5abb1a01ddb0e31f4c80d4543fad1a5766fd3b5002

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载