一种面向海量Windows软件的未知恶意代码检测方法及系统技术方案

技术编号:25550950 阅读:88 留言:0更新日期:2020-09-08 18:50
本发明专利技术公开一种面向海量Windows软件的未知恶意代码检测方法及系统,属于系统安全技术领域,为解决传统的基于特征码的检测方法无法检测未知恶意代码的问题,结合动态检测和静态检测的优势,使用深度学习的检测技术来实现对未知特征的恶意代码的检测,使用静态特征辅助检测的方法在海量样本的场景下加速检测,提高检测效率。

【技术实现步骤摘要】
一种面向海量Windows软件的未知恶意代码检测方法及系统
本专利技术属于系统安全
,涉及一种恶意代码检测的方法,特别涉及一种适用于海量Windows平台软件的未知恶意代码检测方法及系统。
技术介绍
计算机技术以及互联网技术的飞速发展带来的影响日益显著,无论是经济、文化、政治还是医疗、教育等领域都产生了巨大的变革。然而,人们在享受这些便利的同时也不可避免的需要考虑一些安全问题,其中最典型的就是恶意代码的攻击和泛滥。恶意代码又称恶意软件,这些软件也可称为广告软件、间谍软件、恶意共享软件。是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。2018年上半年,360互联网安全中心累计截获新增恶意程序样本1.4亿个。其中,新增PC端恶意程序样本14099.8万个,平均每天截获新增恶意程序样本77.9万个,可以发现PC端恶意程序占据了恶意程序总量的97.9%,因此研究Windows平台下的恶意软件很有必要。恶意软件增长速度越来越快,变种数量增加,家族特征明显。另外一些高级的恶意代码为了保护自己,往往采用高级技术与安全分析人员做对抗。例如通过加壳、混淆等措施增大逆向分析的难度。恶意代码造成的危害巨大,一般具有下述行为的一种或多种:强制安装、浏览器劫持、窃取、修改用户数据、恶意收集用户信息、恶意卸载、恶意捆绑及其他侵犯用户知情权、选择权的恶意行为等。这些行为将严重侵犯用户合法权益,甚至对用户及他人带来巨大的经济或其他形式的利益损失。例如2017年WannaCry“蠕虫式”勒索病毒软件感染了100多个国家和地区超过10万台电脑,至少造成80亿美元损失。其他经典的还有火焰病毒、震网病毒、熊猫烧香、暗云III等程序,为了避免更大的损失,需要对恶意代码进行分析,然后研究出有效的恶意代码检测技术。分析恶意代码的方法一般可分为静态分析方法与动态分析方法。静态分析是指在不执行二进制程序的条件下进行分析,如反汇编分析、源代码分析、二进制统计分析、反编译等,技术包括静态反汇编分析、静态源代码分析和反编译分析等。目前静态分析的缺点是对于混淆、加壳、多态的恶意代码很难准确分析;传统的静态方法检测准确率偏低,特别是对未知特征的恶意代码的检测效果差。动态分析是指恶意代码执行的情况下利用程序调试工具对恶意代码实施跟踪和观察,确定恶意代码的工作过程。当前,研究者们已经开发出了大量的动态分析工具来分析恶意样本,这些工具主要是通过提取系统调用API序列的方式。目前动态分析存在的缺点是耗费时间长、成本相对较高。另外使用传统机器学习方法需要人工选定特征,增加了人工分析的难度。针对恶意代码的检测目前已经存在一些方法。传统的基于特征码的检测提取截获样本的特征码记录在数据库然后匹配特征码,但是存在依赖特征库、检测滞后性、无法检测未知特征的样本的情况;传统的基于启发式的检测方法在处理海量样本时检测效率低,这种方法依赖专家的知识和经验,需要耗费人力来制定启发式规则。在海量样本的场景下会耗费大量的时间和人力资源来构建规则,导致检测效率偏低;越来越多使用机器学习的方法出现,通过提取有效特征结合分类算法来进行检测。传统的机器学习方法中的特征由人工筛选,特征选取的好坏直接影响了检测的效果,在提取和筛选特征的过程中需要人工参与,人力成本高。深度神经网络己经被证明具有很高的学习能力,它可以从非常大的训练集中受益,能够学习到恶意软件的潜在特征,实现对未知特征样本的检测。此外恶意软件特征可以自动从原始数据中被提取,因此无需手动设计恶意软件签名,避免了对于专业知识的过分依赖。基于深度学习的恶意软件检测方法在训练时间上是有效率的,其训练时间与恶意软件的数量呈线性相关。这类检测的网络可以在GPU上运行,基本上是所有PC的必备组件,这也意味着更多的恶意软件可以在单位时间内被分析。因此可以借鉴深度学习的方法基于历史的数据来学习恶意代码的潜在特征,实现对未知恶意软件的检测。近年来随着互联网的飞速发展,恶意软件的数量和种类也在迅速增长,传播方式不断更新,造成的损失也越来越大。面对海量的样本,快速高效地识别出未知特征的恶意软件成了一项挑战。传统的基于特征码的检测方法无法检测未知特征的样本。基于启发式的检测方法需要耗费人力,在应对海量样本时检测效率低。此外传统机器学习的方法中的特征依赖人工提取和筛选,人力成本高。面对海量Windows平台的恶意软件,不可能过度依赖专家知识进行手工分析,因为这会耗费巨大的时间和人力资源,需要设计一套能够自动化检测的方法。
技术实现思路
本专利技术的目的在于设计并实现了一种基于深度学习的恶意代码检测方法及系统,该方法及系统避免了传统的基于特征码的检测方法无法检测未知恶意代码的问题,同时引入了海量样本静态辅助检测方法,在大规模样本的场景下能够加快检测的速度,同时具有识别相关恶意代码的能力,有助于恶意软件研究人员及时发现风险,避免更大的损失。本专利技术采用的技术方案如下:一种面向海量Windows软件的未知恶意代码检测方法,其步骤包括:对目标软件进行预处理:筛选出格式规范的Windows平台可执行文件,并初步判断是恶意还是良性,若为恶意则作为恶意样本;对恶意样本进行静态辅助检测:结合敏感字符串与ImpHash值,自动生成针对恶意样本的规则,根据该规则和已有的规则构建恶意样本的特征库,判断恶意样本是否匹配该特征库的规则,若匹配则判定为恶意,否则为良性;对恶意样本进行动态行为分类:动态运行上述判定为良性的恶意样本,获取动态运行时的API调用序列,输入到深度神经网络模型中进行分类,判断其是恶意还是良性;若恶意样本被静态辅助检测和动态行为分类中的一个判定为恶意,则最终判定为恶意软件,否则判定为良性软件。进一步地,预处理方法为检查目标软件的格式,筛选出格式规范的Windows平台可执行文件,再借助在线检测工具VirusTotal进行初步判定是良性还是恶意。进一步地,利用恶意软件模式匹配工具yara进行静态辅助检测,将yara规则库作为已有的规则库,其包括yara-rules官方库以及由ClamAV特征码转换后的yara规则库。进一步地,敏感字符串的提取方法是,首先获取恶意样本的可打印字符串,然后删除提前收集的良性软件中存在的所有字符串,保留恶意软件字符串集合,最后筛选出敏感的字符串集合,该集合包含一定数量的URL、IP、Hash、File,系统敏感位置和注册表路径。进一步地,结合ImpHash值生成针对恶意样本的规则,方法为,基于导入地址表中库/API名称及其在可执行文件中的特定顺序创建散列,如果文件之间具有相同的ImpHash值,则判定这些文件具有相同的导入地址表,判定这些文件由相同的源代码采用相同的编码方式编译得到,从而识别出相关恶意软件。进一步地,深度神经网络模型为textCNN深度神经网络模型。进一步地,textCNN深度神经网络模型包括卷积层、池化层、拼接层、全连接层和分类层;其中,卷积层包括三类卷积核,每类的数量为12本文档来自技高网
...

