一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用程序行为检测方法及设备与流程

2022-03-08 22:39:27 来源:中国专利 TAG:


1.本发明实施例涉及计算机领域,尤其涉及一种应用程序行为检测方法及设备。


背景技术:

2.目前,随着移动互联网的迅速发展,各种移动终端应用被开发出来以满足用户需求,这些应用中不乏存在功能和内容上打擦边球,诸如后台静默下载安装无关应用,频繁弹出广告窗口,广告窗口无法关闭等等高度打扰用户和严重影响用户体验的应用,这些应用统称为不规范应用。他们因为自身利益及市场竞争因素,采用超过终端和用户接受范围内的动作进行强行互动和骚扰,或因为快速赶工、粗制滥造导致应用质量无法达到要求,甚至违反国家法律法规和互联网规范要求,进行非法和敏感内容的传播。根据dcci对2016年用户手机安全报告,约94.6%的用户认为终端存在安全隐患,该安全隐患并非传统意义上的病毒侵害和攻击所造成,更多的是由于各类应用的不规范行为,导致用户在使用过程中的体验受到打扰,从而在心理上造成强烈的不安全感受。
3.在应用市场巨大用户基数的情况下,一旦不慎流入并上架诸如流氓式应用分发、不规范广告、存在用户安全风险等应用,实际将带来极大的用户利益/生态价值体系损害。然而目前对于应用的检测方案,例如杀软扫描、兼容性测试、人工复检等,都有着极大的不足。
4.杀软扫描的检测方案,通过静态扫描的方式,对待上架应用进行扫描,主要目标是检测病毒和恶意代码,并不是针对不规范行为;从技术上(静态扫描)和目的性上与不规范应用检查并不一致。
5.兼容性测试的检测方案,应用的兼容性与功能有不同的划分,兼容性检测无法覆盖功能检测,如不易卸载、安装出现多图标等行为,无法通过兼容性检测判定。
6.人工复检是基于各自应用市场的一套应用上架要求对待上架应用进行人工检测,但是因为各应用市场的要求,在侧重点、类型划分以及检测粒度上有一定差异,同时测试人员对要求对理解和人为操作也存在一定差异,导致最终仍有大量的不规范应用,最终得以上架。
7.因此,亟待一种新技术解决当前应用程序不规范行为检测的问题。


技术实现要素:

