CN113760764A - 应用程序检测方法、装置、电子设备及存储介质 - Google Patents

应用程序检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113760764A
CN113760764A CN202111055937.5A CN202111055937A CN113760764A CN 113760764 A CN113760764 A CN 113760764A CN 202111055937 A CN202111055937 A CN 202111055937A CN 113760764 A CN113760764 A CN 113760764A
Authority
CN
China
Prior art keywords
application
target
feature
features
dynamic
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.)
Pending
Application number
CN202111055937.5A
Other languages
English (en)
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202111055937.5A priority Critical patent/CN113760764A/zh
Publication of CN113760764A publication Critical patent/CN113760764A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Abstract

本申请公开了一种应用程序检测方法、装置、电子设备及存储介质,涉及数据处理技术领域。该方法包括:获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图;获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性;将所述动态特征与所述静态特征进行融合,得到目标特征;基于所述目标特征对所述应用程序的风险性进行检测。本方法实现了能够基于融合了动态特征与静态特征的目标特征对应用程序的风险性进行检测,相比于基于纯动态特征对应用程序的风险性进行检测的准确率更高,从而可以提升检测恶意应用程序的可靠性与准确度。

Description

应用程序检测方法、装置、电子设备及存储介质
技术领域
本申请涉及安全检测技术领域,更具体地,涉及一种应用程序检测方法、装置、电子设备及存储介质。
背景技术
近年来,随着智能手机的迅速普及,各式各样的应用软件如雨后春笋般拔地而起。然而,在互联网黑灰产业的诱导下,出现了很多窃取用户隐私、恶意拉活、或者恶意诱导下载的恶意应用程序,严重侵犯了用户的隐私保护需求,同时也降低了手机系统的流畅度,因此,如何对恶意应用程序进行可靠而高效的检测与发现成为了一个亟待解决的问题。
发明内容
本申请提出了一种应用程序检测方法、装置、电子设备及存储介质,以改善上述问题。
第一方面,本申请实施例提供了一种应用程序检测方法,所述方法包括:获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图;获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性;将所述动态特征与所述静态特征进行融合,得到目标特征;基于所述目标特征对所述应用程序的风险性进行检测。
第二方面,本申请实施例提供了一种应用程序检测方法,所述方法包括:获取待检测应用程序;根据上述第一方面所述的方法所涉及的目标神经网络模型对所述待检测应用程序的风险性进行检测。
第三方面,本申请实施例提供了一种应用程序检测装置,所述装置包括:第一特征获取模块,用于获取多个应用程序的动态特征;第二特征获取模块,用于获取所述多个应用程序的静态特征;第三特征获取模块,用于将所述动态特征与所述静态特征进行融合,得到目标特征;检测模块,用于基于所述目标特征对所述应用程序的风险性进行检测。
第四方面,本申请实施例提供了一种应用程序检测装置,所述装置包括:获取单元,用于获取待检测应用程序;检测单元,用于根据上述第三方面所述的装置所涉及的目标神经网络模型对所述待检测应用程序的风险性进行检测。
第五方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第一方面提供的应用程序检测方法或第二方面提供的应用程序检测方法。
第六方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的应用程序检测方法或第二方面提供的应用程序检测方法。
本申请提供的一种应用程序检测方法、装置、电子设备及存储介质,通过获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图;获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性;将所述动态特征与所述静态特征进行融合,得到目标特征;基于所述目标特征对所述应用程序的风险性进行检测。从而通过上述方式实现了能够基于融合了动态特征与静态特征的目标特征对应用程序的风险性进行检测,相比于基于纯动态特征对应用程序的风险性进行检测的准确率更高,从而可以提升检测恶意应用程序的可靠性与准确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的一种应用程序检测方法的流程图。
图2示出了本申请实施例提供的整体算法框架结构示意图。
图3示出了本申请实施例提供的整体算法流程图。
图4示出了本申请另一实施例提供的一种应用程序检测方法的流程图。
图5示出了本申请一实施例提供的一种应用程序检测装置的结构框图。
图6示出了本申请另一实施例提供的一种应用程序检测装置的结构框图。
图7示出了本申请实施例提供的一种电子设备的结构框图。
图8示出了本申请实施例的用于保存或者携带实现根据本申请实施例的应用程序检测方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
近年来,随着智能手机的迅速普及,各式各样的应用软件如雨后春笋般拔地而起。然而,在互联网黑灰产业的诱导下,出现了很多窃取用户隐私、恶意拉活、或者恶意诱导下载的恶意应用程序,严重侵犯了用户的隐私保护需求,同时也降低了手机系统的流畅度。
目前市场上存在多种恶意应用程序,表现出不同的恶意行为。但在恶意应用程序的源代码中,该多种恶意应用程序均含有执行该恶意行为的源代码,这些恶意代码可能会在API调用、手机权限获取、被执行时机等方面具有共性。同时很多恶意应用程序还属于换壳应用程序,即仅仅换了应用程序或者安卓应用程序安装包(APK)的名称,但是行使和换壳前的应用程序相同的恶意行为,因此难以通过固定的应用程序黑名单进行筛选和检测恶意应用程序,其中,该黑名单为通过安装包(APK)的属性进行定义的名单。并且,在通过上述方式筛选和检测恶意应用程序时,需要对恶意应用程序进行标注,而对恶意应用程序的标注需要专业人员从源代码层面进行标注,耗时耗力。因此,如何对恶意应用程序进行可靠而高效的检测与发现成为了一个亟待解决的问题。
作为一种检测和发现恶意应用程序的方式,可以基于特征码检测和发现恶意应用程序。该种方法需要专门的恶意软件分析师,对恶意应用程序进行代码反编译分析,从恶意代码内部不同位置提取一些字节序列作为恶意应用程序的特征,之后再通过同样发现从其他应用程序中提取特征码,对恶意特征码进行匹配来检测恶意应用程序。然而,此方法费时费力,而且很难具有很好的普适性。
或者可以基于静态源码特征分析的方法检测和发现恶意应用程序。该种方法是对恶意应用程序进行逆向分析,然后从源代码层面提取多种特征,比如调用的API、获取的权限等等,最后基于机器学习或者深度学习进行模型训练,采用训练之后的模型进行恶意应用程序的检测。虽然此方法相比于基于特征码检测和发现恶意应用程序具有更好的普适性,但仍需要对每个应用程序进行反编译提取特征,需要较高的时间和人力成本。
或者可以基于动态应用行为特征分析的方法检测和发现恶意应用程序。该种方法是从恶意行为层面进行分析,依据应用程序表现出的行为构建行为图数据或者序列数据,然后从数据提取特征进行机器学习或者深度学习的模型训练,进行恶意行为的检测,当一个应用表现出恶意行为时则被认定为恶意应用。此方法无需进行逆向分析,人力成本和时间成本更低,但完全缺失了应用程序内部的信息,可能导致了应用程序的误检测。
发明人经过长期的研究发现,可以通过获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图;获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性;将所述动态特征与所述静态特征进行融合,得到目标特征;基于所述目标特征对所述应用程序的风险性进行检测。从而通过上述方式实现了能够基于融合了动态特征与静态特征的目标特征对应用程序的风险性进行检测,相比于基于纯动态特征对应用程序的风险性进行检测的准确率更高,从而可以提升检测恶意应用程序的可靠性与准确度。
因此,为了改善上述问题,发明人提出了本申请提供的可以提升检测恶意应用程序的风险性的准确度的应用程序检测方法、装置、电子设备及存储介质。
下面将结合附图具体描述本申请的各实施例。
请参阅图1,示出了本申请一实施例提供的一种应用程序检测方法的流程图,本实施例提供一种应用程序检测方法,可应用于服务器。该方法包括:
步骤S110:获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图。
其中,本实施例中的应用程序可以为安卓应用程序(本申请实施例以应用程序为安卓应用程序为例进行说明),或者可以为iOS应用程序,应用程序的具体类型可以不作限定。多个应用程序可以理解为电子设备上安装的所有应用程序(包括系统应用程序以及第三方应用程序,或者仅包括第三方应用程序),可选的,此处的多个应用程序可以为两个及以上数量的应用程序。
恶意应用程序会存在恶意诱导下载(例如,当用户下载了应用程序A时,应用程序A会诱导用户下载应用程序B、应用程序C等)、窃取用户隐私(例如,恶意获取手机权限)等恶意行为,严重影响了用户的使用体验,因此,为了优化这一问题,本实施方式中可以将所有安卓应用程序的应用数据以及行为数据发送给服务器,由服务器来判断应用程序是否为恶意应用程序。应用数据表征应用程序的应用属性,例如,该应用属性可以包括应用程序安装数量、应用程序安装人数、应用程序激活时屏幕状态、应用程序是否已被拦截、应用程序的类型属性(例如音乐类程序,清理类程序等)、使用应用程序的用户数、应用程序权限以及应用程序进程状态等。不同的应用属性的属性特性不同,例如,如下表1所示,不同的应用属性的数据类型不同:
表1常见应用程序的属性特性
应用属性 数据类型
应用程序安装数量 int
应用程序安装人数 int
应用程序激活时屏幕状态 string
应用程序是否已被拦截 bool
应用程序类型属性(音乐类,清理类等) string
使用程序应用的用户数 int
应用程序权限 string
应用程序进程状态 string
而行为数据可以包括窃取用户隐私、恶意拉活、恶意诱导下载等恶意行为。
作为一种方式,服务器可以从多个应用程序的行为数据中获取多个应用程序的动态特征,其中,该动态特征表征多个应用程序之间的相似性行为构成的向量图,即可以将多个应用程序中的每一个应用程序的行为用向量图的形式表示出来,并且将所有应用程序之间具有相似性的行为表示在一个向量图上,则可以将最终得到的向量图作为多个应用程序的动态特征。
在一种实现方式中,可以基于多个应用程序之间的交互行为构成向量图,该交互行为可以理解为不同的应用程序之间共有的行为(例如,假设应用程序A和应用程序B均会恶意诱导下载应用程序C,那么可以判定应用程序A和应用程序B之间存在交互行为)。可选的,同一个应用程序可以和不同的应用程序之间存在交互行为,例如,假设应用程序A和应用程序B均存在恶意诱导下载应用程序C的行为,而应用程序A和应用程序C均存在窃取用户相册图片的行为,那么可以判定应用程序A和应用程序B之间存在交互行为、以及应用程序A和应用程序C之间存在交互行为。该向量图包括多个节点,每个节点表征一个应用程序;再对向量图中的任意多个节点进行相似性分析,例如可以按照实际场景进行节点预筛选,以提前过滤掉不可能出现恶意行为的应用程序。在进行相似性分析时,可以按照图中的每个节点的接近中心性、出度、入度或聚集性等图特征,来分析图特征的相似性,或者可以按照余弦相似性的比较方式来进行相似性分析,按照余弦相似性分析的具体过程在此不再赘述。
进一步的,可以基于相似性分析后的结果图获取应用行为序列,具体的,可以在基于相似性分析后的结果图上进行游走获得应用行为序列。其中,按照不同的行为场景,可以采取不同的游走方法。例如,在社交网络场景下,可以采用DeepWalk方法在基于相似性分析后的结果图上进行游走,其中,DeepWalk方法的原理为:采用随机游走的方法生成节点序列,结合word2vec进行embedding学习,即直接随机选择向量图中的节点,沿着图中的边进行随机游走得到应用行为序列。
例如,在应用程序诱导下载行为场景下,研究应用程序诱导下载其他应用程序的关系,此时应用程序A诱导下载应用程序B的行为,存在特定方向信息,此时诱导下载行为图的所有节点为所有应用程序,依据诱导下载行为构建应用程序节点之间的有向边,此时适合采用node2vec方法,可以验证有向边的方向,设定控制游走方向的参数,获得对应的诱导下载行为序列(即应用行为序列)。
再例如,在恶意拉活场景下,应用程序A通过组件B恶意拉起应用程序C,以此来提高应用程序C的用户活跃度,此时恶意拉起行为属于特定方向信息,构建的拉起行为图中的所有节点包含了所有涉及到的应用程序和组件,含有了两种不同类型的节点,在节点之间还存在有向边,因此此时的行为图属于有向异质图,适合采用Metapath2vec方法,可以提前设定游走时的源路径,比如路径“应用->组件->应用”或“组件->应用->组件”,以此来知道游走的方向,进而得到合适的恶意拉起序列(即应用行为序列)。
本实施例中仅以上述三种游走方法为例进行说明,实际实现时还可以采用其他游走方法,具体不做限定,例如,还可以采用LINE(即对图节点的一阶邻居和二阶邻居进行拟合学习,最后融合生成embedding)、GraRep(需要对图的全局信息进行构建,采用矩阵分解对K阶邻居进行拟合,最终融合生成embedding)、SDNE(采用多层神经网络对每个节点进行自编码,从二阶邻居和一阶邻居两个维度进行模型拟合和embedding学习)、Stuc2vec(针对于节点的结构相似性建模,依据网络拓扑度来衡量节点相似性,最后采用word2vec进行embedding学习)以及GraphSage(直接采用图神经网络对图的聚合函数进行学习,聚合函数从每个节点邻域学习特征,最后生成embedding)等游走方法获得应用行为序列。
在获取了应用行为序列之后,可以对应用行为序列进行网络嵌入学习(即embedding学习),将embedding学习后得到的结果作为多个应用程序的动态特征,其中,embedding学习后得到的结果包括多个应用程序各自的行为信息。
步骤S120:获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性。
作为一种方式,可以从前述的所有安卓应用程序的应用数据中获取多个应用程序的静态特征,该静态特征表征多个应用程序各自的应用属性。例如,该静态特征可以包括应用类型、是否为官方商城应用、是否被拦截等特征。
作为一种实施方式,可以通过数据埋点获取多个应用程序的静态特征,即预先在所有安卓应用程序中存储所有应用属性的数据类型,当识别到某个应用程序中包括某一应用属性时,会自动上报该应用属性对应的数据类型,从而可以获取到多个应用程序各自的应用属性。
步骤S130:将所述动态特征与所述静态特征进行融合,得到目标特征。
本实施例中,为了避免采用纯动态特征来检测和发现恶意应用程序时,影响检测的准确率,可以将应用程序的动态特征与静态特征进行融合,得到目标特征,再基于目标特征来检测和发现恶意应用程序。
其中,得到的动态特征为一个向量图,即可以理解为一个矩阵,得到的静态特征包括多种应用属性,可以将静态特征转换成一个数组,在这种方式下,可以按照特征串联、特征堆叠或加权平均的方式将动态特征与静态特征进行融合,得到目标特征。可选的,在按照特征串联的方式将动态特征与静态特征进行融合时,可以将动态特征表征的矩阵和静态特征表征的数组串起来,形成一个大的矩阵,从而可以基于更全面的特征数据来检测和发现恶意应用程序。可选的,若采用特征堆叠的方式将动态特征与静态特征进行融合时,可以将动态特征表征的矩阵和静态特征表征的数组并联起来,形成一个高维矩阵,以实现更全面、更准确的检测和发现恶意应用程序。
本实施例中,通过将包含动态应用行为信息的embedding特征(即动态特征)和包含静态应用属性信息的特征进行融合,无需对源代码进行反编译,同时采用融合特征进行模型学习(参见后续描述),使得整个算法更快更准,从而可以更准确的检测和发现恶意应用程序。
步骤S140:基于所述目标特征对所述应用程序的风险性进行检测。
作为一种实现方式,可以将所述目标特征以及指定数量的标签数据输入待训练的神经网络模型,得到目标神经网络模型,以通过所述目标神经网络模型对所述应用程序的风险性进行检测。
其中,指定数量可以理解为较少的数量,指定数量的具体数值可以不做限定。例如,假设所有安卓应用程序的数量为200个,那么指定数量可以为10个、15个或者18个等,具体数量可以根据实际需求进行调整。指定数量的标签数据为经过标注的恶意应用程序,可选的,可以采用人工标注或者其他算法(例如社团检测算法)的方式对指定数量的恶意应用进行标注,以获得指定数量的标签数据。
需要说明的是,该指定数量的标签数据为可靠且准确的恶意应用程序,可选的,当标注方式为人工标注时,若标注应用程序为恶意应用程序的人数超过预设数量,那么可以判定将应用程序标注为恶意应用程序是可靠且准确的。例如,当采用人工标注时,若100个人都下载了应用程序A来使用,若100个人里面有99个人都标注应用程序A为恶意应用程序(假设用户有权限使用恶意应用标注功能),那么可以判定将应用程序A标注为恶意应用程序是可靠且准确的。
作为一种方式,可以将目标特征以及由指定数量的标签数据构建的数据集(此时可以理解为训练数据集)输入待训练的神经网络模型(例如,该神经网络模型可以为卷积神经网络),对待训练的神经网络模型进行非监督学习模型训练,将训练完成得到的模型作为目标神经网络模型,以通过该目标神经网络模型对应用程序的风险性进行检测。
下面结合附图对本实施例进行示例性的说明:
请参阅图2以及图3,分别示出了本实施例提供的整体算法框架结构示意图以及整体算法流程图。如图2所示,本实施例中的算法框架包括可以并行运行的embedding学习模块、非监督学习模块以及数据标注模块,当服务器获取到了应用程序的应用数据及行为数据时,可以如图3中的S101所示的将应用程序的应用属性信息及其行为信息数据集构建为原始数据集,例如可以通过数据埋点、数据仓库抓取等方式获取用户手机上使用的安卓应用程序的动态行为数据和静态属性信息,进而构建原始数据集。
同时,如图2所示,可以通过embedding学习模块对应用程序的行为数据进行数据预处理,数据预处理过程具体包括如图3中的S102,即对数据集进行异常值处理,缺失值清理,提取有效的应用行为数据,为embedding学习做准备。再根据预处理后的数据进行行为图构建,具体包括如图3所示的S105:依据应用行为构建应用行为图,依据实际场景进行节点预筛选,以便于提前过滤掉不可能出现恶意行为的应用,避免误检测。进一步的,可以对节点预筛选后得到的行为图进行embedding学习,以得到应用程序的embedding结果(即动态特征),embedding学习的过程可以包括如图3所示的S106:在应用图上采用合适的方式进行游走获得应用行为序列,以及S107:基于合适的embedding学习算法进行应用的embedding学习,进而可以将得到的embedding特征作为应用程序的动态特征。
与此同时,可以通过半监督学习模块从应用程序的应用数据中提取(静态)应用属性特征,具体如图3中的S103所示,基于原始数据集提取应用的静态属性信息,再将提取到的静态特征和学习得到的动态特征进行特征融合,如图3所示的S108:将动态embedding特征和静态应用属性特征进行特征融合。
在embedding学习模块以及半监督学习模块工作的同时,还可以通过数据标注模块获取标注数据,例如可以获取由人工或其他算法标注的少量标签数据,即如图3所示的S104:采用人工或者其他算法进行标注,对准确可靠的少量恶意应用打上标签。
在获取了融合特征以及可靠的少量标签数据的情况下,可以将融合特征以及可靠的少量标签数据均输入待训练的神经网络模型,以训练得到能够检测应用程序的风险性的目标神经网络模型。具体的,如图3的所示S109以及S110所示,可以以融合特征作为输入,在带有部分标签的新数据集上进行非监督学习,基于训练完毕的模型进行恶意应用的检测与发现。
需要说明的是,在一些其他实施方式中,采用本实施例提供的模型训练方法训练得到的目标神经网络模型还可以用于检测与发现恶意帐户/账户,或者是应用于社交网络反欺诈等场景,具体检测过程的实现原理与本申请类似,在此不再赘述。
本实施例提供的应用程序检测方法,通过获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图;获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性;将所述动态特征与所述静态特征进行融合,得到目标特征;基于所述目标特征对所述应用程序的风险性进行检测。从而通过上述方式实现了能够基于融合了动态特征与静态特征的目标特征对应用程序的风险性进行检测,相比于基于纯动态特征对应用程序的风险性进行检测的准确率更高,从而可以提升检测恶意应用程序的可靠性与准确度。
请参阅图4,示出了本申请另一实施例提供的一种应用程序检测方法的流程图,本实施例提供一种应用程序检测方法,可应用于服务器,该方法包括:
步骤S210:获取待检测应用程序。
可选的,本实施例中的待检测应用程序可以为一个或者多个应用程序。作为一种方式,可以将所有安卓应用程序均作为待检测应用程序,也可以为应用程序配置风险检测功能,当检测到某个应用程序的风险检测功能处于开启状态时,生成风险检测指令,并将该应用程序识别为待检测应用程序。例如,假设应用程序A的界面上配置有风险检测功能的启闭按钮(可以是虚拟按钮),当检测到该风险检测功能处于开启状态时,可以将应用程序A识别为待检测应用程序。
步骤S220:根据如前述实施例所述的目标神经网络模型对所述待检测应用程序的风险性进行检测。
其中,关于对应用程序的风险性进行检测的具体检测原理以及检测过程可以参考前述实施例中的描述,在此不再赘述。
本实施例提供的应用程序检测方法,通过获取待检测应用程序,根据如前述实施例所述的目标神经网络模型对所述待检测应用程序的风险性进行检测。从而通过上述方式实现了能够根据融合了动态特征与静态特征的目标特征对待训练的神经网络模型进行训练,得到目标神经网络模型,可以提升目标神经网络模型检测应用程序的风险性的准确性,进而提升检测恶意应用程序的可靠性。
请参阅图5,为本申请一实施例提供的一种应用程序检测装置的结构框图,本实施例提供一种应用程序检测装置300,可以运行于服务器,所述装置300包括:第一特征获取模块310、第二特征获取模块320、第三特征获取模块330以及检测模块340:
第一特征获取模块310,用于获取多个应用程序的动态特征。
作为一种方式,第一特征获取模块310具体可以用于基于所述多个应用程序之间的交互行为构成向量图,所述向量图包括多个节点,每个节点表征一个应用程序;对所述向量图中的任意多个节点进行相似性分析;基于相似性分析后的结果图获取应用行为序列;对所述应用行为序列进行网络嵌入学习,得到包括所述多个应用程序各自的行为信息的动态特征。
第二特征获取模块320,用于获取所述多个应用程序的静态特征。
作为一种方式,第二特征获取模块320具体可以用于通过数据埋点获取所述多个应用程序的静态特征。
第三特征获取模块330,用于将所述动态特征与所述静态特征进行融合,得到目标特征。
作为一种方式,第三特征获取模块330具体可以用于按照特征串联、特征堆叠或加权平均的方式将所述动态特征与所述静态特征进行融合,得到目标特征。
检测模块340,用于基于所述目标特征对所述应用程序的风险性进行检测。
作为一种方式,检测模块340具体可以用于将所述目标特征以及指定数量的标签数据输入待训练的神经网络模型,得到目标神经网络模型,以通过所述目标神经网络模型对所述应用程序的风险性进行检测。
其中,在将所述目标特征以及指定数量的标签数据输入待训练的神经网络模型时,可以将所述目标特征以及由指定数量的标签数据构建的数据集输入待训练的神经网络模型,对所述待训练的神经网络模型进行非监督学习模型训练,将训练完成得到的模型作为目标神经网络模型。
请参阅图6,为本申请另一实施例提供的一种应用程序检测装置的结构框图,本实施例提供一种应用程序检测装置400,可以运行于服务器,所述装置400包括:获取单元410以及检测单元420:
获取单元410,用于获取待检测应用程序。
检测单元420,用于根据如前述实施例所述的目标神经网络模型对所述待检测应用程序的风险性进行检测。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图7,基于上述的应用程序检测方法及装置,本申请实施例还提供了一种可以执行前述应用程序检测方法的电子设备100。电子设备100包括存储器102以及相互耦合的一个或多个(图中仅示出一个)处理器104,存储器102以及处理器104之间通信线路连接。存储器102中存储有可以执行前述实施例中内容的程序,而处理器104可以执行存储器102中存储的程序。
其中,处理器104可以包括一个或者多个处理核。处理器104利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器102内的指令、程序、代码集或指令集,以及调用存储在存储器102内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器104可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器104可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器104中,单独通过一块通信芯片进行实现。
存储器102可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器102可用于存储指令、程序、代码、代码集或指令集。存储器102可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现前述各个实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图8,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质500中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质500可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质500包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质500具有执行上述方法中的任何方法步骤的程序代码510的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码510可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的一种应用程序检测方法、装置、电子设备及存储介质,通过获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图;获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性;将所述动态特征与所述静态特征进行融合,得到目标特征;基于所述目标特征对所述应用程序的风险性进行检测。从而通过上述方式实现了能够基于融合了动态特征与静态特征的目标特征对应用程序的风险性进行检测,相比于基于纯动态特征对应用程序的风险性进行检测的准确率更高,从而可以提升检测恶意应用程序的可靠性与准确度。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种应用程序检测方法,其特征在于,所述方法包括:
获取多个应用程序的动态特征,所述动态特征表征所述多个应用程序之间的相似性行为构成的向量图;
获取所述多个应用程序的静态特征,所述静态特征表征所述多个应用程序各自的应用属性;
将所述动态特征与所述静态特征进行融合,得到目标特征;
基于所述目标特征对所述应用程序的风险性进行检测。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标特征对所述应用程序的风险性进行检测,包括:
将所述目标特征以及指定数量的标签数据输入待训练的神经网络模型,得到目标神经网络模型,以通过所述目标神经网络模型对所述应用程序的风险性进行检测。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标特征以及指定数量的标签数据输入待训练的神经网络模型,得到目标神经网络模型,包括:
将所述目标特征以及由指定数量的标签数据构建的数据集输入待训练的神经网络模型,对所述待训练的神经网络模型进行非监督学习模型训练,将训练完成得到的模型作为目标神经网络模型。
4.根据权利要求1所述的方法,其特征在于,所述获取多个应用程序的动态特征,包括:
基于所述多个应用程序之间的交互行为构成向量图,所述向量图包括多个节点,每个节点表征一个应用程序;
对所述向量图中的任意多个节点进行相似性分析;
基于相似性分析后的结果图获取应用行为序列;
对所述应用行为序列进行网络嵌入学习,得到包括所述多个应用程序各自的行为信息的动态特征。
5.根据权利要求1所述的方法,其特征在于,所述将所述动态特征与所述静态特征进行融合,得到目标特征,包括:
按照特征串联、特征堆叠或加权平均的方式将所述动态特征与所述静态特征进行融合,得到目标特征。
6.根据权利要求1所述的方法,其特征在于,所述获取所述多个应用程序的静态特征,包括:
通过数据埋点获取所述多个应用程序的静态特征。
7.一种应用程序检测方法,其特征在于,所述方法包括:
获取待检测应用程序;
根据如权利要求2或3所述的目标神经网络模型对所述待检测应用程序的风险性进行检测。
8.一种应用程序检测装置,其特征在于,所述装置包括:
第一特征获取模块,用于获取多个应用程序的动态特征;
第二特征获取模块,用于获取所述多个应用程序的静态特征;
第三特征获取模块,用于将所述动态特征与所述静态特征进行融合,得到目标特征;
检测模块,用于基于所述目标特征对所述应用程序的风险性进行检测。
9.一种应用程序检测装置,其特征在于,所述方法包括:
获取单元,用于获取待检测应用程序;
检测单元,用于根据如权利要求2或3所述的目标神经网络模型对所述待检测应用程序的风险性进行检测。
10.一种电子设备,其特征在于,包括一个或多个处理器以及存储器;
一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行权利要求1-6或7任一所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-6或7任一所述的方法。
CN202111055937.5A 2021-09-09 2021-09-09 应用程序检测方法、装置、电子设备及存储介质 Pending CN113760764A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111055937.5A CN113760764A (zh) 2021-09-09 2021-09-09 应用程序检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111055937.5A CN113760764A (zh) 2021-09-09 2021-09-09 应用程序检测方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113760764A true CN113760764A (zh) 2021-12-07

Family

ID=78794393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111055937.5A Pending CN113760764A (zh) 2021-09-09 2021-09-09 应用程序检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113760764A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491530A (zh) * 2021-12-20 2022-05-13 西安电子科技大学 基于抽象流图和图神经网络的安卓应用程序分类方法
CN114491530B (zh) * 2021-12-20 2024-05-17 西安电子科技大学 基于抽象流图和图神经网络的安卓应用程序分类方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491530A (zh) * 2021-12-20 2022-05-13 西安电子科技大学 基于抽象流图和图神经网络的安卓应用程序分类方法
CN114491530B (zh) * 2021-12-20 2024-05-17 西安电子科技大学 基于抽象流图和图神经网络的安卓应用程序分类方法

Similar Documents

Publication Publication Date Title
CN111401416B (zh) 异常网站的识别方法、装置和异常对抗行为的识别方法
CN103839005A (zh) 移动操作系统的恶意软件检测方法和恶意软件检测系统
CN105989144B (zh) 通知消息管理方法、装置、系统及终端设备
WO2017080007A1 (zh) 一种识别码智能分析处理系统及其处理方法
CN110084064B (zh) 基于终端的大数据分析处理方法及系统
CN105426761B (zh) 一种非法应用的识别方法及移动终端
CN105653947B (zh) 一种评估应用数据安全风险的方法及装置
CN110071924B (zh) 基于终端的大数据分析方法及系统
KR20150083627A (ko) 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법
CN113572752A (zh) 异常流量的检测方法和装置、电子设备、存储介质
CN105205398B (zh) 一种基于apk加壳软件动态行为的查壳方法
Geng et al. RRPhish: Anti-phishing via mining brand resources request
CN106874718B (zh) 隐私处理方法、装置及终端
CN114157568A (zh) 一种浏览器安全访问方法、装置、设备及存储介质
CN113760764A (zh) 应用程序检测方法、装置、电子设备及存储介质
CN110598115A (zh) 一种基于人工智能多引擎的敏感网页识别方法及系统
CN113873450B (zh) 短信配置方法、装置、计算机设备和存储介质
CN109450853A (zh) 恶意网站判定方法、装置、终端及服务器
CN112817816B (zh) 埋点处理方法、装置、计算机设备和存储介质
CN106933860B (zh) 恶意统一资源定位符识别方法和装置
CN113595797A (zh) 告警信息的处理方法、装置、电子设备及存储介质
CN113849812A (zh) 应用程序检测方法、装置以及电子设备
CN112487421A (zh) 基于异质网络的安卓恶意应用检测方法及系统
KR102096893B1 (ko) 복제된 이미지의 추적을 위한 식별 코드를 삽입하는 장치 및 방법
CN113674083A (zh) 互联网金融平台信用风险监测方法、装置及计算机系统

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