【技术保护点】
1.一种面向海量Windows软件的未知恶意代码检测方法,其特征在于,包括以下步骤:/n对目标软件进行预处理:筛选出格式规范的Windows平台可执行文件,并初步判断是恶意还是良性,若为恶意则作为恶意样本;/n对恶意样本进行静态辅助检测:结合敏感字符串与ImpHash值,自动生成针对恶意样本的规则,根据该规则和已有的规则构建恶意样本的特征库,判断恶意样本是否匹配该特征库的规则,若匹配则判定为恶意,否则为良性;/n对恶意样本进行动态行为分类:动态运行上述判定为良性的恶意样本,获取动态运行时的API调用序列,输入到深度神经网络模型中进行分类,判断其是恶意还是良性;/n若恶意样本被静态辅助检测和动态行为分类中的一个判定为恶意,则最终判定为恶意软件,否则判定为良性软件。/n

【技术特征摘要】
1.一种面向海量Windows软件的未知恶意代码检测方法,其特征在于,包括以下步骤:
对目标软件进行预处理:筛选出格式规范的Windows平台可执行文件,并初步判断是恶意还是良性,若为恶意则作为恶意样本;
对恶意样本进行静态辅助检测:结合敏感字符串与ImpHash值,自动生成针对恶意样本的规则,根据该规则和已有的规则构建恶意样本的特征库,判断恶意样本是否匹配该特征库的规则,若匹配则判定为恶意,否则为良性;
对恶意样本进行动态行为分类:动态运行上述判定为良性的恶意样本,获取动态运行时的API调用序列,输入到深度神经网络模型中进行分类,判断其是恶意还是良性;
若恶意样本被静态辅助检测和动态行为分类中的一个判定为恶意,则最终判定为恶意软件,否则判定为良性软件。


2.如权利要求1所述的方法,其特征在于,预处理方法为检查目标软件的格式,筛选出格式规范的Windows平台可执行文件,再借助在线检测工具VirusTotal进行初步判定是良性还是恶意。


3.如权利要求1所述的方法,其特征在于,利用恶意软件模式匹配工具yara进行静态辅助检测,将yara规则库作为已有的规则库,其包括yara-rules官方库以及由ClamAV特征码转换后的yara规则库。


4.如权利要求1所述的方法,其特征在于,敏感字符串的提取方法是,首先获取恶意样本的可打印字符串,然后删除提前收集的良性软件中存在的所有字符串,保留恶意软件字符串集合,最后筛选出敏感的字符串集合,该集合包含一定数量的URL、IP、Hash、File,系统敏感位置和注册表路径。


5.如权利要求1所述的方法,其特征在于,结合ImpHash值生成针对恶意样本的规则,其方法为,基于导入地址表中库/API名称及其在可执行文件中的特定顺序创建散列,如果文件之间具有相同的ImpHash值,则判定这些文件具有相同的导入地...

【专利技术属性】
技术研发人员:贾晓启李帅陈阳杜海超白璐解亚敏唐静
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1