信息劫持的测试方法、装置及电子设备与流程

文档序号:33989754发布日期:2023-04-29 14:55阅读:107来源:国知局
信息劫持的测试方法、装置及电子设备与流程

本发明涉及信息安全领域,具体而言,涉及一种信息劫持的测试方法、装置及电子设备。


背景技术:

1、随着android系统应用的发展,被越来越多的人使用。信息窃取、信息收集等事件不仅被用于pc(个人计算机)端设备和网络设备,也同样发生于移动端设备。android系统漏洞导致的网络安全事件频频发生,新的安全漏洞不断被利用,损失的金额逐年增加。

2、同时,android(安卓)手机的指纹识别技术被应用在移动设备的各种领域,例如启用帐户登录、支付授权和其他操作等等的授权行为中,因此,使用android手机指纹识别存储的授权凭证,进行android界面劫持攻击,能够在各类app(手机软件)中进行敏感操作。

3、相关技术中,android界面劫持攻击,一般有以下两种劫持攻击测试方式:

4、方式一,采用xposed(一套开源的、在android高权限模式下运行的框架服务)等hook框架(一种api(应用程序编程接口)调用拦截技术)进行界面劫持测试,在android9.0以后,系统增加了对于程序activity(活动,窗口)的检测,采用这种方式进行界面劫持首先得获得系统的root(android最高管理权限)权限,但是,这个界面劫持攻击方式,对手机设备要求过高,需要使用root权限,安装过相关android hook框架诸如xposed。需要物理接触该设备,在设备上预先安装xposed框架等hook程序。对于测试来说要求较高,顺利完成界面劫持的条件比较多。

5、方式二,针对5.0以下机型,通过枚举的方式获取栈顶activity,监控到目标activity出现,即可发起劫持。测试程序通过调用目标应用程序中的指纹监听activity,进行测试。一段时间后,后台的恶意应用程序会启动一个activity来覆盖指纹应用程序。但是,这种方式属于比较老的攻击方式,在android 5.0以上的机型无法使用,因为5.0以上的android框架已经对app做了相应限制,使应用层app没有办法获取到栈顶activity。

6、由于通过方式二的测试方法对待测试程序进行测试,必须满足以下要求:待测试程序有一个从不取消的缺陷,即它从不取消输入的监听器。安卓系统允许在后台运行的应用程序继续监听物理输入。但是android 9之后的指纹管理器api修复了这种功能,同样也修复了摄像头功能。因此,这种攻击测试方式只能适用于一小部分有缺陷的应用程序,并且在最新版本的指纹api中被禁用。

7、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本发明实施例提供了一种信息劫持的测试方法、装置及电子设备,以至少解决相关技术中通过hook框架或监听窗口活动的方式对安卓设备的信息劫持风险检测的方法的适用范围小的技术问题。

2、根据本发明实施例的一个方面,提供了一种信息劫持的测试方法,包括:接收目标程序的测试请求,其中,所述测试请求用于请求测试待测试程序是否存在信息劫持风险;响应所述测试请求,确定目标设备上的目标程序;通过所述目标程序利用所述目标设备的半透明属性窗口,对所述待测试程序进行信息劫持风险测试,得到测试结果。

3、进一步地,通过所述目标程序利用所述目标设备的半透明属性窗口,对所述待测试程序进行信息劫持风险测试,得到测试结果,包括:在所述待测试程序带有自动恢复功能和不暂停功能的情况下,在所述目标设备的休眠唤醒过程中,通过所述目标程序中的第一测试方式,对所述待测试程序进行信息劫持风险测试,得到第一测试结果,其中,所述自动恢复功能用于表示所述目标设备在执行休眠唤醒过程后,所述待测试程序的程序运行状态自动恢复到休眠唤醒过程前的状态,所述不暂停功能用于表示所述目标设备在休眠唤醒过程中,所述待测试程序不停止运行;在所述目标设备处于多窗口模式的情况下,基于所述目标设备的半透明属性窗口,通过所述目标程序中的第二测试方式,对所述待测试程序进行信息劫持风险测试,得到第二测试结果;在所述目标设备处于条件竞争状态的情况下,通过所述目标程序中的第三测试方式,对所述待测试程序进行信息劫持风险测试,得到第三测试结果,其中,所述条件竞争状态为所述目标设备同时存在多个窗口处于恢复状态;基于所述第一测试结果、所述第二测试结果以及第三测试结果,得到所述测试结果。

4、进一步地,在所述待测试程序带有自动恢复功能和不暂停功能的情况下,在所述目标设备的休眠唤醒过程中,通过所述目标程序中的第一测试方式,对所述待测试程序进行信息劫持风险测试,得到第一测试结果,包括:通过所述目标程序在所述目标设备中发起监听事件,并通过所述监听事件监听所述目标设备的休眠唤醒过程;在所述监听事件监听到所述目标设备处于休眠唤醒过程的情况下,通过所述目标程序,对所述待测试程序进行信息劫持风险测试,得到所述第一测试结果。

5、进一步地,在所述监听事件监听到所述目标设备处于休眠唤醒过程的情况下,通过所述目标程序,对所述待测试程序进行信息劫持风险测试,得到所述第一测试结果,包括:在所述目标设备休眠前,通过所述待测试程序建立第一半透明属性窗口;在所述目标设备唤醒后,通过所述第一半透明属性窗口对所述待测试程序进行信息劫持风险测试,测试通过所述第一半透明属性窗口是否劫持到相关信息,得到所述第一测试结果,其中,所述相关信息至少包括用户在所述待测试程序中进行操作时输入的信息。

6、进一步地,在所述目标设备处于多窗口模式的情况下,基于所述目标设备的半透明属性窗口,通过所述目标程序中的第二测试方式,对所述待测试程序进行信息劫持风险测试,得到第二测试结果,包括:所述目标设备处于多窗口模式的情况下,通过目标程序在所述目标设备中建立第二半透明属性窗口;获取用户对所述第二半透明属性窗口的操作事件,并基于所述操作事件,对所述待测试程序进行信息劫持风险测试,测试通过所述第二半透明属性窗口是否劫持到所述操作事件中的相关信息,得到第二测试结果。

7、进一步地,通过所述目标程序中的第三测试方式,对所述待测试程序进行信息劫持风险测试,得到第三测试结果之前,包括:在所述待测试程序发起输入窗口后的预设时间间隔内,通过所述待测试程序在所述目标设备上发起第三半透明属性窗口,使所述目标设备进入条件竞争状态。

8、进一步地,基于所述第一测试结果、所述第二测试结果以及第三测试结果,得到所述测试结果,包括:统计所述第一测试结果、所述第二测试结果以及第三测试结果中测试结果为信息劫持成功的数量,得到目标数量;判断所述目标数量是否大于预设阈值,并在所述目标数量大于预设阈值的情况下,确定所述测试结果为所述待测试程序存在信息劫持风险。

9、进一步地,所述信息劫持风险测试为指纹信息劫持测试。

10、根据本发明实施例的另一方面,还提供了一种信息劫持的测试装置,包括:接收模块,用于接收目标程序的测试请求,其中,所述测试请求用于请求测试待测试程序是否存在信息劫持风险;确定模块,用于响应所述测试请求,确定目标设备上的目标程序;测试模块,用于通过所述目标程序利用所述目标设备的半透明属性窗口,对所述待测试程序进行信息劫持风险测试,得到测试结果。

