开发二进制文件静态快速分析工具(续)
本文转载自【微信公众号:MicroPest,ID:gh_696c36c5382b】,经微信公众号授权转载,如需转载与原文作者联系
几个月前,写了这个“二进制文件静态快速分析工具”,框架已经搭建完成,一直在添砖加瓦之中,加入了一些功能,让一键式成为静态分析的“傻瓜式”自动化操作,还是给大家一睹为快吧。
“目前按照可扩充式进行搭建,一直以来都有将python纳入其中的想法,但考虑到python的库非常讨厌,在不同人的机器上部署程度不同,安装下载吧有时出现下载不下来的情况,处理起来受环境因素影响较大,所以迟迟没有动手将python加入其中。这也制约了这个工具的构建程度。”,这是当时写下的一段设想,到目前为止,依然没有形成一个成熟的想法,因为python实在是太麻烦了,对环境的依赖太大,还是没能想到一个好的方法。
现在这块的做法我认为有两类,“一是公司应该是做成沙箱的样式,底层直接各种Hook、监控网络行为、注册表之类的吧;二是基于二进制恶意样本的深度学习(这个非常感兴趣),将正负样本按1:1的比例转换为图像。将训练好的图像分类模型作为迁移学习的输入,在GPU集群中进行训练。我们同时训练了标准模型和压缩模型,对应不同的客户需求(有无GPU环境)。基于二进制文件的深度学习无需沙箱环境,深度学习模型记住的是病毒二进制文件中的有效特征,而不是特征码,所以具有更好的通用性。在实际测试中,即使一个月不更新模型,对新衍生的病毒样本也有较高的识别能力。”
我的理念是,将这个静态分析工具做成Docker,可以吗?
1、最初时的雏形:
萌生想法那一刻到搭建完框架,并有了最初的三个功能;
2、现在的模样:
已经形成了几大模块,主要是对二进制文件进行“静态分析、文件头、资源节、可疑串、编译器、安全区链、恶意软件软件”等检测工作。
3、实例效果:
选取一个实验材料中的例子,
截图很长,内容很多,要慢慢放大了看,才能看到其中的内容。通过对样本的分析结果来看,分析提取出来的数据较为精准。抽取出的内容,可直接查看,也可供导出,可以说基本达到了预期的效果,给我的分析工作省了不少力气。
静态分析其实在恶意软件的分析过程中还是非常重要的一个环节,但一直以来都是简单化的处理,散兵作战,没有形成自动化,一方面是加壳的存在让静态分析成为了镜中月水中花;二是还是不太重视静态分析的发展,草草了事。总体来说,静态分析的缺点还是比较明显的,至多也是利弊各半吧,在实际工作中还是要综合把握为好。
基于深度学习的这种检测,我还是不具备条件的,以后碰到这方面的人再请教吧。
对于要做成Docker的想法,慢慢酝酿吧,软件的功能还在增加中,让静态分析成为一键式分析。