8.针对现有技术存在的问题,本发明实施例提供一种应用程序行为检测方法及设备,能弥补当前杀软扫描、兼容性测试、人工复检等检测的不足,不仅能自动化全面准确的检测应用程序的不规范行为,还可以检测任意指定行为,有利于对应用程序进行逆向分析和行为监控。
9.第一方面,本发明实施例提供一种应用程序行为检测方法,包括:
10.第一进程获取检测任务,所述检测任务是对指定应用程序的指定行为进行检测的任务;
11.第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测;
12.所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息。
13.进一步,所述第一进程获取检测任务,具体包括:
14.第一进程读取本地文件,从所述本地文件中获取检测任务;或者第一进程接收服务端发送的检测任务;
15.其中,所述检测任务对应的指定应用程序为已安装完成的应用程序或未安装的应用程序。
16.进一步,所述第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测,之前还包括:
17.所述第一进程根据所述检测任务,获取一个或多个检测项及每个检测项对应的检测时间;
18.所述第一进程根据所获取的检测项和检测时间,维护一个计时器,为每个检测项配置检测阶段;
19.基于所述检测任务的任一检测项对应的检测阶段,所述第一进程发送第一全局消息或第二全局消息,其中,所述第一全局消息用于指示对所述任一检测项开始检测,所述第二全局消息用于指示对所述任一检测项结束检测。
20.进一步,所述第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测,具体包括:
21.若所述第二进程接收到第一全局消息,则所述第二进程hook所述指定应用程序的页面创建方法,对所述指定应用程序的页面进行模拟点击,以遍历页面操作;所述第二进程获取每次刷新的页面信息,作为待检测数据;基于所述第一全局消息对应的检测阶段,所述第二进程根据所述待检测数据进行行为检测;或者
22.若所述第二进程接收到第二全局消息,则结束对所述指定应用程序的检测,并向所述第一进程发送第三消息,所述第三消息包含第二全局消息对应的检测阶段的实际检测耗时及检出内容。
23.进一步,所述第二进程hook所述指定应用程序的页面创建方法,对所述指定应用程序的页面进行模拟点击,以遍历页面操作,还包括:
24.所述第二进程获取输入指令;
25.所述第二进程根据所述输入指令,执行一种或多种hook事件。
26.进一步,所述第二进程hook所述指定应用程序的页面创建方法,对所述指定应用程序的页面进行模拟点击,以遍历页面操作,还包括:
27.所述第二进程记录模拟点击的当前页面和所点击控件的信息,以确保发生跳转后能够返回至当前页面,完成遍历页面操作。
28.进一步,所述基于所述第一全局消息对应的检测阶段,所述第二进程根据所述待检测数据进行行为检测,具体包括:
29.所述第二进程根据所述第一全局消息对应的检测阶段,对所述待检测数据进行信息过滤,获得过滤后的待检测数据;
30.若所述过滤后的待检测数据包含指定检测内容,则所述第二进程对所述过滤后的待检测数据进行行为分析和检测,以实现对所述指定应用程序的指定行为的检测。
31.进一步,所述第二进程对所述过滤后的待检测数据进行行为分析和检测,具体包括:
32.所述第二进程根据所述过滤后的待检测数据,对所述指定应用程序的指定行为进行应用内检测、后台检测和应用外检测之一种或多种;
33.所述应用内检测,是指应用程序运行时,对运行过程中发生的指定行为进行检测;所述后台检测,是指应用程序切换到后台时,对后台运行过程中发生的指定行为进行检测;所述应用外检测,是指应用程序退出后,对与应用程序相关的指定行为进行检测。
34.进一步,所述第一进程获取检测任务还包括:
35.所述第一进程获取检测任务后,保存所述检测任务的数据信息,所述数据信息包括所述检测任务对应的检测项和检测时间;
36.进一步,所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息,具体包括:
37.所述第一进程接收到所述第二进程发送的第三消息,获取所述第三消息对应的检测阶段的实际检测耗时及检出内容;
38.所述第一进程根据所述检出内容,对所述检测任务对应的指定应用程序的指定行为进行截图,并保存截图信息;
39.所述第一进程根据所述检出内容和/或截图信息,以及实际检测耗时,对所述第三消息对应的检测任务的数据信息进行填充和汇总。
40.进一步,所述应用程序行为检测方法还包括:
41.所述第二进程通过hook技术绑定于系统进程。
42.第二方面,本发明实施例提供一种电子设备,包括:
43.至少一个处理器;以及
44.与所述处理器通信连接的至少一个存储器,其中:
45.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例第一方面所述应用程序行为检测方法及其任一可选实施例所述的方法。
46.第三方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令执行本发明实施例第一方面所述应用程序行为检测方法及其任一可选实施例的方法。
47.本发明实施例提供的应用程序行为检测方法,通过两个进程协作实现对应用程序的行为检测,第一个进程获取检测任务并通过消息指示的方式,调度第二进程进行行为检测,并根据第二进程的行为检测结果获取应用程序的指定行为的相关信息。本发明实施例是一种自动化的检测方法,通过对检测任务的控制,可实现自动化、全面、准确的应用程序行为检测,能弥补当前技术的不足并能避免人工浪费,不仅能检测应用程序的不规范行为,还可以检测任意指定行为,有利于对应用程序进行逆向分析和行为监控。
附图说明
48.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1为本发明实施例一种应用程序行为检测方法流程示意图;
50.图2为本发明实施例本地检测时的流程交互图;
51.图3为本发明实施例远程控制检测时的流程交互图;
52.图4为本发明实施例一种应用程序行为检测装置示意图;
53.图5为本发明实施例电子设备的框架示意图。
具体实施方式
54.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.图1为本发明实施例一种应用程序行为检测方法流程示意图。如图1所示的一种应用程序行为检测方法,其执行主体为智能终端,包括:
56.100,第一进程获取检测任务,所述检测任务是对指定应用程序的指定行为进行检测的任务;
57.101,第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测;
58.102,所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息。
59.本发明实施例中第一进程和第二进程是在同一台智能终端上运行的两个不同的进程。第一进程获取检测任务,进行任务分析和调度,最后收集和汇总检测结果;第二进程根据第一进程的调度(消息指示)进行行为检测;因此本发明实施例中,第一进程也被称为链接端或链接端第一进程,第二进程也被称为检测端或检测端第二进程。需要说明的是,本发明实施例中第一、第二或第三仅用于名称区分,并无实质意义。
60.链接端是待检测应用的入口,通过链接端第一进程获取检测任务;本发明实施例的检测任务是对指定应用程序的指定行为进行检测的任务,即检测应用程序是否存在指定行为;具体的,检测任务的数据信息可以包括样本文件路径、包名、程序名、任务id、检测项及检测时间中的一种或多种。
61.链接端第一进程获取检测任务后,对检测任务进行分析,并通过消息驱动的方式对检测任务进行调度管理。链接端第一进程发送的消息为全局消息,该全局消息同时被链接端第一进程和检测端第二进程接收,并驱动链接端第一进程进行检测阶段管理,指示检测端第二进程执行检测任务。检测端第二进程根据链接端第一进程的消息指示执行或停止检测任务,并将检测结果反馈给链接端第一进程。
62.本发明实施例所述指定行为可以是应用程序的不规范行为、隐私行为、流量使用
行为等等,任何正常或不正常行为,都落入本发明实施例的指定行为之中。通过对应用程序正常或不正常行为的检测,可以实现对应用程序的行为监控,便于进行逆向分析;对于不正常行为,可以进一步进行异常处理等等,本发明实施例对此不作限定。
63.本发明实施例提供的应用程序行为检测方法,通过两个进程协作实现对应用程序的行为检测,第一个进程获取检测任务并通过消息指示的方式,调度第二进程进行行为检测,并根据第二进程的行为检测结果获取应用程序的指定行为的相关信息。本发明实施例是一种自动化的检测方法,通过对检测任务的控制,可实现自动化、全面、准确的行为检测,能弥补当前技术的不足并能避免人工浪费,不仅能检测应用程序的不规范行为,还可以检测任意指定行为,有利于对应用程序进行逆向分析和行为监控。
64.基于上述实施例,本发明实施例检测端第二进程通过hook技术绑定于系统进程。
65.在智能终端启动时,本发明实施例检测端第二进程会绑定到系统进程,同时启动链接端第一进程;本发明实施例检测端第二进程hook系统,链接端第一进程进行自我控制,完成检测任务的调度管理,两个进程相互依赖。由于检测端第二进程会绑定到系统进程并进行保活,因而具有很强的稳定性,其生命周期保证与系统同步;相应的,检测端第二进程可以在任意时间接受消息,方便进行应用程序行为模拟以及执行检测任务,极大程度的提升了检测的准确性以及检测方式的可靠性。
66.区别于传统多服务相互唤起和保有不可见页面进行保活,本发明实施例将检测端第二进程的生命周期绑定到系统进程,提升了存活周期并且能在全局执行任务,同时实现将全局消息保存在统一内存空间,供全局使用,为任务的正常长时间稳定执行以及深层次检测提供保障。
67.基于上述任一实施例,步骤100所述第一进程获取检测任务,具体包括:第一进程读取本地文件,从所述本地文件中获取检测任务;或者第一进程接收服务端发送的检测任务;其中,所述检测任务对应的指定应用程序为已安装完成的应用程序或未安装的应用程序。
68.本发明实施例链接端第一进程启动完成后,可通过两种方式获取检测任务:
69.其一,从本地文件获取检测任务,对应本地检测;具体的,本地检测时,链接端第一进程将自主搜寻到本地应用程序,对其展开自动化检测。
70.其二,接收服务端发送的检测任务,对应远程控制检测;具体的,远程控制检测时,配置服务端并与智能终端进行通信,此服务端为另一个智能终端;智能终端上的链接端第一进程将会根据服务端的指令下载安装应用,并开始检测指定测项,在完成检测后卸载待检应用。同时,链接端第一进程也是检测流程的控制端,通过消息传递,控制检测段进行检测。
71.本发明实施例可以进行本地检测,也可以进行远程控制检测,也可以同时进行本地检测和远程控制检测。优选的,本发明实施例中本地检测可以预先制定检测流程;若配置服务端,则链接端可采用技术保活的方法长时间接受服务端消息,不间断的执行自动化任务分配。
72.本发明实施例链接端第一进程工作分为本地检测和远程控制检测两种,区别在于任务来源与结果处理。获取到的检测任务中的指定应用程序可以是已安装完成的应用程序,也可以是安装包;可选的,若是安装包,将校验安装包md5,确保任务正确执行后,使用
intent包装安装信息调用startactivity进行安装,使用模拟点击完成确认安装行为。
73.基于上述任一可选实施例,步骤100所述第一进程获取检测任务还包括:
74.所述第一进程获取检测任务后,保存所述检测任务的数据信息,所述数据信息包括所述检测任务对应的检测项和检测时间;
75.如前所述,本发明实施例检测任务的数据信息可以包括样本文件路径、包名、程序名、任务id、本次检测项及检测时间中的一种或多种;链接端第一进程获取检测任务后,可以将包名、程序名、任务id、检测项及检测时间等封装成序列化数据,保存检测任务信息,所保存的数据信息将在后期检测过程中进行填充,从而可以获得完整的任务数据和检测数据。之后链接端第一进程启动检测阶段管理,进行检测任务调度。
76.基于上述任一可选实施例,步骤101所述第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测,之前还包括:
77.所述第一进程根据所述检测任务,获取一个或多个检测项及每个检测项对应的检测时间;
78.所述第一进程根据所获取的检测项和检测时间,维护一个计时器,为每个检测项配置检测阶段;
79.基于所述检测任务的任一检测项对应的检测阶段,所述第一进程发送第一全局消息或第二全局消息,其中,所述第一全局消息用于指示对所述任一检测项开始检测,所述第二全局消息用于指示对所述任一检测项结束检测。
80.本发明实施例中,一个检测任务对应一个或多个检测项,每个检测项可对应一个或多个检测时间。对于不同类型的应用程序,不同的指定行为,其行为的特点和表现形式不尽相同。可以针对某一种或某几种类型的应用程序的指定行为,设置一套默认的检测项流程,作为该类应用程序的指定行为的检测流程;针对另一种或另几种类型的应用程序的指定行为,设置另一套默认的检测项流程,作为该类应用程序的检测流程;同时,本地检测也可以定制检测流程;以上具体检测流程,本发明实施例不作限定。
81.在检测任务开始时,链接端第一进程根据检测项以及检测时间维护一个计时器,用作检测阶段管理。该计时器将根据每个测项的时间制定检测阶段,链接端第一进程根据计时器在不同的检测阶段发送不同的消息通知检测端第二进程开始或结束某一检测阶段。链接端第一进程发送两个全局消息,分别为第一全局消息或第二全局消息,分别用于指示开始或结束对某一检测项的检测,所有的全局消息同时被链接端第一进程和检测端第二进程接收。
82.需要说明的是,远程控制检测时,服务端和智能终端之间可配置一套长连接心跳检测机制,通过定期与智能终端链接端进行网络请求,配合链接端的计时器管理任务流程,确认任务是否正常执行。
83.基于上述任一可选实施例,步骤101所述第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测,具体包括:
84.101.1,若所述第二进程接收到第一全局消息,则所述第二进程hook所述指定应用程序的页面创建方法,对所述指定应用程序的页面进行模拟点击,以遍历页面操作;所述第二进程获取每次刷新的页面信息,作为待检测数据;基于所述第一全局消息对应的检测阶段,所述第二进程根据所述待检测数据进行行为检测;或者
85.101.2,若所述第二进程接收到第二全局消息,则结束对所述指定应用程序的检测,并向所述第一进程发送第三消息,所述第三消息包含第二全局消息对应的检测阶段的实际检测耗时及检出内容。
86.本发明实施例中检测端第二进程根据全局消息对应的不同检测阶段执行不同的操作,完成自动化模拟人工检测,同时将检测到的行为数据通过消息方式发送给链接端第一进程。同时检测端第二进程对接收的全局消息进行维护,做到流程同步。
87.步骤101.1,针对一个具体检测阶段,检测端第二进程接收到第一全局消息,开始执行该检测阶段的检测。检测端第二进程的检测方法包括:
88.首先,检测端第二进程hook指定应用程序的页面创建方法,将获得完整绘制完成后的页面信息,加以解析封装后,获得层次清晰内容完整的各个控件数据化信息。需要说明的是,在一个检测任务的初始检测阶段,如果已经hook了该检测任务对应的指定应用程序的页面创建方法,则在连续而来的同一检测任务的后续检测阶段,此步骤可以省略。
89.其次,检测端第二进程对所述指定应用程序的页面进行模拟点击,以遍历页面操作。本发明实施例检测端第二进程绑定于系统进程,hook指定应用程序的有效页面,根据第一全局消息对应的检测阶段的检测流程进行模拟点击,完成有序有记录的遍历操作,浏览指定应用程序的全部或部分页面,触发指定应用程序的全部或部分行为,并捕捉每一个有效页面的信息数据,从而达到检测目的。
90.针对每次刷新的页面,所述第二进程获取每次刷新的页面信息,并对获取到的页面信息进行封装,作为待检测数据。一般应用程序的页面会包含文本、图片、链接、控件等信息中的一种多种,则封装好的待检测数据也含有页面实际包含的文本、图片、链接或控件等的位置和属性等相关信息。
91.其后,检测端第二进程根据所述待检测数据进行行为检测,重点检测所述待检测数据中是否包含指定检测内容,若是,则标记为有效数据开始进一步分析,否则丢弃本次页面更新所获取到的信息。本发明实施例中所述指定检测内容可以通过链接端第一进程发送的全局消息来指示,例如在第一全局消息对应的检测项中包含指定检测内容,当然检测项中也可以包含其它数据,本发明实施例对此不作限定。
92.本发明实施例检测端第二进程hook指定应用程序的有效页面,捕捉每一有效页面数据并封装分析,并可根据链接端第一进程发来的指令筛选有效数据进行分析;同时本发明实施例实现了无需root权限跨进程进行模拟点击操作,结合全局保存的信息实现“有序有记录”的智能遍历操作,全面地检测目标,极大程度的提升了检测的准确性以及检测方式的可靠性。
93.步骤101.2,针对一个具体检测阶段,检测端第二进程接收到第二全局消息,结束该检测阶段的检测。若检测端第二进程在该检测阶段检测到指定行为,则将包含指定行为的检测内容及该检测阶段的实际检测耗时通过消息方式发送给你链接端第一进程,以供链接端第一进程进行留证处理,确保检测的可靠性。所述第三消息可以是全局消息,也可以是直接发送给第一进程的消息。
94.基于上述任一可选实施例,步骤101.1中所述第二进程hook所述指定应用程序的页面创建方法,对所述指定应用程序的页面进行模拟点击,以遍历页面操作,还包括:
95.所述第二进程获取输入指令;
96.所述第二进程根据所述输入指令,执行一种或多种hook事件。
97.本发明实施例中,检测端第二进程还可以接收用户输入指令,用户可以自主选择需要hook的网址记录、流量使用或隐私访问等事件,做到更深层次的检测;检测端第二进程根据用户的输入指令进行hook操作。
98.本发明实施例中,所述hook事件包括但不限于:网址记录、流量使用、隐私访问、新页面创建、页面内容刷新、广播收发以及消息通知等等。根据每一种hook事件,或者多种hook事件的结合,或者hook事件与其他数据的结合,可以实现对应用程序的不同行为进行分析检测,对此略加说明如下:
99.hook网址记录,可以结合链接地址分析应用跳转网页的目的,例如应用运行中,启动了浏览器,通过hook到的浏览器浏览地址,分析本次跳转行为。
100.hook流量使用,结合应用类型,可以分析应用数据使用情况,例如文字阅读类应用,突然产生大量流量消耗,可能是更新,也可能是无关下载。
101.hook隐私访问,分析应用读取用户的隐私信息,结合应用的隐私条款,分析应用合规性,例如新闻类应用,读取用户不相关信息如联系人列表。
102.hook新页面创建和页面内容刷新,可以结合上一页面以及触发创建事件的操作,分析创建出的新页面情景,例如点击某一按键,触发与应用不相关弹窗,或是发生跳转,可以判断本次页面变更的性质。
103.hook广播收发和消息通知,可以结合当前操作判断消息触发条件,判断消息类型。例如应用运行时点击某一按键,触发了下载同时触发广播通知,或者应用通知包含不相关内容。
104.以上说明仅为示例,并非穷举,也并非限定。结合以上数据分析可以进行应用程序行为分析,达到检测目的。本发明实施例并不限制具体的指定行为与hook事件,及指定行为与hook事件的关系。
105.基于上述任一可选实施例,步骤101.1中所述第二进程hook所述指定应用程序的页面创建方法,对所述指定应用程序的页面进行模拟点击,以遍历页面操作,还包括:
106.所述第二进程记录模拟点击的当前页面和所点击控件的信息,以确保发生跳转后能够返回至当前页面,完成遍历页面操作。
107.本发明实施例中检测端第二进程遍历过程的每次点击都将记录当前点击窗口和点击控件的完整信息,确保发生跳转,不论是跳转应用内还是其他进程的页面,都将保证能够返回当前页面,直到完成本页面的控件遍历,确保了检测的可靠性。
108.基于上述任一可选实施例,步骤101.1中所述基于所述第一全局消息对应的检测阶段,所述第二进程根据所述待检测数据进行行为检测,具体包括:
109.所述第二进程根据所述第一全局消息对应的检测阶段,对所述待检测数据进行信息过滤,获得过滤后的待检测数据;
110.若所述过滤后的待检测数据包含指定检测内容,则所述第二进程对所述过滤后的待检测数据进行行为分析和检测,以实现对所述指定应用程序的指定行为的检测。
111.本发明实施例检测端第二进程通过模拟点击遍历页面操作,获取每次刷新的页面信息,作为待检测数据,所述待检测数据是层次清晰内容完整的页面数据化信息。由于不同的检测阶段所检测的具体检测项不同,因此检测端第二进程根据链接端第一进程发送的全
局消息对应的检测阶段,对待检测数据进行信息过滤,以获得符合当前检测阶段要求的待检测数据,即过滤后的待检测数据。
112.本发明实施例链接端第一进程在不同检测阶段发来不同的消息,如检测指定应用程序运行时、检测指定应用程序切换后台时,以及检测指定应用程序退出时等不同检测阶段;检测端第二进程通过这些检测阶段区分检测内容,进行信息过滤,针对指定应用程序的窗口数据进行分析。同样,页面遍历过程依赖这些数据。
113.若过滤后的待检测数据包含当前检测阶段的指定检测内容,则进一步对过滤后的待检测数据进行分析和检测,以实现对所述指定应用程序的指定行为的检测。
114.本发明实施例所述第二进程对所述过滤后的待检测数据进行行为分析和检测,具体包括:
115.所述第二进程根据所述过滤后的待检测数据,对所述指定应用程序的指定行为进行应用内检测、后台检测和应用外检测之一种或多种;
116.所述应用内检测,是指应用程序运行时,对运行过程中发生的指定行为进行检测;所述后台检测,是指应用程序切换到后台时,对后台运行过程中发生的指定行为进行检测;所述应用外检测,是指应用程序退出后,对与应用程序相关的指定行为进行检测。
117.需要说明的是,当检测应用程序不同的指定行为时,应用内检测、后台检测和应用外检测对应的具体检测内容可能相同,也可能不相同。例如对应用程序的不规范行为进行检测,可选的检测内容如下:
118.一、应用内检测:如启动应用程序静默处理、启动应用程序按指定使用思路点击处理(既有目的地查询点击)、启动应用程序按随机入口点击处理(既无目的地有序点击)等。
119.二、后台检测:如应用程序切换到后台静默处理、返回桌面图标查询、打开通知栏查看消息等等。
120.三、应用外检测:如退出应用程序,查看是否存在自唤起功能等。
121.上述分别对应应用程序运行时检测,应用程序运行中发生的不规范行为,如banner广告弹窗;后台状态,检测应用程序切换到后台时发生的不规范行为,如后台弹广告;以及关闭状体,退出应用程序后应用程序发生不规范行为,如应用程序自启弹窗。每一阶段的检出内容都可由检测端第二进程封装成序列化数据,该数据能具体说明本次不规范行为,包括检出事项、检出时间等等;并发送消息至链接端第一进程。
122.基于上述任一可选实施例,步骤102所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息,具体包括:
123.所述第一进程接收到所述第二进程发送的第三消息,获取所述第三消息对应的检测阶段的实际检测耗时及检出内容;
124.所述第一进程根据所述检出内容,对所述检测任务对应的指定应用程序的指定行为进行截图,并保存截图信息;
125.所述第一进程根据所述检出内容和/或截图信息,以及实际检测耗时,对所述第三消息对应的检测任务的数据信息进行填充和汇总。
126.本发明实施例链接端第一进程接收到检测端第二进程的消息后,获取消息中包含的实际检测耗时及检出内容等信息,可根据收到的检测阶段的检测项信息,调用系统mediaproject功能对检出内容进行截图留证,并保存该信息。
127.待本次检测任务完成后,链接端第一进程对本次检测任务开始时保存的数据信息进行填充,汇总数据,包括实际检测耗时,检出项以及检测过程中的异常信息等,从而完成本次检测任务,保存最终结果到本地或是上传服务器。
128.在一个可选的实施例中,本地检测时,链接端第一进程保存本地图片和txt文件;远程控制检测时,链接端第一进程向服务端上传图片以及封装好的序列化数据。
129.综上所述,本发明实施例提供的应用程序行为检测方法,通过两个进程协作实现对应用程序的行为检测,第一个进程获取检测任务并通过消息指示的方式,调度第二进程进行行为检测,并根据第二进程的行为检测结果获取应用程序的指定行为的相关信息。本发明实施例是一种自动化的检测方法,通过对检测任务的控制,可实现自动化、全面、准确的应用程序行为检测,能弥补当前技术的不足并能避免人工浪费,不仅能检测应用程序的不规范行为,还可以检测任意指定行为,例如隐私行为、流量使用行为等等任何正常或不正常行为,有利于对应用程序进行逆向分析和行为监控。
130.本发明实施例可以进行本地检测或远程控制检测,或同时进行本地检测和远程控制检测。
131.图2为本发明实施例本地检测时的流程交互图。如图2所示的应用程序行为检测方法实施例,本地检测时,第一进程从本地文件获取检测任务;然后分析检测任务,获取检测项和检测时间,维护一个计时器,对检测任务进行检测阶段管理;开始进行检测任务,发送第一全局消息,此第一全局消息由第二进程和第一进程同时接收;第二进程根据收到的第一全局消息执行检测任务;第一进程根据接收到的第一全局消息执行检测任务阶段管理,发送第二全局消息,此第二全局消息由第二进程和第一进程同时接收;第一进程接受到第二全局消息,通过第三消息将检出内容及实际检测耗时发送给第一进程;第一进程根据接收到的检出内容及实际检测耗时,对检测任务的数据信息进行填充整理,并根据接收到的第而全局消息执行检测任务阶段管理,开始下一个检测阶段,直至所有检测阶段完成;当检测任务全部完成,第一进程进行数据信息汇总及截图留证等,并保存至本地。
132.图3为本发明实施例远程控制检测时的流程交互图。需要说明的是,第一进程和第一进程是运行在同一个智能终端的两个进程,服务端是另外一个智能终端。如图3所示的应用程序行为检测方法实施例,第一进程向服务端请求检测任务;服务端向第一进程发送检测任务;第一进程接收到服务端发送的检测任务后,分析检测任务,获取检测项和检测时间,维护一个计时器,对检测任务进行检测阶段管理;开始进行检测任务,发送第一全局消息,此第一全局消息由第二进程和第一进程同时接收;第二进程根据收到的第一全局消息执行检测任务;第一进程根据接收到的第一全局消息执行检测任务阶段管理,发送第二全局消息,此第二全局消息由第二进程和第一进程同时接收;第一进程接受到第二全局消息,通过第三消息将检出内容及实际检测耗时发送给第一进程;第一进程根据接收到的检出内容及实际检测耗时,对检测任务的数据信息进行填充整理,并根据接收到的第而全局消息执行检测任务阶段管理,开始下一个检测阶段,直至所有检测阶段完成;当检测任务全部完成,第一进程进行数据信息汇总及截图留证等;第二进程将整理好的检测结果上传到服务端和/或保存至本地。至此一个检测任务全部完成,第一进程可以请求下一个检测任务,等待。
133.本发明实施例将执行应用程序行为检测的检测端进程绑定于系统进程,可hook有
效页面数据并封装分析。本发明实施例通过检测端进程hook大量应用程序有效页面,捕捉每一页面的信息数据。针对每次刷新的页面,提取详细信息,并将其封装成待检测数据,极大程度的提升了检测的准确性以及检测方式的可靠性。
134.本发明实施例通过hook系统进程进行保活。区别于传统多服务相互唤起和保有不可见页面进行保活,本发明实施例将检测端进程的生命周期绑定到系统进程,提升了存活周期并且能在全局执行任务。同时实现将全局消息保存在统一内存空间,供全局使用,为任务的正常长时间稳定执行以及深层次检测提供保障。
135.本发明实施例完成无需root权限跨进程进行模拟点击操作,结合全局保存的信息实现“有序有记录”的智能遍历操作,全面地检测目标。
136.基于上述特点,本发明实施例针对应用程序的行为进行检测,具有检测准确性高,可执行性强以及数据安全性高等,确保了行为检测的可靠性以及全面性,具有良好的有益效果。
137.图4为本发明实施例一种应用程序行为检测装置示意图。本发明实施例还提供一种应用程序行为检测装置,如图4所示,包括检测任务获取模块400、行为检测模块401和检测结果汇总模块402:
138.检测任务获取模块400,第一进程获取检测任务,所述检测任务是对指定应用程序的指定行为进行检测的任务;
139.行为检测模块401,第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测;
140.检测结果汇总模块402,所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息。
141.本发明实施例所述应用程序行为检测装置,用于执行图1所示的应用程序行为检测方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
142.图5为本发明实施例电子设备框架示意图。请参考图5,本发明实施例提供一种电子设备,包括:处理器(processor)510、通信接口(communications interface)520、存储器(memory)530和总线540,其中,处理器510,通信接口520,存储器530通过总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法,包括:第一进程获取检测任务,所述检测任务是对指定应用程序的指定行为进行检测的任务;第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测;所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息。
143.本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:第一进程获取检测任务,所述检测任务是对指定应用程序的指定行为进行检测的任务;第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测;所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息。
144.本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:第一进程获取检测任务,所述检测任务是对指定应用程序的指定行为进行检
测的任务;第二进程根据所述第一进程的消息指示,对所述指定应用程序的指定行为进行检测;所述第一进程根据所述第二进程的检测结果,获取所述指定应用程序的指定行为的相关信息。
145.本领域普通技术人员可以理解:实现上述设备实施例或方法实施例仅仅是示意性的,其中所述处理器和所述存储器可以是物理上分离的部件也可以不是物理上分离的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
146.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如u盘、移动硬盘、rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
147.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献