11、进一步地,测试模块包括:第一测试单元,用于在所述待测试程序带有自动恢复功能和不暂停功能的情况下,在所述目标设备的休眠唤醒过程中,通过所述目标程序中的第一测试方式,对所述待测试程序进行信息劫持风险测试,得到第一测试结果,其中,所述自动恢复功能用于表示所述目标设备在执行休眠唤醒过程后,所述待测试程序的程序运行状态自动恢复到休眠唤醒过程前的状态,所述不暂停功能用于表示所述目标设备在休眠唤醒过程中,所述待测试程序不停止运行;第二测试单元,用于在所述目标设备处于多窗口模式的情况下,基于所述目标设备的半透明属性窗口,通过所述目标程序中的第二测试方式,对所述待测试程序进行信息劫持风险测试,得到第二测试结果;第三测试单元,用于在所述目标设备处于条件竞争状态的情况下,通过所述目标程序中的第三测试方式,对所述待测试程序进行信息劫持风险测试,得到第三测试结果,其中,所述条件竞争状态为所述目标设备同时存在多个窗口处于恢复状态;处理单元,用于基于所述第一测试结果、所述第二测试结果以及第三测试结果,得到所述测试结果。

12、进一步地,第一测试单元包括:监听子模块,用于通过所述目标程序在所述目标设备中发起监听事件,并通过所述监听事件监听所述目标设备的休眠唤醒过程;测试子模块,用于在所述监听事件监听到所述目标设备处于休眠唤醒过程的情况下,通过所述目标程序,对所述待测试程序进行信息劫持风险测试,得到所述第一测试结果。

13、进一步地,测试子模块包括:窗口建立子单元,用于在所述目标设备休眠前,通过所述待测试程序建立第一半透明属性窗口;第一测试子单元,用于在所述目标设备唤醒后,通过所述第一半透明属性窗口对所述待测试程序进行信息劫持风险测试,测试通过所述第一半透明属性窗口是否劫持到相关信息,得到所述第一测试结果,其中,所述相关信息至少包括用户在所述待测试程序中进行操作时输入的信息。

14、进一步地,第二测试单元包括:窗口建立子模块,用于所述目标设备处于多窗口模式的情况下,通过目标程序在所述目标设备中建立第二半透明属性窗口;第一处理子模块,用于获取用户对所述第二半透明属性窗口的操作事件,并基于所述操作事件,对所述待测试程序进行信息劫持风险测试,测试通过所述第二半透明属性窗口是否劫持到所述操作事件中的相关信息,得到第二测试结果。

15、进一步地,第三测试单元包括:第二处理子模块,用于通过所述目标程序中的第三测试方式,对所述待测试程序进行信息劫持风险测试,得到第三测试结果之前,在所述待测试程序发起输入窗口后的预设时间间隔内,通过所述待测试程序在所述目标设备上发起第三半透明属性窗口,使所述目标设备进入条件竞争状态。

16、进一步地,处理单元包括:统计子模块,用于统计所述第一测试结果、所述第二测试结果以及第三测试结果中测试结果为信息劫持成功的数量,得到目标数量;确定子模块,用于判断所述目标数量是否大于预设阈值,并在所述目标数量大于预设阈值的情况下,确定所述测试结果为所述待测试程序存在信息劫持风险。

17、进一步地,所述信息劫持风险测试为指纹信息劫持测试。

18、根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的信息劫持的测试方法。

19、在本发明中,接收目标程序的测试请求,其中,测试请求用于请求测试待测试程序是否存在信息劫持风险;响应测试请求,确定目标设备上的目标程序;通过目标程序利用目标设备的半透明属性窗口,对待测试程序进行信息劫持风险测试,得到测试结果。进而解决了相关技术中通过hook框架或监听窗口活动的方式对安卓设备的信息劫持风险检测的方法的适用范围小的技术问题。在本发明中,通过利用半透明属性窗口对待测试程序进行信息劫持风险测试,避免了通过hook框架或监听窗口活动的方式对安卓设备的信息劫持风险检测的方法的适用范围小的情况,从而实现了提高对待测试程序进行信息劫持风险测试的测试结果的准确率和通用性的技术效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1