CN109840417B - 一种恶意软件检测方法及装置 - Google Patents

一种恶意软件检测方法及装置 Download PDF

Info

Publication number
CN109840417B
CN109840417B CN201711211556.5A CN201711211556A CN109840417B CN 109840417 B CN109840417 B CN 109840417B CN 201711211556 A CN201711211556 A CN 201711211556A CN 109840417 B CN109840417 B CN 109840417B
Authority
CN
China
Prior art keywords
analysis
malicious software
deep learning
target application
network model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711211556.5A
Other languages
English (en)
Other versions
CN109840417A (zh
Inventor
神克乐
刘云浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201711211556.5A priority Critical patent/CN109840417B/zh
Publication of CN109840417A publication Critical patent/CN109840417A/zh
Application granted granted Critical
Publication of CN109840417B publication Critical patent/CN109840417B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种恶意软件检测方法及装置,所述方法包括:若针对目标应用的许可静态分析判定结果为正常应用,则对深度学习的β参数赋值为初始设定值,获取初始深度学习网络模型;基于给定恶意软件库的字节码,对所述初始深度学习网络模型进行训练和测试,获取目标深度学习网络模型;利用所述目标深度学习网络模型,对所述目标应用的字节码进行静态特征分析,并对所述目标应用进行动态分析;判断所述静态特征分析和所述动态分析的判定结果是否为恶意软件,若二者结果均为恶意软件,则判定所述目标应用为恶意软件。本发明能够有效提高恶意软件检测的准确度,降低误判率,保护移动互联网用户的安全隐私,且具有较低的开销。

Description

一种恶意软件检测方法及装置
技术领域
本发明涉及移动互联网安全技术领域,更具体地,涉及一种恶意软件检测方法及装置。
背景技术
近年来,随着PC互联网日趋饱和的状态,移动互联网凭借其更方便的优势,开始持续飞速发展。作为移动互联网终端的各种智能设备,通过搭载移动操作系统,实现多样化的功能。如今市场上主流的移动操作系统包含苹果公司推出的IOS系统以及谷歌公司推出的安卓(Android)系统,其中安卓凭借其优秀的定制化以及开源等优势,占据了较大的市场份额。
然而,正是由于安卓系统市场的繁荣、拥有众多的用户以及其开源性,该平台也被更多的恶意攻击。手段包括移动病毒、移动木马、后门程序、蠕虫、间谍软件以及僵尸网络等多种形式,形式包括窃取用户的支付信息、个人信息以及GPS定位信息等等。据统计,如今高达97%的智能设备恶意软件是针对安卓系统进行开发的。
为了阻止恶意软件的侵入,目前常用的软件检测方法包括静态检测法和动态检测法。参考图1,为现有技术针对安卓恶意软件安全检测的动态与静态分析的对比示意图。
静态分析法是基于特征的分析方法,需要比对恶意软件库,优点在于可以高效的探测到特征库里标明的恶意软件,以很小的代价检测到恶意软件。然而,由于它并不能检测出特征库未包含的恶意软件,因此,具有很大的局限性。已有的基于Dalvik字节码的分析方法优点在于比基于特征分析能更全面的检测到恶意软件数量,同时降低误判率。但是,这些方法在实施时需要消耗手机大量的内存和功耗,而安卓手机的移动性决定了不能提供这些资源。
动态分析中对程序的整个工作流程进行跟踪。如果一个关键数据进入程序,称之为源点(source),如果它离开程序,传入网络,称离开程序的点为汇点。动态分析从源点开始跟踪程序到汇点,可以在不用解析程序的源代码的基础上,对恶意软件进行检测。例如,TaintDroid作为典型的动态分析方法,利用给每个关键数据增加标签(label)的方式,来追踪该数据在程序中的移动。动态分析在跟踪恶意软件的攻击过程更为高效,但其开销较大,并且会在一定范围内影响应用的性能,也覆盖不到静态分析所能检测的一部分恶意软件。
另外,Google Play提供了一种名为Bouncer的恶意软件过滤机制,通过针对应用的动态分析评估实现对恶意软件的过滤。但是,恶意软件开发者能够通过将一些常用的应用进行重新打包,隐藏一些重要的用户信息来绕过Bouncer检测,在市场上发布恶意软件。
综上,针对安卓系统的恶意攻击会造成用户隐私泄露、财产安全等问题,无论是静态检测法还是动态检测法,或者是Google Play提供的Bouncer检测机制依然存在一定的局限性和漏洞,效果并不是很突出。为了维护安卓用户的使用安全,防止大量用户的隐私及财产信息被窃取,需要设计更强大的恶意软件安全检测技术来识别并阻止恶意攻击。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明提供一种恶意软件检测方法及装置,用以有效提高恶意软件检测的准确度,降低误判率,保护移动互联网用户的安全隐私。
一方面,本发明提供一种恶意软件检测方法,包括:S1,若针对目标应用的许可静态分析判定结果为正常应用,则对深度学习的β参数赋值为初始设定值,获取初始深度学习网络模型,其中所述β参数表征深度学习的训练强度,取值与训练强度成正比;S2,基于给定恶意软件库的字节码,对所述初始深度学习网络模型进行训练和测试,获取目标深度学习网络模型;S3,利用所述目标深度学习网络模型,对所述目标应用的字节码进行静态特征分析,并对所述目标应用进行动态分析;S4,判断所述静态特征分析和所述动态分析的判定结果是否为恶意软件,若二者结果均为恶意软件,则判定所述目标应用为恶意软件。
进一步的,在所述S4的步骤中,所述方法还包括:若所述静态特征分析和所述动态分析的判定结果中有且只有一个为恶意软件,则将所述β参数取值加1,更新所述初始深度学习网络模型;重复执行所述S2至S3的步骤,直至判断所述静态特征分析和所述动态分析的判定结果均为恶意软件。
进一步的,在所述S4的步骤中,所述方法还包括:若所述静态特征分析和所述动态分析的判定结果均为正常应用,或者达到预设循环次数,则判定所述目标应用为非恶意软件。
进一步的,在所述S1的步骤之前,所述方法还包括:对所述目标应用进行许可静态分析,并判断所述许可静态分析的判定结果是否为正常应用,若否,则判定所述目标应用为恶意软件。
其中,所述对所述目标应用进行许可静态分析,并判断所述许可静态分析的判定结果是否为正常应用的步骤进一步包括:对所述目标应用的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验,并根据所述匹配检验的匹配结果判断所述许可静态分析的判定结果是否为正常应用。
其中,所述对所述目标应用的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验的步骤进一步包括:选取所述目标应用中的manifest文件,对所述manifest文件的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验。
其中,所述S2的步骤进一步包括:将所述给定恶意软件库的字节码及对应的恶意软件类型分为训练子集和测试子集;基于所述训练子集中的训练样本,利用深度学习算法,训练所述初始深度学习网络模型,优化所述初始深度学习网络模型的网络参数;利用所述测试子集中的测试样本,对优化后的所述初始深度学习网络模型进行测试,输出满足设定测试条件的网络模型作为所述目标深度学习网络模型。
进一步的,在所述S4的步骤之后,所述方法还包括:将所述恶意软件载入到隔离区。
其中,所述预设循环次数进一步具体为不大于3的正整数。
另一方面,本发明提供一种恶意软件检测装置,包括:至少一个存储器、至少一个处理器、通信接口和总线;所述存储器、所述处理器和所述通信接口通过所述总线完成相互间的通信,所述通信接口用于所述检测装置与用户移动终端设备通信接口和恶意软件库之间的信息传输;所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的恶意软件检测方法。
本发明提供的一种恶意软件检测方法及装置,通过采用多层次混合分析的可验证策略,利用机器学习理论,对网络中存在的恶意软件分布情况进行分析,能够有效提高恶意软件检测的准确度,降低误判率,保护移动互联网用户的安全隐私,且具有较低的开销。
附图说明
图1为现有技术针对安卓恶意软件安全检测的动态与静态分析的对比示意图;
图2为本发明实施例一种恶意软件检测方法的流程图;
图3为本发明实施例一种深度学习网络模型的构建过程流程图;
图4为本发明实施例另一种恶意软件检测方法的流程图;
图5为本发明实施例一种恶意软件检测装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
作为本发明实施例的一个方面,本实施例提供一种恶意软件检测方法,参考图2,为本发明实施例一种恶意软件检测方法的流程图,包括:
S1,若针对目标应用的许可静态分析判定结果为正常应用,则对深度学习的β参数赋值为初始设定值,获取初始深度学习网络模型,其中所述β参数表征深度学习的训练强度,取值与训练强度成正比。
可以理解为,本实施例采用混合式,即静态加动态分析的方法进行恶意软件的检测。在静态分析的过程中,采用深度学习的策略优化分析的效率。在采用本实施例方法进行恶意软件检测之前,已经根据一定的获取流程获取到目标应用的许可静态分析判定结果为正常应用,即对目标应用的许可静态分析结果显示该目标应用为非恶意软件。
由于许可静态分析存在一定的局限性,采用本实施例的方法对许可静态分析的结果进行进一步验证。因此步骤S1中通过对深度学习的β参数赋初值实现对深度学习网络模型的初始花。具体通过对β参数赋值初始设定值实现,如赋值β参数初值为1,建立初始深度学习网络模型。其中β参数取值的大小决定下一轮分析的深度学习训练的强弱,取值越大表示训练数据集越大,也越耗时。
S2,基于给定恶意软件库的字节码,对所述初始深度学习网络模型进行训练和测试,获取目标深度学习网络模型。
可以理解为,在根据上述步骤获取初始深度学习网络模型之后,需要利用已知样本使该模型进行自主学习和优化,并在优化结束之后用另外的已知样本对优化完成的模型进行性能测试,即测试该模型是否能对给定的数据进行准确检测。
步骤S2中以给定恶意软件库为样本数据源库,从中选择一部分字节码和对应的恶意软件类型作为训练样本,选择另外一部分字节码和对应的恶意软件类型作为测试样本。利用训练样本对初始深度学习网络模型进行训练,修正模型参数。在到达一定的训练标准之后,用测试样本对训练好的模型进行测试,获取满足测试标准的模型,作为目标深度学习网络模型输出。
其中可选的,所述S2的进一步处理步骤参考图3,为本发明实施例一种深度学习网络模型的构建过程流程图,包括:
S21,将所述给定恶意软件库的字节码及对应的恶意软件类型分为训练子集和测试子集。
可以理解为,为了对初始深度学习网络模型进行训练,获取更优的网络参数,从给定恶意软件库中选择一部分字节码和对应的恶意软件类型作为训练样本。为了验证训练好的模型的检测性能,从给定恶意软件库中选择另外一部分字节码和对应的恶意软件类型作为测试样本。
S22,基于所述训练子集中的训练样本,利用深度学习算法,训练所述初始深度学习网络模型,优化所述初始深度学习网络模型的网络参数。
可以理解为,在获取训练样本之后,需要利用该训练样本对初始深度学习网络模型进行训练,以得到更优的网络参数,从而使模型拥有更优的测试性能。具体的,依次利用训练样本中的各字节码作为初始深度学习网络模型的输入,进行深度学习计算,根据输出结果与训练样本中对应的恶意软件类型的比较,修正网络模型参数,直至训练结果满足设定训练标准。
S23,利用所述测试子集中的测试样本,对优化后的所述初始深度学习网络模型进行测试,输出满足设定测试条件的网络模型作为所述目标深度学习网络模型。
可以理解为,对于上述步骤已完成训练的模型,需要用另外的测试样本测试其性能。具体利用步骤S21中获取的测试样本,对优化后的初始深度学习网络模型进行测试。将测试样本中的各字节码作为模型输入,利用模型计算输出,并通过比较该输出与测试样本中对应恶意软件类型,测试网络性能。若测试结果满足设定测试条件,则认为该模型合格了,将该网络模型作为目标深度学习网络模型输出。
S3,利用所述目标深度学习网络模型,对所述目标应用的字节码进行静态特征分析,并对所述目标应用进行动态分析。
可以理解为,在完成深度学习网络模型的训练和测试后,得到满足设定标准的目标深度学习网络模型。利用该目标深度学习网络模型对目标应用的字节码进行静态特征分析。本实施例利用深度学习的理论对目标应用的字节码进行特征分析,第一轮β赋值为1,表示训练数据不需要太大。此时如果通过静态特征分析判定为恶意软件,由于静态特征分析容易产生误判,为了防止产生误判的情况,继续用动态分析方法来检测目标应用。
S4,判断所述静态特征分析和所述动态分析的判定结果是否为恶意软件,若二者结果均为恶意软件,则判定所述目标应用为恶意软件。
可以理解为,在上述步骤对目标应用分别进行静态特征分析和动态分析之后,两种分析均输出对应的分析结果。本步骤分别判断两种分析的判定结果是否均为恶意软件,即判断二者对于目标应用的分析结果是否均为恶意软件,若是,即在判断静态特征分析结果为恶意软件的基础上,再进行动态分析的结果仍然为恶意软件,则认为该目标应用确实为恶意软件,输出检测结果为恶意软件。
在一个实施例中,在所述S4的步骤之后,所述方法还包括:将所述恶意软件载入到隔离区。
可以理解为,在根据上述实施例检测到目标应用为恶意软件后,为了避免该恶意软件侵入正常系统,保护用户数据安全,将检测到的恶意软件载入到隔离区。可选的,可根据该应用的重要程度选择将该应用程序停止后载入隔离区,或载入隔离区继续运行。
本发明实施例提供的一种恶意软件检测方法,通过采用多层次混合分析的可验证策略,利用机器学习理论,对网络中存在的恶意软件分布情况进行分析,能够有效提高恶意软件检测的准确度,降低误判率,保护移动互联网用户的安全隐私,且具有较低的开销。
进一步的,在所述S4的步骤中,所述方法还包括:若所述静态特征分析和所述动态分析的判定结果中有且只有一个为恶意软件,则将所述β参数取值加1,更新所述初始深度学习网络模型;重复执行所述S2至S3的步骤,直至判断所述静态特征分析和所述动态分析的判定结果均为恶意软件。
可以理解为,在根据上述实施例的步骤S4中,分别对针对目标应用的静态特征分析和动态分析的判定结果进行恶意软件判断,判断结果中会出现二者中有且只有一个判定为恶意软件的情况。在这种情况下继续对β的取值进行加1更新,并更新初始深度学习网络模型,转入步骤S2进入下一轮网络模型建立,以及对目标应用的特征分析。
若分析结果仍是静态特征分析和动态分析的结果中有且只有一个判定为恶意软件,则再在β当前值的基础上加1,进入再下一轮检测流程,如此迭代循环,直至二者的判断结果均为恶意软件,输出该目标应用为恶意软件,结束检测流程。由于后续深度学习的训练数据集变大,分析的精确度也相应增加。
进一步的,在所述S4的步骤中,所述方法还包括:若所述静态特征分析和所述动态分析的判定结果均为正常应用,或者达到预设循环次数,则判定所述目标应用为非恶意软件。
其中可选的,所述预设循环次数进一步具体为不大于3的正整数。
可以理解为,在根据上述实施例的步骤S4中,分别对针对目标应用的静态特征分析和动态分析的判定结果进行恶意软件判断,判断结果中会出现二者均判定为正常应用的情况,或者根据上述实施例迭代循环检测分析的步骤,循环次数达到预先设定的循环次数时,认为该目标应用为正常应用。如果几轮检测分析下来二者不能统一将目标应用判定为恶意软件,或者均判定为正常应用,那么将该目标应用判定为正常应用。为了保证时效性,一般将β设置为不大于3的正整数。
进一步的,在所述S1的步骤之前,所述方法还包括:对所述目标应用进行许可静态分析,并判断所述许可静态分析的判定结果是否为正常应用,若否,则判定所述目标应用为恶意软件。
可以理解为,在根据上述实施例方法进行目标应用的检测之前,还包括对目标应用的许可静态分析。即首先对目标应用采取许可静态分析,并判断该许可静态分析判定结果是否为正常应用软件,如果发现目标应用与给定恶意软件库中的恶意软件行为匹配,则判定该目标应用为恶意软件并结束流程。
其中可选的,所述对所述目标应用进行许可静态分析,并判断所述许可静态分析的判定结果是否为正常应用的步骤进一步包括:对所述目标应用的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验,并根据所述匹配检验的匹配结果判断所述许可静态分析的判定结果是否为正常应用。
可以理解为,在根据上述实施例对目标应用进行许可静态分析时,首先提取目标应用的行为和给定恶意软件库中软件的恶意行为,将目标应用的行为与该恶意行为进行匹配校验,并对匹配结果进行判断,从而确定许可静态分析的判定结果是不是正常应用软件。若目标应用的行为与给定恶意软件库中软件的恶意行为相匹配,则判定许可静态分析的判定结果为恶意软件,并结束流程。
在一个实施例中,所述对所述目标应用的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验的步骤进一步包括:选取所述目标应用中的manifest文件,对所述manifest文件的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验。
可以理解为,由于许可静态分析主要是对比manifest文件里面的内容是否为恶意软件,本实施例选取目标应用中的manifest文件,对manifest文件的行为与给定恶意软件库中软件的恶意行为进行匹配校验。若二者相匹配,则说明目标应用与库中的恶意软件具有相同或相近的功能,认为该目标应用为恶意软件。
在上述实施例的基础上,为了更清楚地对本发明进行说明,参考图4,为本发明实施例另一种恶意软件检测方法的流程图。图中首先对目标应用采取许可静态分析,由于许可静态分析主要是判断manifest文件里面的内容是否有异常,因此其开销小。如果发现目标应用与给定恶意软件库中的恶意软件行为匹配,则判定该目标应用为恶意软件并结束流程。否则,继续接受下一轮分析。这是由于许可静态分析经常会漏掉一些恶意软件。
之后,对β赋值为1,该变量的大小决定下一轮分析的深度学习训练的强弱,越大表示训练数据集越大,也越耗时。然后利用深度学习的理论去对目标应用的字节码进行静态特征分析。第一轮β为1,表示的是训练数据不需要太大。此时如果静态特征分析的判定结果为恶意软件,由于静态特征分析容易产生误判,为了防止产生误判的情况,继续用动态分析方法来检测目标应用。
如果目标应用仍然被判定为恶意软件,则判定该目标应用为恶意软件。如果以上两种分析只有一种分析判定结果为恶意软件,则继续对β进行加1,进入下一轮特征分析。由于此次深度学习的训练数据集变大,因此,分析的精确度增加,然后再迭代的进入下一轮判断。考虑到时效性,一般将β设置为不大于3的正整数。如果几轮下来上述两种分析不能统一将目标应用判定为恶意软件,或者均判定为正常应用,则最终将目标应用判定为正常应用。
需要注意的是,之所以需要进行多轮特征分析,是为了提高恶意软件检测的效率。由于深度学习需要运行较长的时间,如果第一轮两种分析均判定为恶意软件,可以直接判定目标应用为恶意软件,并提前结束本轮检测分析。
作为本发明实施例的另一个方面,本实施例提供一种恶意软件检测装置,参考图5,为本发明实施例一种恶意软件检测装置的结构框图,包括:至少一个存储器1、至少一个处理器2、通信接口3和总线4。
其中,存储器1、处理器2和通信接口3通过总线4完成相互间的通信,通信接口3用于所述检测装置与用户移动终端设备通信接口和恶意软件库之间的信息传输;存储器1中存储有可在处理器2上运行的计算机程序,处理器2执行所述程序时实现如上述实施例所述的恶意软件检测方法。
可以理解为,所述的恶意软件检测装置中至少包含存储器1、处理器2、通信接口3和总线4,且存储器1、处理器2和通信接口3通过总线4形成相互之间的通信连接,并可完成相互间的通信。
通信接口3实现检测装置与用户移动终端设备通信接口和恶意软件库之间的通信连接,并可完成相互间信息传输,如通过通信接口3实现对移动终端设备目标应用的获取等。
检测装置运行时,处理器2调用存储器1中的程序指令,以执行上述各检测方法实施例所提供的检测方法处理流程,例如包括:利用所述目标深度学习网络模型,对所述目标应用的字节码进行静态特征分析,并对所述目标应用进行动态分析。以及若判断获知所述静态特征分析和所述动态分析的判定结果均为正常应用,或者达到预设循环次数,则判定所述目标应用为非恶意软件等。
本发明另一个实施例中,提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述实施例所述的恶意软件检测方法。
可以理解为,实现上述检测方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的恶意软件检测装置的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,既可以位于一个地方,或者也可以分布到不同网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解,各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROMRAM、磁碟、光盘等,包括若干指令,用以使得一台计算机设备(如个人计算机,服务器,或者网络设备等)执行上述各检测方法实施例或者检测方法实施例的某些部分所述的方法。
本发明实施例提供的一种恶意软件检测装置和一种非暂态计算机可读存储介质,通过采用多层次混合分析的可验证策略,利用机器学习理论,对网络中存在的恶意软件分布情况进行分析,能够有效提高恶意软件检测的准确度,降低误判率,保护移动互联网用户的安全隐私,且具有较低的开销。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种恶意软件检测方法,其特征在于,包括:
S1,若针对目标应用的许可静态分析判定结果为正常应用,则对深度学习的β参数赋值为初始设定值,获取初始深度学习网络模型,其中所述β参数表征深度学习的训练强度,取值与训练强度成正比;
S2,基于给定恶意软件库的字节码,对所述初始深度学习网络模型进行训练和测试,获取目标深度学习网络模型;
S3,利用所述目标深度学习网络模型,对所述目标应用的字节码进行静态特征分析,并对所述目标应用进行动态分析;
S4,判断所述静态特征分析和所述动态分析的判定结果是否为恶意软件,若二者结果均为恶意软件,则判定所述目标应用为恶意软件。
2.根据权利要求1所述的方法,其特征在于,在所述S4的步骤中,还包括:
若所述静态特征分析和所述动态分析的判定结果中有且只有一个为恶意软件,则将所述β参数取值加1,更新所述初始深度学习网络模型;
重复执行所述S2至S3的步骤,直至判断所述静态特征分析和所述动态分析的判定结果均为恶意软件。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述静态特征分析和所述动态分析的判定结果均为正常应用,或者达到预设循环次数,则判定所述目标应用为非恶意软件。
4.根据权利要求1所述的方法,其特征在于,在所述S1的步骤之前,还包括:
对所述目标应用进行许可静态分析,并判断所述许可静态分析的判定结果是否为正常应用,若否,则判定所述目标应用为恶意软件。
5.根据权利要求4所述的方法,其特征在于,所述对所述目标应用进行许可静态分析,并判断所述许可静态分析的判定结果是否为正常应用的步骤进一步包括:
对所述目标应用的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验,并根据所述匹配检验的匹配结果判断所述许可静态分析的判定结果是否为正常应用。
6.根据权利要求5所述的方法,其特征在于,所述对所述目标应用的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验的步骤进一步包括:
选取所述目标应用中的manifest文件,对所述manifest文件的行为与所述给定恶意软件库中软件的恶意行为进行匹配检验。
7.根据权利要求1所述的方法,其特征在于,所述S2的步骤进一步包括:
将所述给定恶意软件库的字节码及对应的恶意软件类型分为训练子集和测试子集;
基于所述训练子集中的训练样本,利用深度学习算法,训练所述初始深度学习网络模型,优化所述初始深度学习网络模型的网络参数;
利用所述测试子集中的测试样本,对优化后的所述初始深度学习网络模型进行测试,输出满足设定测试条件的网络模型作为所述目标深度学习网络模型。
8.根据权利要求1所述的方法,其特征在于,在所述S4的步骤之后,还包括:
将所述恶意软件载入隔离区。
9.根据权利要求3所述的方法,其特征在于,所述预设循环次数进一步具体为不大于3的正整数。
10.一种恶意软件检测装置,其特征在于,包括:至少一个存储器、至少一个处理器、通信接口和总线;
所述存储器、所述处理器和所述通信接口通过所述总线完成相互间的通信,所述通信接口用于所述检测装置与用户移动终端设备通信接口和恶意软件库之间的信息传输;
所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至9中任一所述的检测方法。
CN201711211556.5A 2017-11-28 2017-11-28 一种恶意软件检测方法及装置 Active CN109840417B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711211556.5A CN109840417B (zh) 2017-11-28 2017-11-28 一种恶意软件检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711211556.5A CN109840417B (zh) 2017-11-28 2017-11-28 一种恶意软件检测方法及装置

Publications (2)

Publication Number Publication Date
CN109840417A CN109840417A (zh) 2019-06-04
CN109840417B true CN109840417B (zh) 2020-12-01

Family

ID=66880673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711211556.5A Active CN109840417B (zh) 2017-11-28 2017-11-28 一种恶意软件检测方法及装置

Country Status (1)

Country Link
CN (1) CN109840417B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111417121B (zh) * 2020-02-17 2022-04-12 西安电子科技大学 具有隐私保护的多恶意软件混合检测方法、系统、装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930210A (zh) * 2012-10-14 2013-02-13 江苏金陵科技集团公司 恶意程序行为自动化分析、检测与分类系统及方法
CN105205396A (zh) * 2015-10-15 2015-12-30 上海交通大学 一种基于深度学习的安卓恶意代码检测系统及其方法
CN107341401A (zh) * 2017-06-21 2017-11-10 清华大学 一种基于机器学习的恶意应用监测方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489514B2 (en) * 2013-10-11 2016-11-08 Verisign, Inc. Classifying malware by order of network behavior artifacts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930210A (zh) * 2012-10-14 2013-02-13 江苏金陵科技集团公司 恶意程序行为自动化分析、检测与分类系统及方法
CN105205396A (zh) * 2015-10-15 2015-12-30 上海交通大学 一种基于深度学习的安卓恶意代码检测系统及其方法
CN107341401A (zh) * 2017-06-21 2017-11-10 清华大学 一种基于机器学习的恶意应用监测方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于深度学习的安卓恶意应用检测";苏志达,祝跃飞,刘龙;《计算机应用》;20170610;第37卷(第6期);全文 *
Zi Wang;Juecong Cai;Sihua Cheng;Wenjia Li."DroidDeepLearner: Identifying Android Malware".《2016 IEEE 37th Sarnoff Symposium》.2017, *

Also Published As

Publication number Publication date
CN109840417A (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
Lin et al. Identifying android malicious repackaged applications by thread-grained system call sequences
US11882134B2 (en) Stateful rule generation for behavior based threat detection
CN105426760A (zh) 一种安卓恶意应用的检测方法及装置
Chaba et al. Malware detection approach for android systems using system call logs
CN103617393A (zh) 一种基于支持向量机的移动互联网恶意应用软件检测方法
Li et al. Detection, classification and characterization of android malware using api data dependency
CN110765000B (zh) 一种程序测试方法及装置
Martinelli et al. I find your behavior disturbing: Static and dynamic app behavioral analysis for detection of android malware
CN111859394A (zh) 基于tee的软件行为主动度量方法及系统
Suarez-Tangil et al. Thwarting obfuscated malware via differential fault analysis
Feng et al. Android malware detection via graph representation learning
Grace et al. Behaviour analysis of inter-app communication using a lightweight monitoring app for malware detection
KR101557455B1 (ko) 응용 프로그램 코드 분석 장치 및 그것을 이용한 코드 분석 방법
CN109840417B (zh) 一种恶意软件检测方法及装置
Canbay et al. Detection of mobile applications leaking sensitive data
CN108197475B (zh) 一种恶意so模块检测方法及相关装置
Chen et al. Detecting mobile application malicious behaviors based on data flow of source code
Congyi et al. Method for detecting Android malware based on ensemble learning
US11695793B2 (en) Vulnerability scanning of attack surfaces
CN107358101B (zh) 一种基于权限模式的勒索软件检测方法及系统
CN108509796B (zh) 一种风险性的检测方法及服务器
CN106778276B (zh) 一种检测无实体文件恶意代码的方法及系统
Tabrizi et al. Intrusion detection system for embedded systems
Wu et al. Identifying latent android malware from application’s description using LSTM
Han et al. Context awareness through reasoning on private analysis for Android application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant