风险特征数据生成方法、风险检测方法、装置及设备与流程

未命名 08-14 阅读:92 评论:0


1.本技术涉及应用程序技术领域,尤其涉及一种风险特征数据生成方法、风险检测方法、装置及设备。


背景技术:

2.随着软件技术的快速发展,人们逐渐开始利用软件技术去获取服务提供商所提供的服务,极大的便利了人们的生活。目前,服务提供商通常需要在应用管理平台上发布其用于提供服务的应用的应用安装包,应用管理平台的管理人员通常需要基于人工经验去识别出存在风险的应用安装包,并从存在风险的应用安装包中提取一段代码或者证书等作为风险特征数据,以利用人工选取出的风险特征数据去对待发布的应用安装包进行风险检测。不过,由于不法分子通常可以使用加固技术、混淆技术以及自动化打包技术等,去对待发布的存在风险的应用程序包进行处理,以改变待发布的存在风险的应用安装包中的代码及证书,从而导致无法利用曾经提取到的风险特征数据去准确识别待发布的应用安装包是否存在风险。
3.基于此,如何保障针对存在风险的应用安装包提取出的风险特征数据的准确性,以利用风险特征数据去准确识别其他应用安装包是否存在风险,成为了亟待解决的技术问题。


技术实现要素:

4.本说明书实施例提供的一种风险特征数据生成方法、风险检测方法、装置及设备,可以保障针对存在风险的应用安装包提取出的风险特征数据的准确性,以能够利用风险特征数据去准确识别其他应用安装包是否存在风险。
5.为解决上述技术问题,本说明书实施例是这样实现的:
6.本说明书实施例提供的一种风险特征数据生成方法,包括:
7.获取存在风险的应用安装包;
8.从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种;
9.根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。
10.本说明书实施例提供的一种针对应用安装包的风险检测方法,包括:
11.获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用安装包中的第一配置清单文档处获取的;
12.获取待进行风险检测的目标应用安装包;
13.利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致;
14.针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。
15.本说明书实施例提供的一种风险特征数据生成装置,包括:
16.第一获取模块,用于获取存在风险的应用安装包;
17.第二获取模块,用于从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种;
18.风险特征数据生成模块,用于根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。
19.本说明书实施例提供的一种针对应用安装包的风险检测装置,包括:
20.第一获取模块,用于获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用安装包中的第一配置清单文档处获取的;
21.第二获取模块,用于获取待进行风险检测的目标应用安装包;
22.风险特征数据生成模块,用于利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致;
23.风险检测结果生成模块,用于针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。
24.本说明书实施例提供的一种风险特征数据生成设备,包括:
25.至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,
26.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
27.获取存在风险的应用安装包;
28.从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种;
29.根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。
30.本说明书实施例提供的一种针对应用安装包的风险检测设备,包括:
31.至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,
32.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
33.获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的
应用安装包中的第一配置清单文档处获取的;
34.获取待进行风险检测的目标应用安装包;
35.利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致;
36.针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。
37.本说明书中提供的至少一个实施例能够实现以下有益效果:
38.由于应用安装包中的配置清单文档中的部分应用权限信息及文档结构信息,不会受到加固、混淆以及自动化打包等技术的影响,从而可以从存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合和/或文档结构信息集合,以利用这些较为稳定的应用权限信息集合和/或文档结构信息集合,去生成存在风险的应用安装包的风险特征数据,有利于保障针对存在风险的应用安装包提取出的风险特征数据的准确性及鲁棒性,进而能够利用这些风险特征数据去准确识别其他应用安装包是否存在风险,安全可靠,方便快捷。
附图说明
39.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
40.图1为本说明书实施例提供的一种风险特征数据生成方法及风险检测方法的应用场景示意图;
41.图2为本说明书实施例提供的一种风险特征数据生成方法的流程示意图;
42.图3为本说明书实施例提供的一种针对应用安装包的风险检测方法的流程示意图;
43.图4为本说明书实施例提供的对应于图2及图3中的方法的泳道流程示意图;
44.图5为本说明书实施例提供的对应于图2的一种风险特征数据生成装置的结构示意图;
45.图6为本说明书实施例提供的对应于图3的一种针对应用安装包的风险检测装置的结构示意图;
46.图7为本说明书实施例提供的对应于图2的一种风险特征数据生成设备的结构示意图;
47.图8为本说明书实施例提供的对应于图3的一种针对应用安装包的风险检测设备的结构示意图。
具体实施方式
48.为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基
于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
49.以下结合附图,详细说明本说明书各实施例提供的技术方案。
50.目前,工作人员通常会在人工识别出存在风险的应用安装包后,基于自身经验从存在风险的应用安装包中提取一段代码、字符串、证书等作为特征码。后续,当需要对某个应用安装包进行风险检测时,可以利用风险检测系统对该应用安装包进行扫描和分析,检查其是否包含已知特征码。若是,则风险检测系统会提示工作人员该应用安装包存在风险,并提供相应的解决方案。
51.然而随技术的升级,不法分子逐渐开始使用加固、混淆以及使用自动化编辑工具对存在风险的应用安装包进行处理,以随机化存在风险的应用安装包的包名、证书、代码等,以使得存在风险的应用安装包的形态多样化,并隐藏存在风险的应用安装包的自身特征,最终导致无法使用曾经提取到的特征码(即风险特征数据)去准确检测其他应用安装包是否存在风险。
52.为了解决现有技术中的缺陷,本方案给出了以下实施例:
53.图1为本说明书实施例提供的一种风险特征数据生成方法及风险检测方法的应用场景示意图。如图1所示,各个应用安装包的提供方可以预先利用各自的设备101向应用管理平台102上传应用安装包,应用管理平台102则可以检测获取到的应用安装包是否存在风险,若确定存在风险,则可以利用设备103(即用于提取风险特征数据的设备)去从存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种;以及,根据获取到的应用权限信息集合与文档结构信息集合中的至少一种,生成该存在风险的应用安装包的风险特征数据。
54.后续,当需要针对目标应用安装包进行风险检测时,应用管理平台102则可以利用目标应用安装包中的第二配置清单文档,去生成与上述风险特征数据的种类一致的目标应用安装包的风险特征数据;通过对该存在风险的应用安装包的风险特征数据与该目标应用安装包的风险特征数据进行比对处理,可以得到针对该目标应用安装包的风险检测结果,安全可靠,方便快捷。
55.接下来,将针对说明书实施例提供的针对应用安装包的风险特征数据生成方法及风险检测方法结合附图进行具体说明:
56.图2为本说明书实施例提供的风险特征数据生成方法的流程示意图。从程序角度而言,该流程的执行主体可以为用于提取风险特征数据的设备,或者,该设备处搭载的应用程序。如图2所示,该流程可以包括以下步骤:
57.步骤202:获取存在风险的应用安装包。
58.本说明书实施例中,应用安装包(application package,英文缩写apk),又称为应用程序包。由于一个应用程序的代码想要在设备的操作系统中运行,通常需要先进行编译,然后被打包成为一个被操作系统所能识别的文件才可以被运行,而这种能被操作系统识别并运行的文件格式便是“apk”。一个应用安装包apk内通常可以包含被编译的代码文件(.dex文件),文件资源(resources),原生资源文件(assets),证书(certificates),签名文件(meta-inf)和配置清单文档(manifest file)等。
59.在实际应用中,存在风险的应用安装包可以为android apk,此时,操作系统既可
以是windows系统,也可以是android系统。当然,存在风险的应用安装包也可以是在其他种类的操作系统处安装应用程序所需使用的程序包,对此不作具体限定。
60.本说明书实施例中,需要预先识别出存在风险的应用安装包,以便于从存在风险的应用安装包中提取风险特征数据。在实际应用中,该存在风险的应用安装包既可以是基于人工经验对应用安装包进行分析确定出的,也可以是利用从其他存在风险的应用安装包中提取出的特征码确定出的,或者,也可以是采用其他方式确定出的,对此不作具体限定。
61.步骤204:从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种。
62.本说明书实施例中,应用安装包中通常均设置有配置清单文档(manifest file),它可以用来描述应用程序的应用名、安装包名称、所需的应用权限、所需注册的组件、服务、版本号等信息。配置清单文档可以使用xml文件格式,并且可以被编译为axml格式。
63.在实际应用中,应用安装包的开发者可以在配置清单文档中声明应用程序所需使用的权限,例如,访问网络权限、访问文件权限、访问相机权限等。用户在利用应用安装包去安装应用程序时,会看到这些权限的描述信息,然后决定是否允许应用程序使用这些权限。除此之外,配置清单文档还可以用来声明应用程序的主要组件,例如活动(activity)、服务(service)、广播接收器(broadcastreceiver)等,这些组件可以用于负责实现应用程序的主要功能。
64.在实际应用中,配置清单文档通常具有树状结构,它可以从根部开始,然后延伸到子部,最后延申至枝叶。具体的,配置清单文档可以包含根(父)节点、子节点及叶子节点等三种类型的元素。其中,根节点可以为树的最顶端的节点,xml文档必须包含根节点,且根节点只有一个。子节点为除根节点之外,本身下面还连接有节点的节点。叶子节点可以为自己下面不再连接有节点的节点(即末端)。基于此,配置清单文档中的元素之间的连接关系可以作为配置清单文档的文档结构信息。
65.本说明书实施例中,应用安装包在经过加固处理后,应用安装包中的代码路径、核心函数通常会发生较大变化,并且,可能会新增一部分应用权限及组件,不过,配置清单文档中的原始应用权限及组件变化不大;以及,应用安装包在经过混淆处理后,应用安装包中的函数、代码路径、字符串、资源路径名等通常会发生较大变化,不过代码结构通常变化不大;还有,应用安装包在经过自动化打包处理后,应用安装包的安装包名称、证书、应用名、数字签名等通常会发生较大变化;基于此,可变应用信息可以包括但不限于:函数、代码路径、字符串、资源路径名、安装包名称、证书、应用名及数字签名等。而不受可变应用信息影响的应用权限信息集合与文档结构信息集合,则可以为从配置清单文档中提取出的不会随着上述可变应用信息的变化而改变的应用权限信息以及元素之间的连接关系信息。
66.步骤206:根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。
67.本说明书实施例中,由于步骤204中获取到的所述应用权限信息集合与所述文档结构信息集合均属于较为稳定,且能够反映存在风险的应用安装包的特征的信息,因此,可以根据所述应用权限信息集合和/或所述文档结构信息集合去生成该存在风险的应用安装包的风险特征数据,以利用生成的风险特征数据去针对其他应用安装包进行风险检测。并
且,若其他应用安装包具有与该风险特征数据一致的风险特征数据,则可以表示其他应用安装包具有风险的可能性较高,而若其他应用安装包不具有与该风险特征数据一致的风险特征数据,则可以表示其他应用安装包具有风险的可能性较低。
68.图2中的方法,通过从存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合和/或文档结构信息集合,以利用这些较为稳定的应用权限信息集合和/或文档结构信息集合,去生成存在风险的应用安装包的风险特征数据,有利于保障针对存在风险的应用安装包提取出的风险特征数据的准确性,进而能够利用这些风险特征数据去准确识别其他应用安装包是否存在风险,安全可靠,方便快捷。
69.基于图2中的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
70.为便于理解,在此给出获取不受可变应用信息影响的应用权限信息集合的实现方式。
71.本说明书实施例中,步骤204:从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种,具体可以包括:
72.从所述存在风险的应用安装包处获取安装包名称。
73.确定所述配置清单文档中的用于记录应用权限信息的第一元素。
74.若任一所述第一元素的元素内容中未包含所述安装包名称,则提取所述任一所述第一元素的元素内容,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息。
75.本说明书实施例中,由于应用安装包中的某些插件会通过安装包名称在配置清单文档中生成应用权限,但是,若应用安装包曾受过自动化打包处理,则应用安装包处的安装包名称会发生改变,基于此,为避免不法分子利用自动化打包技术规避风险检测,需要避免利用配置清单文档中的包含有安装包名称的应用权限信息去生成风险特征数据,即需要利用配置清单文档中的未包含安装包名称的应用权限信息去生成风险特征数据。
76.本说明书实施例中,配置清单文档中的一个元素(即xml元素)可以为从开始标签直到相应的结束标签的部分,而开始标签与相应的结束标签之间的部分可以为元素内容。在实际应用中,由于具体的应用权限信息通常被记载于元素内容中,因此,当需要获取配置清单文档中的未包含安装包名称的应用权限信息时,可以先从配置清单文档中筛选出用于记录应用权限信息的第一元素,然后,检查该第一元素的元素内容中的应用权限信息内是否包含安装包名称,若未包含,则可以提取该第一元素的元素内容中的应用权限信息作为不受可变应用信息影响的应用权限信息;而若包含,则禁止将该第一元素的元素内容中的应用权限信息作为不受可变应用信息影响的应用权限信息。
77.例如,假定,第一元素的元素内容中的应用权限信息为“jpush com.wsa.youka[pkg
[0078]
_name].permission.jpush_message”,由于其包含“[pkg_name]”,即其包含安装包名称,则其属于会受到可变应用信息影响的应用权限信息,从而使得不受可变应用信息影响的应用权限信息集合中不应该包含这条应用权限信息。
[0079]
本说明书实施例中,按照行业惯例,配置清单文档中的用于记录应用权限信息的
元素的元素名称中通常设置有预设应用权限标识,以标识该元素记录有应用权限信息,因此,可以基于预设应用权限标识去识别配置清单文档中的某元素是否属于用于记录应用权限信息的第一元素。
[0080]
基于此,确定所述配置清单文档中的用于记录应用权限信息的第一元素,可以包括;
[0081]
从配置清单文档中检索出元素名称中携带有预设应用权限标识的元素,得到第一元素。
[0082]
本说明书实施例中,配置清单文档中的元素的开始标签和/或结束标签的标签内容可以作为该元素的元素名称。例如,配置清单文档中的某元素为“《date》2008-08-08《/date》”,则元素的开始标签与结束标签的标签内容(date)可以作为该元素的元素名称。或者,若配置清单文档中的元素为“《uses-permission android:name="android.permission.system_alert_window"/》”,则元素的开始标签的标签内容(uses-permission)可以作为该元素的元素名称。
[0083]
本说明书实施例中,预设应用权限标识可以根据实际需求设置,例如,可以为“uses-permission”、“permission”等,当然,预设应用权限标识可以也可以为其他内容,对此不作具体限定。接上例,假定,预设应用权限标识为“uses-permission”,若识别出某元素的元素名称为date,则由于该元素的元素名称中未包含预设应用权限标识,从而禁止将该元素确定为第一元素。而若识别出某元素的元素名称为uses-permission,则由于该元素的元素名称中包含有预设应用权限标识,从而可以将该元素确定为第一元素。
[0084]
本说明书实施例中,配置清单文档中的元素可包含其他元素、文本或者两者的混合物,当然,配置清单文档中的元素也可以拥有属性。由于应用权限信息通常会采用属性形式被记载于元素内容中,因此,为便于理解,还给出了从元素的属性中提取不受可变应用信息影响的应用权限信息集合中的应用权限信息的实现方式。
[0085]
具体的,所述若任一所述第一元素的元素内容中未包含所述安装包名称,则提取所述任一所述第一元素的元素内容,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息,可以包括:
[0086]
若所述第一元素中用于记录应用权限信息的属性的属性值中未包含所述安装包名称,则提取所述用于记录应用权限信息的属性的属性值,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息。
[0087]
本说明书实施例中,配置清单文档中的元素的属性通常包含属性名称及属性值两部分,可以记为“属性名称=“属性值
””
,而应用权限信息通常记载于属性值部分。由于不受可变应用信息影响的应用权限信息中通常不应该包含安装包名称,基于此,可以从第一元素中提取未包含安装包名称且用于记录应用权限信息的属性的属性值,作为不受可变应用信息影响的应用权限信息集合中的应用权限信息。
[0088]
接上例,假定,第一元素为“《uses-permission android:name="android.permission.system_alert_window"/》”,则第一元素中包含的用于记录应用权限信息的属性的属性值可以为“android.permission.system_alert_window”,由于该属性值中不包含安装包名称,因此,可以作为不受可变应用信息影响的应用权限信息集合中的应用权限信息。
[0089]
为便于理解,在此给出获取不受可变应用信息影响的档结构信息集合的具体实现方式。
[0090]
本说明书实施例中,步骤204:从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文中的至少一种,具体可以包括:
[0091]
确定所述配置清单文档中的不会因应用安装包是否受到预设处理操作而发生变化的第二元素;所述预设处理操作包括:加固操作、混淆操作及自动化打包操作中的至少一种。
[0092]
从所述配置清单文档中提取任一所述第二元素的元素名称,得到不受可变应用信息影响的文档结构信息集合中的一条文档结构信息。
[0093]
本说明书实施例中,配置清单文档中的元素(即节点)之间的连接关系可以反映配置清单文档对应的树状结构信息,因此,可以提取配置清单文档中的元素之间的出现顺序作为配置清单文档的文档结构信息。
[0094]
同时,由于应用安装包经过加固操作后,会通过新增application来执行解壳代码,从而导致配置清单文档中的部分元素会因应用安装包是否曾受到加固操作而发生变化,基于此,需要忽略这些会因应用安装包是否受到预设处理操作而发生变化的元素,并仅根据不会因应用安装包是否受到预设处理操作而发生变化的第二元素,去获取不受可变应用信息影响的文档结构信息集合。
[0095]
除此之外,由于在针对应用安装包执行混淆操作和/或自动化打包操作后,会导致安装包名称以及组件名称发生变化,但是,元素的元素名称中通常并不包含安装包名称以及组件名称,基于此,可以依序提取各个第二元素的元素名称,以得到不受可变应用信息影响的文档结构信息集合。
[0096]
本说明书实施例中,由于可以预先人工识别出配置清单文档中的会因应用安装包是否受到预设处理操作而发生变化的元素的种类,并且可以根据行业惯例,确定出每个种类的元素的元素名称通常会包含的预设元素标识,以便于利用预设元素标识去从配置清单文档中筛选出第二元素。
[0097]
基于此,所述确定所述配置清单文档中的不会因应用安装包是否受到预设处理操作而发生变化的第二元素,具体可以包括:
[0098]
获取会因应用安装包是否受到所述预设处理操作而发生变化的元素的预设元素标识。
[0099]
判断所述配置清单文档中的任一元素的元素名称中是否携带有所述预设元素标识,得到判断结果。
[0100]
若所述判断结果表示所述任一元素的元素名称中未携带所述预设元素标识,则确定所述任一元素为第二元素;
[0101]
若所述判断结果表示所述任一元素的元素名称中携带有所述预设元素标识,则禁止将所述任一元素确定为第二元素。
[0102]
为便于理解,对此进行举例说明。假定,预设元素标识为“application”,而某元素为“《application android:allowbackup="false"》《/application》”,则由于该元素的元素名称中携带有预设元素标识,从而可以禁止将该元素确定为第二元素,即后续无需提取该元素的元素名称作为不受可变应用信息影响的文档结构信息集合中的文档结构信息。
[0103]
本说明书实施例中,由于配置清单文档中的应用权限信息之间的排列顺序与各个元素之间的排列顺序,能够反映存在风险的应用安装包的特征,因此,在利用不受可变应用信息影响的应用权限信息集合与文档结构信息集合生成风险特征数据时,通常需要令所述应用权限信息集合中的各条应用权限信息的排序与所述各条权限信息所属的元素在所述配置清单文档中的排序一致;所述文档结构信息集合中的各条文档结构信息的排序与所述各条文档结构信息所属的元素在所述配置清单文档中的排序一致。
[0104]
基于此,本说明书实施例中还给出了根据所述应用权限信息集合与所述文档结构信息集合生成风险特征数据的具体实现方式。
[0105]
具体的,步骤206:根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据,可以包括:
[0106]
针对所述应用权限信息集合进行哈希处理,得到所述存在风险的应用安装包的第一风险特征数据;和/或,
[0107]
针对所述文档结构信息集合进行哈希处理,得到所述存在风险的应用安装包的第二风险特征数据;和/或,
[0108]
从所述应用权限信息集合中提取第一预设数量的连续的应用权限信息,得到所述存在风险的应用安装包的第三风险特征数据;和/或,
[0109]
从所述文档结构信息集合中提取第二预设数量的连续的文档结构信息,得到所述存在风险的应用安装包的第四风险特征数据。
[0110]
本说明书实施例中,可以根据配置清单文档中的各个元素的出现顺序,依次对各个元素进行处理,以得到不受可变应用信息影响的应用权限信息集合与文档结构信息集合。或者,也可以采用其他方式进行处理,只需保障不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的信息的排序顺序符合要求即可,对此不作具体限定。
[0111]
为便于理解,对此进行举例说明。
[0112]
假定,存在风险的应用安装包的配置清单文档为:
[0113]
[0114][0115]
则提取出的不受可变应用信息影响的应用权限信息集合可以为[com.android.launcher.permission.read_settings,android.permission.foreground_service],而提取出的不受可变应用信息影响的文档结构信息集合可以为"manifest","uses-sdk","uses-permission","uses-permission","uses-permission","provider","meta-data"]。
[0116]
本说明书实施例中,为保障后续风险检测时的检测效率,可以提取不受可变应用信息影响的应用权限信息集合或者文档结构信息集合的哈希值,作为存在风险的应用安装包的风险特征数据。后续,则可以采用相同的风险特征数据提取原理,从待进行风险检测的其他应用安装包中提取出不受可变应用信息影响的应用权限信息集合或者文档结构信息集合,并计算提取出的应用权限信息集合或者文档结构信息集合的哈希值,作为该待进行风险检测的其他应用安装包的风险特征数据;通过将存在风险的应用安装包与待进行风险检测的其他应用安装包的同一种类的风险特征数据(即哈希值)进行比对,即可得到相应的风险检测结果。由于针对两者的风险特征数据进行比对时的效率较高,从而有利于提升风险检测效率。
[0117]
当然,为了保障后续风险检测时的灵活性,也可以直接将不受可变应用信息影响的应用权限信息集合或者文档结构信息集合作为风险特征数据。后续,则可以采用相同的风险特征数据提取原理,从待进行风险检测的其他应用安装包中提取出不受可变应用信息影响的应用权限信息集合或者文档结构信息集合,作为该待进行风险检测的其他应用安装包的风险特征数据。通过将存在风险的应用安装包与待进行风险检测的其他应用安装包的同一种类的风险特征数据(即应用权限信息集合和/或文档结构信息集合)进行一致性比对,即可得到相应的风险检测结果。由于针对两者的风险特征数据进行比对时,可以比对出两者之间的差异数据、数据相似度等,从而灵活性更好。
[0118]
本说明书实施例中,为保障提取出的存在风险的应用安装包的风险特征数据的准确性及有效性,还可以检验提取出的风险特征数据的风险检测准确率,并且需要在提取出的风险特征数据的风险检测准确率达到预设阈值后,再允许利用该风险特征数据去识别其他应用安装包是否存在风险。
[0119]
基于此,步骤206:根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据,还可以包括:
[0120]
利用目标风险特征数据,针对各个应用安装包样本进行风险检测处理,得到各个所述应用安装包样本的风险检测结果;其中,所述目标风险特征数据为所述第一风险特征数据、所述第二风险特征数据、所述第三风险特征数据及所述第四风险特征数据中的任意一种。
[0121]
根据各个所述应用安装包样本的风险检测结果以及各个所述应用安装包样本的预设风险标签,确定基于所述目标风险特征数据的风险检测准确率。
[0122]
若所述风险检测准确率大于等于预设阈值,则将所述目标风险特征数据确定为所述存在风险的应用安装包的用于针对其他应用安装包进行风险检测的风险特征数据。
[0123]
本说明书实施例中,应用安装包样本通常可以为曾经识别出的存在风险的应用安装包或者未存在风险的应用安装包,并且该应用安装包样本的预设风险标签可以是根据历史风险识别结果设置的反映其是否存在风险的标签。从而可以利用应用安装包样本去校验步骤206中生成的存在风险的应用安装包的风险特征数据是否可靠准确。其中,风险检测准确率的预设阈值可以根据实际需求设置,例如,可以为70%、80%等,对此不作具体限定。
[0124]
本说明书实施例中,可能存在对于关系紧密的一群存在风险的应用安装包(即同一应用家族中的存在风险的应用安装包)进行分析,以得到这一应用家族中的应用安装包的共性特征的需求。基于此,可以为步骤206中生成的各个风险特征数据,设置具有唯一性的应用家族唯一标识信息,并且若基于该风险特征数据检测出其他应用安装包存在风险,则可以将其他应用安装包划分至该风险特征数据对应的应用家族唯一标识信息所属的应用家族中,以便于后续分析。
[0125]
基于此,所述将所述目标风险特征数据确定为所述存在风险的应用安装包的用于针对其他应用安装包进行风险检测的风险特征数据之后,还可以包括:
[0126]
针对任一所述风险特征数据,生成一个应用家族唯一标识信息;所述应用家族唯一标识信息用于标识与所述存在风险的应用安装包归属于同一应用家族的目标应用安装包;目标应用安装包为基于所述任一所述风险特征数据检测出的存在风险的其他应用安装包。
[0127]
本说明书实施例中,由于在提取风险特征数据时,需要单独对配置清单文档进行处理,因此,还需要预先从存在风险的应用安装包中提取到配置清单文档。
[0128]
基于此,步骤204:从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种,具体可以包括:
[0129]
利用静态分析技术,从所述存在风险的应用安装包中提取axml格式的配置清单文档。
[0130]
从所述axml格式的配置清单文档中,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种。
[0131]
基于同样的思路,本说明书实施例中还提供了一种针对应用安装包的风险检测方法。图3为本说明书实施例提供的一种针对应用安装包的风险检测方法的流程示意图。从程序角度而言,该流程的执行主体可以为用于进行风险检测的设备,或者,该设备处搭载的应用程序。如图3所示,该流程可以包括以下步骤:
[0132]
步骤302:获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用安装包中的第一配置清单文档处获取的。
[0133]
本说明书实施例中,步骤302中提及的存在风险的应用安装包的第一风险特征数据,可以为利用图2中的方法及其实施例生成的能够用于针对其他应用安装包进行风险检测的风险特征数据,对此不作赘述。
[0134]
步骤304:获取待进行风险检测的目标应用安装包。
[0135]
本说明书实施例中,目标应用安装包可以为需要进行风险检测的应用安装包,且该目标应用安装包与步骤302中提及的存在风险的应用安装包的种类通常应保持一致。例如,当存在风险的应用安装包为android apk时,该目标应用安装包也应该为android apk,以保障风险检测的准确性。
[0136]
步骤306:利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;第二风险特征数据的种类与所述第一风险特征数据的种类一致。
[0137]
本说明书实施例中,由于通常需要判断目标应用安装包是否包含有存在风险的应用安装包的第一风险特征数据,以识别目标应用安装包是否存在风险。因此,需要采用针对第一风险特征数据的生成原理,去从目标应用安装包中提取与该第一风险特征数据的种类一致的第二风险特征数据,以通过比对第一风险特征数据与第二风险特征数据是否一致,从而确定出目标应用安装包是否包含有第一风险特征数据。
[0138]
步骤308:针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。
[0139]
本说明书实施例中,若存在与所述第一风险特征数据具有一致性的所述第二风险特征数据,则通常可以表示目标应用安装包存在风险的可能性较大,从而能够生成表示检测到目标应用安装包存在风险的风险检测结果。而若不存在与所述第一风险特征数据具有一致性的所述第二风险特征数据,则通常可以表示目标应用安装包存在风险的可能性较小,从而能够生成表示未检测到目标应用安装包存在风险的风险检测结果。
[0140]
在实际应用中,可以利用从多个存在风险的应用安装包中分别提取出的各个第一风险特征数据,与所述第二风险特征数据进行比对处理,若所述第二风险特征数据与各个第一风险特征数据均不具有一致性,则可以生成表示未检测到目标应用安装包存在风险的风险检测结果。而若所述第二风险特征数据与一个或多个第一风险特征数据具有一致性,则可以生成表示检测到目标应用安装包存在风险的风险检测结果,从而有利于提升风险检测结果的准确性及全面性。
[0141]
图3中的方法,由于存在风险的应用安装包的第一风险特征数据及目标应用安装包的第二风险特征数据,均是利用从配置清单文档中提取出的较为稳定的应用权限信息集合和/或文档结构信息集合而生成的,从而有利于保障上述风险特征数据的准确性,进而能够保障利用这些风险特征数据生成的针对目标应用安装包的风险检测结果的准确性,安全可靠,方便快捷。
[0142]
基于图3中的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
[0143]
本说明书实施例中,给出了生成目标应用安装包的第二风险特征数据的具体实现方式。
[0144]
具体的,步骤306:利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据,可以包括:
[0145]
若第一风险特征数据是根据所述第一应用权限信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二应用权限信息
集合。
[0146]
根据所述第二应用权限信息集合,生成所述目标应用安装包的第二风险特征数据。
[0147]
若第一风险特征数据是根据所述第一文档结构信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二文档结构信息集合。
[0148]
根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据。
[0149]
本说明书实施例中,针对不受可变应用信息影响的第二应用权限信息集合的获取方式及原理,与图2中方法及实施例中提及的从存在风险的应用安装包中的配置清单文档处获取不受可变应用信息影响的应用权限信息集合的方式及原理可以是一致的,对此不作赘述。
[0150]
以及,针对不受可变应用信息影响的第二文档结构信息集合的获取方式及原理,与图2中方法及实施例中提及的从存在风险的应用安装包中的配置清单文档处获取不受可变应用信息影响的文档结构信息集合的方式及原理可以是一致的,对此不作赘述。
[0151]
本说明书实施例中,若所述第一风险特征数据是对所述第一应用权限信息集合进行哈希处理得到的数据,则所述根据所述第二应用权限信息集合,生成所述目标应用安装包的第二风险特征数据,具体可以包括:
[0152]
对所述第二应用权限信息集合进行哈希处理,得到所述目标应用安装包的第二风险特征数据。
[0153]
若所述第一风险特征数据是对所述第一文档结构信息集合进行哈希处理得到的数据,则所述根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据,具体可以包括:
[0154]
对所述第二文档结构信息集合进行哈希处理,得到所述目标应用安装包的第二风险特征数据。
[0155]
对应的,步骤308:所述针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果,具体可以包括:
[0156]
判断所述第一风险特征数据与所述第二风险特征数据是否相同,得到判断结果。
[0157]
若所述判断结果表示所述第一风险特征数据与所述第二风险特征数据相同,则生成用于表示所述目标应用安装包存在风险的风险检测结果。
[0158]
本说明书实施例中,当第一风险特征数据与第二风险特征数据均为哈希值时,为保障风险检测结果的准确性,需要在第一风险特征数据与第二风险特征数据相同时,再生成用于表示目标应用安装包存在风险的风险检测结果。而若第一风险特征数据与第二风险特征数据不同,则可以生成用于表示未检测到目标应用安装包存在风险的风险检测结果。由于针对哈希值的比对过程较为简单,从而效率更高,有利于保障风险检测方法的运行效率。
[0159]
本说明书实施例中,若所述第一风险特征数据为从所述第一应用权限信息集合中提取出的第一预设数量的连续的应用权限信息,则所述根据所述第二应用权限信息集合,生成所述目标应用安装包的第二风险特征数据,具体可以包括:
[0160]
从所述第二应用权限信息集合中提取出所述第一预设数量的连续的应用权限信息,得到所述目标应用安装包的第二风险特征数据。
[0161]
若所述第一风险特征数据为从所述第一文档结构信息集合中提取出的第二预设数量的连续的文档结构信息,则所述根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据,具体可以包括:
[0162]
从所述第二文档结构信息集合中提取出所述第二预设数量的连续的文档结构信息,得到所述目标应用安装包的第二风险特征数据。
[0163]
对应的,步骤308:针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果,具体可以包括:
[0164]
针对第一风险特征数据与第二风险特征数据进行一致性比对处理,得到数据相似度。
[0165]
若所述数据相似度大于等于预设阈值,则生成用于表示所述目标应用安装包存在风险的风险检测结果。
[0166]
本说明书实施例中,为保障风险检测的准确性及灵活性,可以针对从存在风险的应用安装包及目标应用安装包中分别提取出的连续且不受可变应用信息影响的应用权限信息(即所述第一风险特征数据与所述第二风险特征数据)进行一致性比对,可以得到反映比对一致的应用权限信息的数量占比、比对不一致的应用权限信息的具体内容以及内容一致但排序不一致的应用权限信息等的比对结果,从而可以根据比对结果确定所述第一风险特征数据与所述第二风险特征数据之间的数据相似度。若所述数据相似度大于等于预设阈值,则可以表示所述第一风险特征数据与所述第二风险特征数据具有一致性,从而可以生成用于表示所述目标应用安装包存在风险的风险检测结果。而若所述数据相似度小于预设阈值,则可以表示所述第一风险特征数据与所述第二风险特征数据不具有一致性,从而可以生成用于表示未检测到所述目标应用安装包存在风险的风险检测结果。
[0167]
同理,还可以针对从存在风险的应用安装包及目标应用安装包中分别提取出的连续且不受可变应用信息影响的文档结构信息(即所述第一风险特征数据与所述第二风险特征数据)进行一致性比对,得到可以反映比对一致的文档结构信息的数量占比、比对不一致的文档结构信息的具体内容以及内容一致但排序不一致的文档结构信息等比对结果,从而可以根据比对结果确定所述第一风险特征数据与所述第二风险特征数据之间的数据相似度。若所述数据相似度大于等于预设阈值,则可以生成用于表示目标应用安装包存在风险的风险检测结果。而若所述数据相似度小于预设阈值,则可以生成用于表示未检测到目标应用安装包存在风险的风险检测结果。对此不作赘述。
[0168]
本说明书实施例中,还可以对存在风险且归属于同一应用家族的各个应用安装包进行分析,以便于发掘更多风险特征。
[0169]
基于此,步骤308:针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果之后,还可以包括:
[0170]
若所述风险检测结果用于表示所述目标应用安装包存在风险,则确定所述第一风险特征数据对应的应用家族唯一标识信息。
[0171]
确定出具有所述应用家族唯一标识信息的历史应用安装包;所述历史应用安装包为基于所述第一风险特征数据检测出的存在风险的其他应用安装包。
[0172]
针对所述历史应用安装包、所述目标应用安装包以及所述存在风险的应用安装包中的至少部分应用安装包进行分析处理,得到所述应用家族唯一标识信息所属的应用家族的分析结果。
[0173]
本说明书实施例中,每个第一风险特征数据具有与其对应的具有唯一性的应用家族唯一标识信息,从而当利用某个第一风险特征数据检测出目标应用安装包存在风险后,可以将该目标应用安装包划分至该第一风险特征数据对应的应用家族唯一标识信息所属的应用家族中,以便于针对该应用家族中的各个应用安装包进行分析。
[0174]
在实际应用中,可以根据根据实际需求,对同一应用家族中的各个应用安装包进行分析,例如,进行应用功能一致性分析、应用权限一致性分析、代码结构一致性分析等,对此不作具体限定。
[0175]
图4为本说明书实施例提供的对应于图2及图3中的方法的泳道流程示意图。如图4所示,该针对应用安装包的风险特征数据提取及风险检测流程可以涉及目标应用安装包的提供方及应用管理方等执行主体。
[0176]
在风险特征数据提取阶段,应用管理方可以获取存在风险的应用安装包。后续,应用管理方可以从所述存在风险的应用安装包处获取安装包名称;以及,从存在风险的应用安装包的配置清单文档中,检索出元素名称中携带有预设应用权限标识的元素,得到第一元素;从而,若第一元素中用于记录应用权限信息的属性的属性值中未包含安装包名称,则提取其用于记录应用权限信息的属性的属性值,以得到不受可变应用信息影响的应用权限信息集合。
[0177]
或者,应用管理方可以获取会因应用安装包是否受到预设处理操作而发生变化的元素的预设元素标识;若存在风险的应用安装包的配置清单文档中的任一元素的元素名称中未携带有预设元素标识,则可以确定所述任一元素为第二元素;通过从所述配置清单文档中提取第二元素的元素名称,以得到不受可变应用信息影响的文档结构信息集合。
[0178]
后续,应用管理方可以针对应用权限信息集合和/或文档结构信息集合进行哈希处理,得到存在风险的应用安装包的第一风险特征数据;或者,从应用权限信息集合中提取第一预设数量的连续的应用权限信息,和/或,从文档结构信息集合中提取第二预设数量的连续的文档结构信息,得到存在风险的应用安装包的第一风险特征数据。
[0179]
在风险检测阶段,目标应用安装包的提供方可以发送待进行风险检测的目标应用安装包至应用管理方。应用管理方可以从目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二应用权限信息集合和/或第二文档结构信息集合;以根据第二应用权限信息集合和/或第二文档结构信息集合,生成目标应用安装包的第二风险特征数据;其中,所述第二风险特征数据的种类与所述第一风险特征数据的种类一致。
[0180]
后续,应用管理方可以针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对目标应用安装包的风险检测结果。若风险检测结果表示目标应用安装包存在风险,则还可以确定第一风险特征数据对应的应用家族唯一标识信息;针对具有该应用家族唯一标识信息的历史应用安装包、目标应用安装包以及该存在风险的应用安装包进行分析处理,得到该应用家族唯一标识信息所属的应用家族的分析结果。
[0181]
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图5为本说明书实施例提供的对应于图2的风险特征数据生成装置的结构示意图。如图5所示,该装置可以
包括:
[0182]
第一获取模块502,用于获取存在风险的应用安装包。
[0183]
第二获取模块504,用于从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种。
[0184]
风险特征数据生成模块506,用于根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。
[0185]
基于图5的装置,本说明书实施例还提供了该装置的一些具体实施方案,下面进行说明。
[0186]
可选的,所述第二获取模块504,可以包括:
[0187]
获取单元,用于从所述存在风险的应用安装包处获取安装包名称;
[0188]
第一确定单元,用于确定所述配置清单文档中的用于记录应用权限信息的第一元素。
[0189]
第一提取单元,用于若任一所述第一元素的元素内容中未包含所述安装包名称,则提取所述任一所述第一元素的元素内容,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息;和/或,
[0190]
第二确定单元,用于确定所述配置清单文档中的不会因应用安装包是否受到预设处理操作而发生变化的第二元素;所述预设处理操作包括:加固操作、混淆操作及自动化打包操作中的至少一种。
[0191]
第二提取单元,用于从所述配置清单文档中提取任一所述第二元素的元素名称,得到不受可变应用信息影响的文档结构信息集合中的一条文档结构信息。
[0192]
可选的,第一确定单元,具体可以用于:从所述配置清单文档中检索出元素名称中携带有预设应用权限标识的元素,得到第一元素。
[0193]
可选的,第一提取单元,具体可以用于:若所述第一元素中用于记录应用权限信息的属性的属性值中未包含所述安装包名称,则提取所述用于记录应用权限信息的属性的属性值,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息。
[0194]
可选的,第二确定单元,具体可以用于:获取会因应用安装包是否受到所述预设处理操作而发生变化的元素的预设元素标识。判断所述配置清单文档中的任一元素的元素名称中是否携带有所述预设元素标识,得到判断结果。若所述判断结果表示所述任一元素的元素名称中未携带所述预设元素标识,则确定所述任一元素为第二元素。
[0195]
可选的,所述应用权限信息集合中的各条应用权限信息的排序与所述各条权限信息所属的元素在所述配置清单文档中的排序一致;所述文档结构信息集合中的各条文档结构信息的排序与所述各条文档结构信息所属的元素在所述配置清单文档中的排序一致。
[0196]
所述风险特征数据生成模块506,具体可以包括:
[0197]
第一哈希处理单元,用于针对所述应用权限信息集合进行哈希处理,得到所述存在风险的应用安装包的第一风险特征数据;和/或,
[0198]
第二哈希处理单元,用于针对所述文档结构信息集合进行哈希处理,得到所述存在风险的应用安装包的第二风险特征数据;和/或,
[0199]
第三提取单元,用于从所述应用权限信息集合中提取第一预设数量的连续的应用
权限信息,得到所述存在风险的应用安装包的第三风险特征数据;和/或,
[0200]
第四提取单元,用于从所述文档结构信息集合中提取第二预设数量的连续的文档结构信息,得到所述存在风险的应用安装包的第四风险特征数据。
[0201]
风险检测单元,用于利用目标风险特征数据,针对各个应用安装包样本进行风险检测处理,得到各个所述应用安装包样本的风险检测结果;其中,所述目标风险特征数据为所述第一风险特征数据、所述第二风险特征数据、所述第三风险特征数据及所述第四风险特征数据中的任意一种。
[0202]
检测准确率确定单元,用于根据各个所述应用安装包样本的风险检测结果以及各个所述应用安装包样本的预设风险标签,确定基于所述目标风险特征数据的风险检测准确率。
[0203]
风险特征数据确定单元,用于若所述风险检测准确率大于等于预设阈值,则将所述目标风险特征数据确定为所述存在风险的应用安装包的用于针对其他应用安装包进行风险检测的风险特征数据。
[0204]
可选的,图5中的装置,还可以包括:家族标识生成模块,用于针对任一所述风险特征数据,生成一个应用家族唯一标识信息;所述应用家族唯一标识信息用于标识与所述存在风险的应用安装包归属于同一应用家族的目标应用安装包;所述目标应用安装包为基于所述任一所述风险特征数据检测出的存在风险的其他应用安装包。
[0205]
可选的,所述第二获取模块504,具体可以用于:利用静态分析技术,从所述存在风险的应用安装包中提取axml格式的配置清单文档;从所述axml格式的配置清单文档中,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种。
[0206]
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图6为本说明书实施例提供的对应于图3的一种针对应用安装包的风险检测装置的结构示意图。如图6所示,该装置可以包括:
[0207]
第一获取模块602,用于获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用安装包中的第一配置清单文档处获取的。
[0208]
第二获取模块604,用于获取待进行风险检测的目标应用安装包。
[0209]
风险特征数据生成模块606,用于利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致。
[0210]
风险检测结果生成模块608,用于针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。
[0211]
基于图6的装置,还提供了该装置的一些具体实施方案,下面进行说明。
[0212]
可选的,所述风险特征数据生成模块606,具体可以包括:
[0213]
第一获取单元,用于若所述第一风险特征数据是根据所述第一应用权限信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二应用权限信息集合。
[0214]
第一生成单元,用于根据所述第二应用权限信息集合,生成所述目标应用安装包
的第二风险特征数据;和/或,
[0215]
第二获取单元,用于若所述第一风险特征数据是根据所述第一文档结构信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二文档结构信息集合。
[0216]
第二生成单元,用于根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据。
[0217]
可选的,所述第一生成单元,具体可以用于:若所述第一风险特征数据是对所述第一应用权限信息集合进行哈希处理得到的数据,则对所述第二应用权限信息集合进行哈希处理,得到所述目标应用安装包的第二风险特征数据。
[0218]
可选的,所述第二生成单元,具体可以用于:若所述第一风险特征数据是对所述第一文档结构信息集合进行哈希处理得到的数据,则对所述第二文档结构信息集合进行哈希处理,得到所述目标应用安装包的第二风险特征数据。
[0219]
对应的,风险特征数据生成模块606,具体可以用于:
[0220]
判断所述第一风险特征数据与所述第二风险特征数据是否相同,得到判断结果。
[0221]
若所述判断结果表示所述第一风险特征数据与所述第二风险特征数据相同,则生成用于表示所述目标应用安装包存在风险的风险检测结果。
[0222]
可选的,所述第一生成单元,具体可以用于:
[0223]
若所述第一风险特征数据为从所述第一应用权限信息集合中提取出的第一预设数量的连续的应用权限信息,则从所述第二应用权限信息集合中提取出所述第一预设数量的连续的应用权限信息,得到所述目标应用安装包的第二风险特征数据;
[0224]
可选的,所述第二生成单元,具体可以用于:
[0225]
若所述第一风险特征数据为从所述第一文档结构信息集合中提取出的第二预设数量的连续的文档结构信息,则从所述第二文档结构信息集合中提取出所述第二预设数量的连续的文档结构信息,得到所述目标应用安装包的第二风险特征数据。
[0226]
对应的,风险特征数据生成模块606,具体可以用于:针对所述第一风险特征数据与所述第二风险特征数据进行一致性比对处理,得到数据相似度。若所述数据相似度大于等于预设阈值,则生成用于表示所述目标应用安装包存在风险的风险检测结果。
[0227]
图6中的装置,还可以包括:
[0228]
第一确定模块,用于若所述风险检测结果用于表示所述目标应用安装包存在风险,则确定所述第一风险特征数据对应的应用家族唯一标识信息;
[0229]
第二确定模块,用于确定出具有所述应用家族唯一标识信息的历史应用安装包;所述历史应用安装包为基于所述第一风险特征数据检测出的存在风险的其他应用安装包;
[0230]
分析模块,用于针对所述历史应用安装包、所述目标应用安装包以及所述存在风险的应用安装包中的至少部分应用安装包进行分析处理,得到所述应用家族唯一标识信息所属的应用家族的分析结果。
[0231]
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
[0232]
图7为本说明书实施例提供的对应于图2的一种风险特征数据生成设备的结构示意图。如图7所示,设备700可以包括:
[0233]
至少一个处理器710;以及,与所述至少一个处理器通信连接的存储器730;其中,
[0234]
所述存储器730存储有可被所述至少一个处理器710执行的指令720,所述指令被所述至少一个处理器710执行,以使所述至少一个处理器710能够:
[0235]
获取存在风险的应用安装包。
[0236]
从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种。
[0237]
根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。
[0238]
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
[0239]
图8为本说明书实施例提供的对应于图3的一种针对应用安装包的风险检测设备的结构示意图。如图8所示,设备800可以包括:
[0240]
至少一个处理器810;以及,与所述至少一个处理器通信连接的存储器830;其中,
[0241]
所述存储器830存储有可被所述至少一个处理器810执行的指令820,所述指令被所述至少一个处理器810执行,以使所述至少一个处理器810能够:
[0242]
获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用安装包中的第一配置清单文档处获取的。
[0243]
获取待进行风险检测的目标应用安装包。
[0244]
利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致。
[0245]
针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。
[0246]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图7及图8所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0247]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(fieldprogrammable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel
(advancedboolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(javahardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0248]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0249]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0250]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0251]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0252]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0253]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0254]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0255]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0256]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0257]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0258]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0259]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0260]
本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0261]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种风险特征数据生成方法,包括:获取存在风险的应用安装包;从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种;根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。2.如权利要求1所述的方法,所述从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种,具体包括:从所述存在风险的应用安装包处获取安装包名称;确定所述配置清单文档中的用于记录应用权限信息的第一元素;若任一所述第一元素的元素内容中未包含所述安装包名称,则提取所述任一所述第一元素的元素内容,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息。3.如权利要求2所述的方法,所述确定所述配置清单文档中的用于记录应用权限信息的第一元素,具体包括;从所述配置清单文档中检索出元素名称中携带有预设应用权限标识的元素,得到第一元素。4.如权利要求2所述的方法,所述若任一所述第一元素的元素内容中未包含所述安装包名称,则提取所述任一所述第一元素的元素内容,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息,具体包括:若所述第一元素中用于记录应用权限信息的属性的属性值中未包含所述安装包名称,则提取所述用于记录应用权限信息的属性的属性值,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息。5.如权利要求1所述的方法,所述从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种,具体包括:确定所述配置清单文档中的不会因应用安装包是否受到预设处理操作而发生变化的第二元素;所述预设处理操作包括:加固操作、混淆操作及自动化打包操作中的至少一种;从所述配置清单文档中提取任一所述第二元素的元素名称,得到不受可变应用信息影响的文档结构信息集合中的一条文档结构信息。6.如权利要求5所述的方法,所述确定所述配置清单文档中的不会因应用安装包是否受到预设处理操作而发生变化的第二元素,具体包括:获取会因应用安装包是否受到所述预设处理操作而发生变化的元素的预设元素标识;判断所述配置清单文档中的任一元素的元素名称中是否携带有所述预设元素标识,得到判断结果;若所述判断结果表示所述任一元素的元素名称中未携带所述预设元素标识,则确定所述任一元素为第二元素。
7.如权利要求1-6中任意一项所述的方法,所述应用权限信息集合中的各条应用权限信息的排序与所述各条权限信息所属的元素在所述配置清单文档中的排序一致;所述文档结构信息集合中的各条文档结构信息的排序与所述各条文档结构信息所属的元素在所述配置清单文档中的排序一致;所述根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据,具体包括:针对所述应用权限信息集合进行哈希处理,得到所述存在风险的应用安装包的第一风险特征数据;和/或,针对所述文档结构信息集合进行哈希处理,得到所述存在风险的应用安装包的第二风险特征数据;和/或,从所述应用权限信息集合中提取第一预设数量的连续的应用权限信息,得到所述存在风险的应用安装包的第三风险特征数据;和/或,从所述文档结构信息集合中提取第二预设数量的连续的文档结构信息,得到所述存在风险的应用安装包的第四风险特征数据。8.如权利要求7所述方法,所述根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据,还包括:利用目标风险特征数据,针对各个应用安装包样本进行风险检测处理,得到各个所述应用安装包样本的风险检测结果;其中,所述目标风险特征数据为所述第一风险特征数据、所述第二风险特征数据、所述第三风险特征数据及所述第四风险特征数据中的任意一种;根据各个所述应用安装包样本的风险检测结果以及各个所述应用安装包样本的预设风险标签,确定基于所述目标风险特征数据的风险检测准确率;若所述风险检测准确率大于等于预设阈值,则将所述目标风险特征数据确定为所述存在风险的应用安装包的用于针对其他应用安装包进行风险检测的风险特征数据。9.如权利要求8所述方法,所述将所述目标风险特征数据确定为所述存在风险的应用安装包的用于针对其他应用安装包进行风险检测的风险特征数据之后,还包括:针对任一所述风险特征数据,生成一个应用家族唯一标识信息;所述应用家族唯一标识信息用于标识与所述存在风险的应用安装包归属于同一应用家族的目标应用安装包;所述目标应用安装包为基于所述任一所述风险特征数据检测出的存在风险的其他应用安装包。10.如权利要求1-6中任意一项所述的方法,所述从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种,具体包括:利用静态分析技术,从所述存在风险的应用安装包中提取axml格式的配置清单文档;从所述axml格式的配置清单文档中,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种。11.一种针对应用安装包的风险检测方法,包括:获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用
安装包中的第一配置清单文档处获取的;获取待进行风险检测的目标应用安装包;利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致;针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。12.如权利要求11所述的方法,所述利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据,具体包括:若所述第一风险特征数据是根据所述第一应用权限信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二应用权限信息集合;根据所述第二应用权限信息集合,生成所述目标应用安装包的第二风险特征数据;若所述第一风险特征数据是根据所述第一文档结构信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二文档结构信息集合;根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据。13.如权利要求12所述的方法,若所述第一风险特征数据是对所述第一应用权限信息集合进行哈希处理得到的数据,则所述根据所述第二应用权限信息集合,生成所述目标应用安装包的第二风险特征数据,具体包括:对所述第二应用权限信息集合进行哈希处理,得到所述目标应用安装包的第二风险特征数据;若所述第一风险特征数据是对所述第一文档结构信息集合进行哈希处理得到的数据,则所述根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据,具体包括:对所述第二文档结构信息集合进行哈希处理,得到所述目标应用安装包的第二风险特征数据;所述针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果,具体包括:判断所述第一风险特征数据与所述第二风险特征数据是否相同,得到判断结果;若所述判断结果表示所述第一风险特征数据与所述第二风险特征数据相同,则生成用于表示所述目标应用安装包存在风险的风险检测结果。14.如权利要求12所述的方法,若所述第一风险特征数据为从所述第一应用权限信息集合中提取出的第一预设数量的连续的应用权限信息,则所述根据所述第二应用权限信息集合,生成所述目标应用安装包的第二风险特征数据,具体包括:从所述第二应用权限信息集合中提取出所述第一预设数量的连续的应用权限信息,得到所述目标应用安装包的第二风险特征数据;若所述第一风险特征数据为从所述第一文档结构信息集合中提取出的第二预设数量的连续的文档结构信息,则所述根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据,具体包括:
从所述第二文档结构信息集合中提取出所述第二预设数量的连续的文档结构信息,得到所述目标应用安装包的第二风险特征数据;所述针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果,具体包括:针对所述第一风险特征数据与所述第二风险特征数据进行一致性比对处理,得到数据相似度;若所述数据相似度大于等于预设阈值,则生成用于表示所述目标应用安装包存在风险的风险检测结果。15.如权利要求11-14中任意一项所述的方法,所述针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果之后,还包括:若所述风险检测结果用于表示所述目标应用安装包存在风险,则确定所述第一风险特征数据对应的应用家族唯一标识信息;确定出具有所述应用家族唯一标识信息的历史应用安装包;所述历史应用安装包为基于所述第一风险特征数据检测出的存在风险的其他应用安装包;针对所述历史应用安装包、所述目标应用安装包以及所述存在风险的应用安装包中的至少部分应用安装包进行分析处理,得到所述应用家族唯一标识信息所属的应用家族的分析结果。16.一种风险特征数据生成装置,包括:第一获取模块,用于获取存在风险的应用安装包;第二获取模块,用于从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种;风险特征数据生成模块,用于根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。17.如权利要求16所述的装置,所述第二获取模块,包括:获取单元,用于从所述存在风险的应用安装包处获取安装包名称;第一确定单元,用于确定所述配置清单文档中的用于记录应用权限信息的第一元素;第一提取单元,用于若任一所述第一元素的元素内容中未包含所述安装包名称,则提取所述任一所述第一元素的元素内容,得到不受可变应用信息影响的应用权限信息集合中的一条应用权限信息;和/或,第二确定单元,用于确定所述配置清单文档中的不会因应用安装包是否受到预设处理操作而发生变化的第二元素;所述预设处理操作包括:加固操作、混淆操作及自动化打包操作中的至少一种;第二提取单元,用于从所述配置清单文档中提取任一所述第二元素的元素名称,得到不受可变应用信息影响的文档结构信息集合中的一条文档结构信息。18.如权利要求16或17所述的装置,所述应用权限信息集合中的各条应用权限信息的排序与所述各条权限信息所属的元素在所述配置清单文档中的排序一致;所述文档结构信息集合中的各条文档结构信息的排序与所述各条文档结构信息所属的元素在所述配置清
单文档中的排序一致;所述风险特征数据生成模块,包括:第一哈希处理单元,用于针对所述应用权限信息集合进行哈希处理,得到所述存在风险的应用安装包的第一风险特征数据;和/或,第二哈希处理单元,用于针对所述文档结构信息集合进行哈希处理,得到所述存在风险的应用安装包的第二风险特征数据;和/或,第三提取单元,用于从所述应用权限信息集合中提取第一预设数量的连续的应用权限信息,得到所述存在风险的应用安装包的第三风险特征数据;和/或,第四提取单元,用于从所述文档结构信息集合中提取第二预设数量的连续的文档结构信息,得到所述存在风险的应用安装包的第四风险特征数据;风险检测单元,用于利用目标风险特征数据,针对各个应用安装包样本进行风险检测处理,得到各个所述应用安装包样本的风险检测结果;其中,所述目标风险特征数据为所述第一风险特征数据、所述第二风险特征数据、所述第三风险特征数据及所述第四风险特征数据中的任意一种;检测准确率确定单元,用于根据各个所述应用安装包样本的风险检测结果以及各个所述应用安装包样本的预设风险标签,确定基于所述目标风险特征数据的风险检测准确率;风险特征数据确定单元,用于若所述风险检测准确率大于等于预设阈值,则将所述目标风险特征数据确定为所述存在风险的应用安装包的用于针对其他应用安装包进行风险检测的风险特征数据。19.如权利要求18所述装置,还包括:家族标识生成模块,用于针对任一所述风险特征数据,生成一个应用家族唯一标识信息;所述应用家族唯一标识信息用于标识与所述存在风险的应用安装包归属于同一应用家族的目标应用安装包;所述目标应用安装包为基于所述任一所述风险特征数据检测出的存在风险的其他应用安装包。20.一种针对应用安装包的风险检测装置,包括:第一获取模块,用于获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用安装包中的第一配置清单文档处获取的;第二获取模块,用于获取待进行风险检测的目标应用安装包;风险特征数据生成模块,用于利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致;风险检测结果生成模块,用于针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目标应用安装包的风险检测结果。21.如权利要求20所述的装置,所述风险特征数据生成模块,包括:第一获取单元,用于若所述第一风险特征数据是根据所述第一应用权限信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二应用权限信息集合;
第一生成单元,用于根据所述第二应用权限信息集合,生成所述目标应用安装包的第二风险特征数据;和/或,第二获取单元,用于若所述第一风险特征数据是根据所述第一文档结构信息集合生成的数据,则从所述目标应用安装包中的第二配置清单文档处,获取不受可变应用信息影响的第二文档结构信息集合;第二生成单元,用于根据所述第二文档结构信息集合,生成所述目标应用安装包的第二风险特征数据。22.如权利要求20或21所述的装置,还包括:第一确定模块,用于若所述风险检测结果用于表示所述目标应用安装包存在风险,则确定所述第一风险特征数据对应的应用家族唯一标识信息;第二确定模块,用于确定出具有所述应用家族唯一标识信息的历史应用安装包;所述历史应用安装包为基于所述第一风险特征数据检测出的存在风险的其他应用安装包;分析模块,用于针对所述历史应用安装包、所述目标应用安装包以及所述存在风险的应用安装包中的至少部分应用安装包进行分析处理,得到所述应用家族唯一标识信息所属的应用家族的分析结果。23.一种风险特征数据生成设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取存在风险的应用安装包;从所述存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种;根据获取到的所述应用权限信息集合与所述文档结构信息集合中的至少一种,生成所述存在风险的应用安装包的风险特征数据;所述风险特征数据用于针对其他应用安装包进行风险检测。24.一种针对应用安装包的风险检测设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取存在风险的应用安装包的第一风险特征数据;所述第一风险特征数据是根据不受可变应用信息影响的第一应用权限信息集合与第一文档结构信息集合中的至少一种生成的;所述第一应用权限信息集合与所述第一文档结构信息集合均是从所述存在风险的应用安装包中的第一配置清单文档处获取的;获取待进行风险检测的目标应用安装包;利用所述目标应用安装包中的第二配置清单文档,生成所述目标应用安装包的第二风险特征数据;所述第二风险特征数据的种类与所述第一风险特征数据的种类一致;针对所述第一风险特征数据与所述第二风险特征数据进行比对处理,得到针对所述目
标应用安装包的风险检测结果。

技术总结
本说明书实施例中公开了一种风险特征数据生成方法、风险检测方法、装置及设备。该方案可以包括:从存在风险的应用安装包中的配置清单文档处,获取不受可变应用信息影响的应用权限信息集合与文档结构信息集合中的至少一种,以利用这些较为稳定的应用权限信息集合及文档结构信息集合,去生成该存在风险的应用安装包的风险特征数据,进而能够利用这些风险特征数据去检测其他应用安装包是否存在风险。数据去检测其他应用安装包是否存在风险。数据去检测其他应用安装包是否存在风险。


技术研发人员:汪海
受保护的技术使用者:支付宝(中国)网络技术有限公司
技术研发日:2023.06.07
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