应用安全检测方法、装置、计算机设备和存储介质与流程
未命名
07-22
阅读:71
评论: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.用户端模块,用于确定待检测应用的第一安装包文件,收集第一安装包文件信息;
41.官方应用确定模块,用于获取官方应用的第二安装包文件以及第二安装包文件信息,其中,第二安装包文件信息与第一安装包文件信息对应;
42.文件反编译模块,用于对第一安装包文件反编译,得到第一数据信息,还用于对第二安装包文件反编译,得到第二数据信息;
43.应用类型确定模块,用于根据第一数据信息和第二数据信息确定待检测应用的应用类型。
44.第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,存储器存储有
计算机程序,处理器执行计算机程序时实现以下步骤:
45.获取待检测应用的第一安装包文件以及第一安装包文件信息;第一安装包文件由用户端模块确定,第一安装包文件信息由用户端模块收集;
46.获取官方应用的第二安装包文件以及第二安装包文件信息;其中,第二安装包文件信息与第一安装包文件信息对应;
47.对待检测应用的第一安装包文件反编译,得到第一数据信息;
48.对官方应用的第二安装包文件反编译,得到第二数据信息;
49.根据第一数据信息和第二数据信息确定待检测应用的应用类型。
50.第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
51.获取待检测应用的第一安装包文件以及第一安装包文件信息;第一安装包文件由用户端模块确定,第一安装包文件信息由用户端模块收集;
52.获取官方应用的第二安装包文件以及第二安装包文件信息;其中,第二安装包文件信息与第一安装包文件信息对应;
53.对待检测应用的第一安装包文件反编译,得到第一数据信息;
54.对官方应用的第二安装包文件反编译,得到第二数据信息;
55.根据第一数据信息和第二数据信息确定待检测应用的应用类型。
56.第五方面,本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
57.获取待检测应用的第一安装包文件以及第一安装包文件信息;第一安装包文件由用户端模块确定,第一安装包文件信息由用户端模块收集;
58.获取官方应用的第二安装包文件以及第二安装包文件信息;其中,第二安装包文件信息与第一安装包文件信息对应;
59.对待检测应用的第一安装包文件反编译,得到第一数据信息;
60.对官方应用的第二安装包文件反编译,得到第二数据信息;
61.根据第一数据信息和第二数据信息确定待检测应用的应用类型。
62.上述应用安全检测方法、装置、计算机设备和存储介质,根据待检测应用的安装包文件信息确定官方应用,并对待检测应用和官方应用的安装包反编译,分别得到第一数据信息和第二数据信息,分别具有待检测应用和官方应用的特征信息,通过对第一数据信息和第二数据信息判断即可确定该待检测应用的应用类型。此外,本技术使用功能完备的服务器处理大量的数据,极大的减轻了用户端的使用率,提高检测效率,高效地对目标应用的源代码进行检测分析,能够准确的判断出该待检测应用是否为安全应用,从待检测应用的组件、代码以及数据三个层面对应用风险存在的原因,保护用户的使用安全,相较于传统技术中利用防火墙检测接口的方案对恶意应用的判断更准确。
附图说明
63.图1为一个实施例中应用安全检测方法的应用环境图;
64.图2为一个实施例中应用安全检测方法的流程示意图;
65.图3为另一个实施例中应用安全检测方法的流程示意图;
66.图4为一个实施例中应用安全检测装置的结构框图;
67.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
68.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
69.本技术实施例提供的应用安全检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,终端102也称为用户端,具有用户端模块。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104可以接收终端102发送的数据文件,例如可以是由用户端模块发送的待检测应用的安装包,服务器104能够通过对待检测应用的安装包反编译获取数据信息,通过对数据信息的处理来判断待检测应用是否为恶意应用。此外,服务器104上还可以设置虚拟运行环境,如建立虚拟机,通过使待检测应用在虚拟机上运行获取其运行过程中对终端102权限的使用情况。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
70.在一个实施例中,如图2所示,提供了一种应用安全检测方法,以该方法应用于图1中的应用环境为例进行说明,包括以下步骤:
71.s202,获取待检测应用的第一安装包文件以及第一安装包文件信息;第一安装包文件由用户端模块确定,第一安装包文件信息由用户端模块收集。
72.其中,待检测应用是本实施例中需要进行判断应用类型,该待检测应用能够安装在计算机设备上运行,例如可以是通过apk(android application package,android应用程序包)格式安装得到的安卓应用程序,此时该apk文件称为该待检测应用的第一安装包文件。计算机设备用户能够从不同渠道下载得到安装包,执行安装包即可在具有安卓系统的计算机设备上安装待检测应用。第一安装包文件信息是指第一安装包文件携带的信息,例如可以是名称、版本、下载来源、文件大小等,能够通过第一安装包文件信息来指向待检测应用对应的官方应用。
73.由于开发者能够对apk文件的源码进行更改,植入恶意吸费或盗取流量的恶意代码,容易对用户造成损失,称其为恶意应用,因此需要对不同来源获取的apk文件进行检测,判断其为恶意或为安全应用。用户端模块可以位于计算机设备上,用户端模块将待检测应用的第一安装包文件以及第一安装包文件信息发送至服务器上,由服务器进行判断。
74.s204,获取官方应用的第二安装包文件以及第二安装包文件信息;其中,第二安装包文件信息与第一安装包文件信息对应。
75.根据第一安装包文件信息中的名称、版号等信息下载官方应用,例如根据名称版号能够找到待检测应用对应的官方应用的官方网站,在其官方网站或官方的应用市场中下载到相同版本的官方应用作为对比。一般来说,若下载信息包括名称即可对应官方应用,考
虑到版本更新时会变更对计算机设备的权限请求,下载信息中同时包括有名称和版本指向性更强,获取的官方应用进行比对更准确。
76.s206,对待检测应用的第一安装包文件反编译,得到第一数据信息。
77.反编译是将可执行的程序代码转换为某种形式的高级编程语言,使其具有更易读的格式。反编译是一种逆向工程,它的作用与编译器的作用相反。它与编译相反。完成此任务的工具称为反编译器。本步骤中反编译是对apk安装包的执行步骤,通过反编译能够获取该第一安装包文件的第一数据信息,能够推导出待检测应用所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,并且包括源代码。
78.s208,对官方应用的第二安装包文件反编译,得到第二数据信息。
79.在获取官方应用的安装包后,与待检测应用类似的,对官方应用的安装包进行反编译,得到第二数据信息。
80.s210,根据第一数据信息和第二数据信息确定待检测应用的应用类型。
81.第一数据信息包括待检测应用的思路、原理、结构、算法、处理过程、运行方法及源代码等,具有待检测应用的特征信息。而第二数据信息包括官方应用的思路、原理、结构、算法、处理过程、运行方法及源代码等,具有官方应用的特征信息。通过将待检测应用的第一数据信息和官方应用的第二数据信息即可确定待检测应用相对于官方应用的应用类型。应用类型可以包括待检测应用是否安全的信息。
82.上述应用安全检测方法中,通过对待检测应用的安装包文件反编译得到第一数据信息,对官方应用的安装包文件反编译得到第二数据信息。根据第一数据信息和第二数据信息确定待检测应用相对于官方应用的应用类型。本技术使用功能完备的服务器处理大量的数据,极大的减轻了用户端的使用率,提高检测效率,高效地对目标应用的源代码进行检测分析,能够准确的判断出该待检测应用是否为安全应用,从待检测应用的组件、代码以及数据三个层面对应用风险存在的原因,保护用户的使用安全,相较于传统技术中利用防火墙检测接口的方案对恶意应用的判断更准确。
83.在一个实施例中,该方法还包括:输出待检测应用的应用类型。
84.对待检测应用的安全检测完成后,确定待检测应用的应用类型,即可输出提示信息至用户端。此外,还可以通过分析报告的形式将检测过程及检测结果展示至用户端。
85.本实施例中,通过输出提示信息至用户端将最终的判断结果输出,实现用户端与服务器的通信,使用户端能够直接获取待检测应用的应用类型的判断结果。
86.在一个实施例中,在根据第一数据信息和第二数据信息确定待检测应用的应用类型之前,方法还包括:建立应用名单;判断待检测应用是否存在于应用名单;若待检测应用存在于应用名单,则根据应用名单确定待检测应用的应用类型。
87.通过应用的数据信息建立应用名单,在将待检测应用的待检测签名与官方签名进行比对之前,先根据待检测应用的数据信息与应用名单中的数据信息进行检索,其中,数据信息可以包括签名、描述文件、版本号、源代码、运行过程中的程序接口以及内容等特征信息,仅当待检测应用的数据信息不存在于应用名单时,才根据第一数据信息和第二数据信息确定待检测应用的应用类型。若待检测应用存在于应用名单中,则根据应用名单确认待检测应用的应用类型。
88.本实施例中,建立了名单制度,仅在待检测应用存在于应用名单时才将待检测签
名与官方签名进行比对,若待检测应用存在于应用名单,则不需要执行后续比对步骤,加快对待检测应用判断安全性的响应速度。
89.在一个实施例中,根据应用名单确定待检测应用的应用类型包括:将应用名单分为白名单和黑名单;判断待检测应用是否存在于白名单中;若待检测应用存在于白名单中,则判定待检测应用的应用类型为安全应用;否则,判断待检测应用是否存在于黑名单中;若待检测应用存在于黑名单中,则判定待检测应用的应用类型为恶意应用。
90.将应用名单分为白名单和黑名单,若待检测应用已经被判定为存在于应用名单中,则待检测应用在白名单或黑名单中。若待检测应用存在于白名单中,则待检测应用为白名单应用,视为安全应用。若不存在于白名单中,则判断待检测应用是否存在于黑名单中,若存在于黑名单中,则待检测应用为黑名单应用,视为恶意应用,若不存在于黑名单中,则根据第一数据信息和第二数据信息确定待检测应用的应用类型。
91.本实施例中,当待检测应用存在于白名单或黑名单时,直接判定待检测应用的安全性,不需要对其签名和描述文件进行判断,节省判断步骤,提高判断效率,加快响应速度。此外,黑名单和白名单还可以与服务器端进行信息交互,接收服务器的信息将黑名单和白名单进行实时共享以及更新。
92.在一个实施例中,第一数据信息包括第一签名和第一描述文件;第二数据信息包括第二签名和第二描述文件;根据第一数据信息和第二数据信息确定待检测应用的应用类型包括:判断第一签名和第二签名是否一致;若第一签名和第二签名不一致,则判定待检测应用的应用类型为恶意应用;若第一签名和第二签名一致,则根据第一描述文件和第二描述文件确定待检测应用的应用类型。
93.应用程序的签名是由应用开发者标记的信息,相当于一个“指纹”,能够读取得到开发者信息。描述文件也称为信息描述文件,对应于完整的应用,包括该应用运行时所需计算机设备的权限、接口等。获取到待检测应用的第一签名信息后,即可知道待检测应用的开发者信息。此时将第一签名与官方应用程序中的第二签名信息进行对比,判断两者是否一致。若不一致,判定待检测应用为恶意应用。若一致,认为待检测应用的开发者信息为官方开发者信息,需要进一步判断待检测应用的第一描述文件和官方应用的第二描述文件。
94.本实施例中对待检测应用和官方应用的签名信息进行判断,若第一签名与第二签名不一致,则直接判定待检测应用为恶意应用。本实施例中,通过将待检测签名与官方签名不一致的情况示出,仅在两者的签名一致时才需要进一步判断描述文件,两者的签名不一致则可以直接判定待检测应用为恶意应用,跳过判断描述文件的步骤,提高对待检测应用安全检测的响应速度。
95.在一个实施例中,根据第一描述文件和第二描述文件确定待检测应用的应用类型包括:根据第一描述文件和第二描述文件判断待检测应用是否越权;若待检测应用越权,判定待检测应用的应用类型为恶意应用;若待检测应用不越权,则根据待检测应用在虚拟机的运行过程中申请访问的权限内容确定待检测应用的应用类型。
96.描述文件中包含有应用程序运行过程中所需访问或申请计算机设备的权限。通过将第一描述文件和第二描述文件进行比对,得到两者对于计算机设备访问或申请的权限的不同,即可确定待检测应用的权限申请是否超出官方应用的权限申请。如果待检测应用的权限申请超出官方应用的权限申请,则认为待检测应用越权,判定待检测应用为恶意应用。
如果待检测应用的申请权限没有超出官方应用的申请权限,则需要进一步根据待检测应用虚拟机的运行过程中申请访问的权限内容确定待检测应用的应用类型。
97.本实施例中,在第一签名与第二签名一致时进行判断第一描述文件和第二描述文件,通过判断待检测应用是否越权来判断待检测应用的应用类型。通过对二次判断提高准确度,并且在签名不一致时直接判定待检测应用为恶意应用,在待检测应用越权时直接判断为恶意应用,可以直接得出结论,减少后续判断过程,提高服务器的相应速度。
98.在一个实施例中,根据待检测应用在虚拟机运行过程中申请访问的权限内容确定待检测应用的应用类型包括:判断待检测应用在虚拟机的运行过程中是否访问超出权限的敏感位置;若待检测应用访问超出权限的敏感位置,判定待检测应用的应用类型为恶意应用;若待检测应用未访问超出权限的敏感位置,判定待检测应用的应用类型为安全应用。
99.当待检测应用不越权时,监视待检测应用在虚拟机上运行过程中是否有访问超出权限的敏感位置的请求,其中,虚拟机是指通过软件模拟的具有完整硬件系统功能的完整系统,例如可以在服务器上建立虚拟机的运行环境,通过将待检测应用的安装包在虚拟机上运行,使得能够在虚拟机上运行待检测应用。在虚拟机上完成对待检测应用的虚拟运行,跟踪记录待检测应用的具体行为信息,在虚拟机上分步完成应用的每一个运行步骤。在每个步骤中,监视输出的数据和试图访问存储位置的程序,在短信、通话记录、通讯录数据、文件夹、照片、gps、相机,麦克风以及购物程序等敏感位置设立监视点,在软件程序访问和读取这些敏感位置和文件时,监视自动触发,报告这个行为。若待检测应用在完整运行过程中均没有发出访问超出权限的敏感位置请求,确认待检测应用为安全应用。若待检测应用在完整运行过程中访问超出权限的敏感位置请求,则判定待检测应用为恶意应用。
100.本实施例中对于待检测应用实际运行过程中的权限请求进行判定。对于官方应用均具有一定的权限请求范围,待检测应用在这个官方的权限范围内访问是合理的,但是对于超出权限范围的访问或申请请求不合理,如果待检测应用访问超出权限范围的敏感位置,判定为恶意应用,其中,敏感位置指可能涉及到终端用户个人信息的隐私功能,如短信、通话记录、通讯录数据、文件夹、照片、gps、相机,麦克风以及购物程序等。
101.在一个实施例中,根据第一描述文件和第二描述文件判断待检测应用是否越权包括:根据第一描述文件确定待检测应用使用时申请的第一权限集合;根据第二描述文件确定官方应用使用时申请的第二权限集合;判断第一权限集合的权限内容是否大于第二权限集合的权限内容;若第一权限集合的权限内容大于第二权限集合的权限内容,判定待检测应用越权;若第一权限集合的权限内容不大于第二权限集合的权限内容,判定待检测应用不越权。
102.描述文件中含有应用程序运行过程中所需访问或申请计算机设备的权限,如短信、通话记录、通讯录数据、文件夹、照片、gps、相机等的权限。因此待检测描述文件中含有待检测应用在运行过程中所需访问或申请计算机设备的权限,权限内容构成第一权限集合。官方描述文件中含有官方应用在运行过程中所需访问或申请计算机设备的权限,权限内容构成第二权限集合。通过将第一权限集合和第二权限集合进行比对,即可确定哪个权限集合所包含的权限内容更多,即得到比对结果。当第一权限集合的内容大于第二权限集合时,表明待检测应用申请的权限多于官方应用,可能涉及用户的隐私,判定待检测应用越权。当第一权限集合的内容小于或等于第二权限集合时,判定待检测应用没有越权,可以确
认待检测应用不越权。
103.本实施例中,通过将待检测描述文件和官方描述文件对计算机设备权限的申请内容进行比对。当待检测应用所申请的权限更多时,表明其超出了官方应用的权限范围,可能访问用户的隐私,因此将其判定为越权。当待检测应用所申请的权限更少时不越权从而实现对待检测应用安全性的判断,使能够通过描述文件来判断应用安全与否。
104.在一个实施例中,如图3所示,提供了一种应用安全检测方法,包括以下步骤:
105.s302,获取待检测应用的第一安装包文件以及第一安装包文件信息;第一安装包文件由用户端模块确定,第一安装包文件信息由用户端模块收集。
106.s304,获取官方应用的第二安装包文件以及第二安装包文件信息;其中,第二安装包文件信息与第一安装包文件信息对应。
107.s306,对待检测应用的第一安装包文件反编译,得到第一数据信息。
108.s308,对官方应用的第二安装包文件反编译,得到第二数据信息。
109.s310,建立应用名单。
110.s312,判断待检测应用是否存在于应用名单。
111.s314,若待检测应用存在于应用名单,则将应用名单分为白名单和黑名单。
112.s316,判断待检测应用是否存在于白名单中。
113.s318,若待检测应用存在于白名单中,则判定待检测应用的应用类型为安全应用。
114.s320,若待检测应用不存在于白名单中,则判断所述待检测应用是否存在于黑名单中。
115.s321,若待检测应用存在于黑名单中,判定待检测应用的应用类型为恶意应用。
116.s322,若待检测应用不存在于应用名单或待检测应用不存在于黑名单中,则判断第一签名和第二签名是否一致。
117.s324,若第一签名和第二签名不一致,则判定待检测应用的应用类型为恶意应用。
118.s326,若第一签名和第二签名一致,则根据第一描述文件确定待检测应用使用时申请的第一权限集合。
119.s328,根据第二描述文件确定官方应用使用时申请的第二权限集合。
120.s330,判断第一权限集合的权限内容是否大于第二权限集合的权限内容。。
121.s332,若待检测应用越权,判定待检测应用的应用类型为恶意应用。
122.s334,若待检测应用不越权,则判断待检测应用在虚拟机的运行过程中是否访问超出权限的敏感位置。
123.s336,若待检测应用访问超出权限的敏感位置,判定待检测应用的应用类型为恶意应用。
124.s338,若待检测应用未访问超出权限的敏感位置,判定待检测应用的应用类型为安全应用。
125.本实施例中首先对待检测应用的第一安装包文件反编译,得到待检测应用的第一签名和第一描述文件。然后根据待检测应用的第一安装包文件信息确定对应的官方应用,下载官方应用安装包并反编译,得到官方应用的第二签名和第二描述文件。在判断待检测应用安全性时,先通过名单机制建立白名单和黑名单,并对待检测应用进行判断,若待检测应用存在于白名单中,视为白名单应用。若待检测应用存在于黑名单中,视为黑名单应用。
如果待检测应用不存在于白名单和黑名单中,则判断第一签名和第二签名是否一致。若不一致则视为恶意应用,若一致则将第一描述文件和第二描述文件比对,得到是否越权的比对结果。若越权,则视为恶意应用。若不越权,则监视待检测应用在虚拟机上运行时是否访问超出权限的敏感位置。若未访问则确认待检测应用为安全应用。通过多层判定得到待检测应用安全性的最终结果,保证了准确性。
126.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
127.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的应用安全检测方法的应用安全检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个应用安全检测装置实施例中的具体限定可以参见上文中对于应用安全检测方法的限定,在此不再赘述。
128.在一个实施例中,如图4所示,提供了一种应用安全检测装置400,该装置包括:用户端模块402、官方应用确定模块404、文件反编译模块406和应用类型确定模块408,其中:
129.用户端模块402,用于确定待检测应用的第一安装包文件,收集第一安装包文件信息。
130.官方应用确定模块404,用于获取官方应用的第二安装包文件以及第二安装包文件信息,其中,第二安装包文件信息与第一安装包文件信息对应。
131.第一文件反编译模块406,用于对第一安装包文件反编译,得到第一数据信息,还用于对第二安装包文件反编译,得到第二数据信息。
132.应用类型确定模块408,用于根据第一数据信息和第二数据信息确定待检测应用的应用类型。
133.在一个实施例中,应用安全检测装置400还包括分析报告形成模块,其中,分析报告形成模块用于输出待检测应用的应用类型。
134.在一个实施例中,应用安全检测装置还包括应用名单建立模块和应用名单判断模块,其中:
135.应用名单建立模块,用于建立应用名单。
136.应用名单判断模块,用于判断待检测应用是否存在于应用名单;若待检测应用不存在于白名单和黑名单,则根据第一数据信息和第二数据信息确定待检测应用的应用类型;若待检测应用存在于应用名单,则根据应用名单确定待检测应用的应用类型。
137.在一个实施例中,应用名单判断模块还用于将应用名单分为白名单和黑名单;并判断待检测应用是否存在于白名单中;若待检测应用存在于白名单中,则判定待检测应用为安全应用;若待检测应用不存在于白名单中,则判定待检测应用存在于黑名单中,判定待检测应用为恶意应用。
138.在一个实施例中,应用类型确定模块还包括签名比对模块,第一数据信息包括第
一签名和第一描述文件;第二数据信息包括第二签名和第二描述文件。其中,签名比对模块用于判断第一签名和第二签名是否一致;若第一签名和第二签名不一致,则判定待检测应用为恶意应用;若第一签名和第二签名一致,则根据第一描述文件和第二描述文件确定待检测应用的应用类型。
139.在一个实施例中,应用类型确定模块还包括风险隐患检测模块,用于根据第一描述文件和第二描述文件判断待检测应用是否越权;若待检测应用越权,判定待检测应用为恶意应用;若待检测应用不越权,则根据待检测应用在虚拟机的运行过程中申请访问的权限内容确定待检测应用的应用类型。
140.在另一个实施例中,风险隐患检测模块还用于根据第一描述文件确定待检测应用使用时申请的第一权限集合;还用于根据第二描述文件确定官方应用使用时申请的第二权限集合;并判断第一权限集合的权限内容是否大于第二权限集合的权限内容;若第一权限集合的权限内容大于第二权限集合的权限内容,判定待检测应用越权;若第一权限集合的权限内容不大于第二权限集合的权限内容,判定待检测应用不越权。
141.在一个实施例中,应用类型确定模块还包括虚拟机确认模块,用于判断待检测应用在虚拟机的运行过程中是否访问超出权限的敏感位置;若待检测应用访问超出权限的敏感位置,判定待检测应用为恶意应用;若待检测应用未访问超出权限的敏感位置,判定待检测应用为安全应用。
142.上述应用安全检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
143.在一个实施例中,提供了一种计算机设备,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种应用安全检测方法。
144.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
145.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
146.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
147.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
148.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
149.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
150.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种应用安全检测方法,其特征在于,所述方法包括:获取待检测应用的第一安装包文件以及第一安装包文件信息;所述第一安装包文件由用户端模块确定,所述第一安装包文件信息由所述用户端模块收集;获取官方应用的第二安装包文件以及第二安装包文件信息;其中,所述第二安装包文件信息与所述第一安装包文件信息对应;对所述待检测应用的第一安装包文件反编译,得到第一数据信息;对所述官方应用的第二安装包文件反编译,得到第二数据信息;根据所述第一数据信息和所述第二数据信息确定所述待检测应用的应用类型。2.根据权利要求1所述的方法,其特征在于,在所述根据所述第一数据信息和所述第二数据信息确定所述待检测应用的应用类型之前,所述方法还包括:建立应用名单;判断所述待检测应用是否存在于所述应用名单;若所述待检测应用存在于所述应用名单,则根据所述应用名单确定所述待检测应用的应用类型。3.根据权利要求2所述的方法,其特征在于,所述根据所述应用名单确定所述待检测应用的应用类型包括:将所述应用名单分为白名单和黑名单;判断所述待检测应用是否存在于所述白名单中;若所述待检测应用存在于所述白名单中,则判定所述待检测应用的应用类型为安全应用;否则,判断所述待检测应用是否存在于所述黑名单中;若所述待检测应用存在于所述黑名单中,则判定所述待检测应用的应用类型为恶意应用。4.根据权利要求1所述的方法,其特征在于,所述第一数据信息包括第一签名和第一描述文件;所述第二数据信息包括第二签名和第二描述文件;所述根据所述第一数据信息和所述第二数据信息确定所述待检测应用的应用类型包括:判断所述第一签名和所述第二签名是否一致;若所述第一签名和所述第二签名不一致,则判定所述待检测应用的应用类型为恶意应用;若所述第一签名和所述第二签名一致,则根据所述第一描述文件和所述第二描述文件确定所述待检测应用的应用类型。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一描述文件和所述第二描述文件确定所述待检测应用的应用类型包括:根据所述第一描述文件和所述第二描述文件判断所述待检测应用是否越权;若所述待检测应用越权,判定所述待检测应用的应用类型为恶意应用;若所述待检测应用不越权,则根据所述待检测应用在虚拟机的运行过程中申请访问的权限内容确定所述待检测应用的应用类型。6.根据权利要求5所述的方法,其特征在于,所述根据所述待检测应用在虚拟机运行过程中申请访问的权限内容确定所述待检测应用的应用类型包括:
判断所述待检测应用在虚拟机的运行过程中是否访问超出权限的敏感位置;若所述待检测应用访问超出权限的敏感位置,判定所述待检测应用的应用类型为恶意应用;若所述待检测应用未访问超出权限的敏感位置,判定所述待检测应用的应用类型为安全应用。7.根据权利要求5所述的方法,其特征在于,所述根据所述第一描述文件和所述第二描述文件判断所述待检测应用是否越权包括:根据所述第一描述文件确定所述待检测应用使用时申请的第一权限集合;根据所述第二描述文件确定官方应用使用时申请的第二权限集合;判断所述第一权限集合的权限内容是否大于所述第二权限集合的权限内容;若所述第一权限集合的权限内容大于所述第二权限集合的权限内容,判定所述待检测应用越权;若所述第一权限集合的权限内容不大于所述第二权限集合的权限内容,判定所述待检测应用不越权。8.一种应用安全检测装置,其特征在于,所述装置包括:用户端模块,用于确定待检测应用的第一安装包文件,收集第一安装包文件信息;官方应用确定模块,用于获取官方应用的第二安装包文件以及第二安装包文件信息,其中,所述第二安装包文件信息与所述第一安装包文件信息对应;文件反编译模块,用于对所述第一安装包文件反编译,得到第一数据信息,还用于对所述第二安装包文件反编译,得到第二数据信息;应用类型确定模块,用于根据所述第一数据信息和所述第二数据信息确定所述待检测应用的应用类型。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结
本申请涉及一种应用安全检测方法、装置、计算机设备和存储介质。该方法包括:获取待检测应用的第一安装包文件以及第一安装包文件信息;第一安装包文件由用户端模块确定,第一安装包文件信息由用户端模块收集;获取官方应用的第二安装包文件以及第二安装包文件信息;其中,第二安装包文件信息与第一安装包文件信息对应;对待检测应用的第一安装包文件反编译,得到第一数据信息;对官方应用的第二安装包文件反编译,得到第二数据信息;根据第一数据信息和第二数据信息确定待检测应用的应用类型。通过将待检测应用和官方应用的数据信息进行比对,得出该待检测应用相对于官方应用的应用类型,判断待检测应用是否安全。判断待检测应用是否安全。判断待检测应用是否安全。
技术研发人员:邓巍 刘威 刘昕林 张健
受保护的技术使用者:深圳供电局有限公司
技术研发日:2023.03.21
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
