APP劫持检测方法、API包及存储介质与流程

文档序号:17938502发布日期:2019-06-18 22:50阅读:649来源:国知局
APP劫持检测方法、API包及存储介质与流程

本发明涉及网络安全技术领域,特别是涉及一种app劫持检测方法、api包及存储介质。



背景技术:

一些恶意程序通过伪造近似页面来非法获取用户输入的账号密码信息,比如:当用户打开涉及金融交易的app时,恶意程序通过监听系统api获取到了当前app应用开始运行或者正在进行金融交易,然后自动将伪造好和登录页面或支付页面一模一样的界面覆盖掉app当前页面,此时用户看到此页面后,就会在伪造的页面上进行账号以及密码的输入,当恶意程序通过伪造的页面获取到用户输入的账号以及密码信息后,再把app的真实的页面显示出来,并且把获取到的账号信息发给后台,不法分子就通过这种手段获取到了账号和密码信息。

android的app劫持人员所使用的攻击方式是:通过在被攻击app显示的过程中,弹出界面进行伪造诱导界面欺骗用户输入安全隐私信息,如伪造登录界面盗取密码,网银转账弹窗界面盗取支付密码。

攻击条件根据版本的不同也有所不同,比如:

在5.0以下的手机环境,攻击者通过调用系统apiactivity.getrunningtasks(1)判断是否被攻击app某个界面是否被打开,如果打开则弹出劫持界面;

在7.0以下的手机环境,攻击者访问非自身/proc/pid的文件漏洞实现。

可见,现有技术还有待于改进和发展。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种app劫持检测方法、api包及存储介质,旨在解决现有技术中移动终端app被劫持而无法检测的问题。

本发明的技术方案如下:

一种移动终端app劫持检测方法,其包括步骤:

全局监听view焦点事件;

在view失去焦点时调用模拟点击事件api;

对模拟点击事件api代码进行异常捕获;

若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。

在进一步地优选方案中,所述全局监听view焦点事件的步骤之前或之后还包括:

全局注册activity生命周期监听事件;

所述在view失去焦点时调用模拟点击事件api的步骤还包括:

在activity失去焦点时调用模拟点击事件api。

在进一步地优选方案中,所述若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全的步骤之后还包括:

当检测到app被劫持时,提示用户所述app已进入后台运行,需谨慎操作。

在进一步地优选方案中,所述当检测到app被劫持时,提示用户所述app已进入后台运行,需谨慎操作的步骤具体为:当检测到app被劫持时,通过语音播报、弹窗、控制呼吸灯亮灭频率、发出蜂鸣声和/或控制移动终端进入休眠模式的方式,提示用户所述app已进入后台运行,需谨慎操作。

在进一步地优选方案中,所述在view失去焦点时调用模拟点击事件api的步骤之前还包括:

将被调用后模拟点击事件的api包导入app项目。

一种android系统下的app劫持检测方法,其包括步骤:

全局注册activity生命周期监听事件;

在activity失去焦点时调用模拟点击事件api;

对模拟点击事件api代码进行异常捕获;

若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。

在进一步地优选方案中,所述全局注册activity生命周期监听事件的步骤之前或之后还包括:

全局监听view焦点事件;

所述在activity失去焦点时调用模拟点击事件api的步骤还包括:

在view失去焦点时调用模拟点击事件api。

在进一步地优选方案中,所述若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全的步骤之后还包括:

当检测到app被劫持时,提示用户所述app已进入后台运行,需谨慎操作。

一种api包,所述api包用于被调用以执行模拟点击事件,其应用于如上所述的移动终端app劫持检测方法,或者如上所述的android系统下的app劫持检测方法。

一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的移动终端app劫持检测方法的步骤,或者实现如上所述的android系统下的app劫持检测方法的步骤。

与现有技术相比,本发明提供的移动终端app劫持检测方法,包括步骤:全局监听view焦点事件;在view失去焦点时调用模拟点击事件api;对模拟点击事件api代码进行异常捕获;若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。基于此,本发明所提供的移动终端app劫持检测方法,可以在不具备任何权限的情况下检测app页面是否被其他应用遮盖,至少在一定程度上解决现有技术中移动终端app被劫持而无法检测的问题。

附图说明

图1是本发明移动终端app劫持检测方法较佳实施例的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明的主要思路如下:当某个app在被其他应用遮盖时,会被系统加入任务堆栈,系统为了防止非法操作,不允许用户发送点击事件点击其它app,本发明即利用该特性检测app是否被其他应用劫持。

基于上述思路,本发明首先提供了一种移动终端app劫持检测方法,所述移动终端app劫持检测方法用于检测app是否被劫持,该方法的特点在于无需任何权限即可完成检测;其包括步骤:

s300、全局监听view焦点事件。

全局监听view焦点事件是android系统下的一个常规动作,本发明对此不再进行赘述。

优选在所述s300之前还包括:s200、全局注册activity生命周期监听事件。

s400、在view失去焦点时调用模拟点击事件api,在设置有步骤s300的情况下,所述s400具体为:在view或activity失去焦点时调用模拟点击事件api。

也就是说,当移动终端打开微信(或者金融交易app,或者其他涉及个人信息的app)时,微信页面将处于顶层(用户看得到的这一层)。正常情况下,该状态(具体是指微信页面处于顶层的状态)将被实时监测直至由于用户操作或由于故障微信页面不再处于顶层;但若在监测过程中,顶层页面失去焦点(即微信页面不再处于顶层)时,模拟点击事件api被调用模拟点击事件(模拟点击当前页面,类似于手指点击微信页面),而由于此时当前的页面已经不是微信了,所以系统就会报错。本发明即通过捕获到这个报错,判断出微信已经不在用户的视线焦点中了,而后移动终端会提示用户,微信已经进入到后台运行了,相关的微信账号密码信息输入时,需要谨慎操作。

因此,所述步骤s400之后还包括步骤:s500、对模拟点击事件api代码进行异常捕获。并在s500之后还包括:s600、若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。

在本发明进一步地较佳实施例中,所述s600的步骤之后还包括:

当检测到app被劫持时,提示用户所述app已进入后台运行,需谨慎操作。

在具体实施时,所述当检测到app被劫持时,提示用户所述app已进入后台运行,需谨慎操作的步骤具体为:当检测到app被劫持时,通过语音播报、弹窗、控制呼吸灯亮灭频率、发出蜂鸣声和/或控制移动终端进入休眠模式的方式,提示用户所述app已进入后台运行,需谨慎操作。

即提示方法可以是语音播报、可以是弹窗、可以是控制呼吸灯亮灭频率、可以是发出蜂鸣声、可以是控制移动终端进入休眠模式,也可以是上述提示方法的组合使用,其中控制呼吸灯亮灭频率、发出蜂鸣声及控制移动终端进入休眠模式等方式在优选实施例中并不单独使用,这几种提示方法可能会让用户搞不清楚具体状况,因此,应当配合语音播报或弹窗使用。

基于上述思路,本发明还提供了一种android系统下的app劫持检测方法,其包括步骤:s20、全局注册activity生命周期监听事件。

优选在所述s20之后还包括:s30、全局监听view焦点事件。

s40、在view失去焦点时调用模拟点击事件api,在设置有步骤s20的情况下,所述s40具体为:在view或activity失去焦点时调用模拟点击事件api。

也就是说,当移动终端打开微信(或者金融交易app,或者其他涉及个人信息的app)时,微信页面将处于顶层(用户看得到的这一层)。正常情况下,该状态(具体是指微信页面处于顶层的状态)将被实时监测直至由于用户操作或由于故障微信页面不再处于顶层;但若在监测过程中,顶层页面失去焦点(即微信页面不再处于顶层)时,模拟点击事件api被调用模拟点击事件(模拟点击当前页面,类似于手指点击微信页面),而由于此时当前的页面已经不是微信了,所以系统就会报错。本发明即通过捕获到这个报错,判断出微信已经不在用户的视线焦点中了,而后移动终端会提示用户,微信已经进入到后台运行了,相关的微信账号密码信息输入时,需要谨慎操作。

因此,所述步骤s40之后还包括步骤:s50、对模拟点击事件api代码进行异常捕获。并在s50之后还包括:s60、若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。

在本发明进一步地较佳实施例中,所述s60的步骤之后还包括:

当检测到app被劫持时,提示用户所述app已进入后台运行,需谨慎操作。

在具体实施时,所述当检测到app被劫持时,提示用户所述app已进入后台运行,需谨慎操作的步骤具体为:当检测到app被劫持时,通过语音播报、弹窗、控制呼吸灯亮灭频率、发出蜂鸣声和/或控制移动终端进入休眠模式的方式,提示用户所述app已进入后台运行,需谨慎操作。

即提示方法可以是语音播报、可以是弹窗、可以是控制呼吸灯亮灭频率、可以是发出蜂鸣声、可以是控制移动终端进入休眠模式,也可以是上述提示方法的组合使用,其中控制呼吸灯亮灭频率、发出蜂鸣声及控制移动终端进入休眠模式等方式在优选实施例中并不单独使用,这几种提示方法可能会让用户搞不清楚具体状况,因此,应当配合语音播报或弹窗使用。

本发明还提供了一种api包:所述api包用于被调用以执行模拟点击事件,其应用于如上所述的移动终端app劫持检测方法,或者如上所述的android系统下的app劫持检测方法。

一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的移动终端app劫持检测方法的步骤,或者实现如上所述的android系统下的app劫持检测方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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