CN109905390A - App劫持检测方法、api包及存储介质 - Google Patents
App劫持检测方法、api包及存储介质 Download PDFInfo
- Publication number
- CN109905390A CN109905390A CN201910141649.8A CN201910141649A CN109905390A CN 109905390 A CN109905390 A CN 109905390A CN 201910141649 A CN201910141649 A CN 201910141649A CN 109905390 A CN109905390 A CN 109905390A
- Authority
- CN
- China
- Prior art keywords
- app
- detection method
- api
- mobile terminal
- click event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种APP劫持检测方法、API包及存储介质,所述方法包括步骤:全局监听view焦点事件;在view失去焦点时调用模拟点击事件API;对模拟点击事件API代码进行异常捕获;若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。基于此,本发明所提供的移动终端APP劫持检测方法,可以在不具备任何权限的情况下检测APP页面是否被其他应用遮盖,至少在一定程度上解决现有技术中移动终端APP被劫持而无法检测的问题。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及一种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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种移动终端APP劫持检测方法,其特征在于,包括步骤:
全局监听view焦点事件;
在view失去焦点时调用模拟点击事件API;
对模拟点击事件API代码进行异常捕获;
若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。
2.根据权利要求1所述的移动终端APP劫持检测方法,其特征在于,所述全局监听view焦点事件的步骤之前或之后还包括:
全局注册activity生命周期监听事件;
所述在view失去焦点时调用模拟点击事件API的步骤还包括:
在activity失去焦点时调用模拟点击事件API。
3.根据权利要求1或2所述的移动终端APP劫持检测方法,其特征在于,所述若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全的步骤之后还包括:
当检测到APP被劫持时,提示用户所述APP已进入后台运行,需谨慎操作。
4.根据权利要求3所述的移动终端APP劫持检测方法,其特征在于,所述当检测到APP被劫持时,提示用户所述APP已进入后台运行,需谨慎操作的步骤具体为:当检测到APP被劫持时,通过语音播报、弹窗、控制呼吸灯亮灭频率、发出蜂鸣声和/或控制移动终端进入休眠模式的方式,提示用户所述APP已进入后台运行,需谨慎操作。
5.根据权利要求1所述的移动终端APP劫持检测方法,其特征在于,所述在view失去焦点时调用模拟点击事件API的步骤之前还包括:
将被调用后模拟点击事件的API包导入APP项目。
6.一种Android系统下的APP劫持检测方法,其特征在于,包括步骤:
全局注册activity生命周期监听事件;
在activity失去焦点时调用模拟点击事件API;
对模拟点击事件API代码进行异常捕获;
若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全。
7.根据权利要求6所述的Android系统下的APP劫持检测方法,其特征在于,所述全局注册activity生命周期监听事件的步骤之前或之后还包括:
全局监听view焦点事件;
所述在activity失去焦点时调用模拟点击事件API的步骤还包括:
在view失去焦点时调用模拟点击事件API。
8.根据权利要求6或7所述的Android系统下的APP劫持检测方法,其特征在于,所述若捕获到异常,则判定为被劫持;若未捕获到异常,则判定为安全的步骤之后还包括:
当检测到APP被劫持时,提示用户所述APP已进入后台运行,需谨慎操作。
9.一种API包,其特征在于,所述API包用于被调用以执行模拟点击事件,其应用于如权利要求1至5中任意一项所述的移动终端APP劫持检测方法,或者如权利要求6至8中任意一项所述的Android系统下的APP劫持检测方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的移动终端APP劫持检测方法的步骤,或者实现如权利要求6至8中任一项所述的Android系统下的APP劫持检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910141649.8A CN109905390B (zh) | 2019-02-26 | 2019-02-26 | App劫持检测方法、api包及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910141649.8A CN109905390B (zh) | 2019-02-26 | 2019-02-26 | App劫持检测方法、api包及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905390A true CN109905390A (zh) | 2019-06-18 |
CN109905390B CN109905390B (zh) | 2021-09-28 |
Family
ID=66945364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910141649.8A Active CN109905390B (zh) | 2019-02-26 | 2019-02-26 | App劫持检测方法、api包及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905390B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092993A (zh) * | 2020-03-20 | 2020-05-01 | 北京热云科技有限公司 | 一种探测apk文件劫持行为的方法及系统 |
CN111611582A (zh) * | 2020-05-22 | 2020-09-01 | 百度在线网络技术(北京)有限公司 | 用于识别页面劫持行为的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160127399A1 (en) * | 2012-06-07 | 2016-05-05 | Proofpoint, Inc. | Malicious Message Detection and Processing |
CN107066600A (zh) * | 2017-04-20 | 2017-08-18 | 惠州Tcl移动通信有限公司 | 自动跳过广告页的方法、系统、移动终端及可读存储介质 |
CN107783898A (zh) * | 2017-07-24 | 2018-03-09 | 平安科技(深圳)有限公司 | 移动应用的测试方法及测试设备 |
-
2019
- 2019-02-26 CN CN201910141649.8A patent/CN109905390B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160127399A1 (en) * | 2012-06-07 | 2016-05-05 | Proofpoint, Inc. | Malicious Message Detection and Processing |
CN107066600A (zh) * | 2017-04-20 | 2017-08-18 | 惠州Tcl移动通信有限公司 | 自动跳过广告页的方法、系统、移动终端及可读存储介质 |
CN107783898A (zh) * | 2017-07-24 | 2018-03-09 | 平安科技(深圳)有限公司 | 移动应用的测试方法及测试设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092993A (zh) * | 2020-03-20 | 2020-05-01 | 北京热云科技有限公司 | 一种探测apk文件劫持行为的方法及系统 |
CN111092993B (zh) * | 2020-03-20 | 2020-06-30 | 北京热云科技有限公司 | 一种探测apk文件劫持行为的方法及系统 |
CN111611582A (zh) * | 2020-05-22 | 2020-09-01 | 百度在线网络技术(北京)有限公司 | 用于识别页面劫持行为的方法和装置 |
CN111611582B (zh) * | 2020-05-22 | 2023-08-25 | 百度在线网络技术(北京)有限公司 | 用于识别页面劫持行为的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109905390B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102543623B1 (ko) | 모바일 보안 대책들 | |
US9826093B2 (en) | Mobile terminal calling request message processing method, device and system | |
CN107665301B (zh) | 验证方法及装置 | |
CN102084369B (zh) | 用于监视对设备的未授权使用的系统 | |
CN111083165B (zh) | 基于联合防撞库平台的登录拦截方法和系统 | |
CN106156619A (zh) | 应用安全防护方法及装置 | |
US20180351956A1 (en) | Integrated biometrics for application security | |
US20160125522A1 (en) | Automatic account lockout | |
US20230291761A1 (en) | Monitoring and Preventing Remote User Automated Cyber Attacks | |
CN109905390A (zh) | App劫持检测方法、api包及存储介质 | |
WO2017107896A1 (zh) | 一种文档防护方法及装置 | |
CN108549799A (zh) | 安卓权限的管理方法、装置、终端和计算机存储介质 | |
KR20170013597A (ko) | 보안 강화 방법 및 보안 강화 장치 | |
US20230306430A1 (en) | System and method for detecting fraudulent bank transaction | |
CN106600279A (zh) | 一种基于指纹识别的安全支付方法及系统 | |
CN109145533B (zh) | 一种使用随机密码保护代码的方法及装置 | |
US8549631B2 (en) | Internet site security system and method thereto | |
EP1962217B1 (en) | Self-defensive protected software with suspended latent license enforcement | |
CN106330886A (zh) | 一种在远程监控中保护视频隐私的方法和设备 | |
CN114257404B (zh) | 异常外联统计告警方法、装置、计算机设备和存储介质 | |
CN113672925B (zh) | 阻止勒索软件攻击的方法、装置、存储介质及电子设备 | |
CN111862428B (zh) | 一种门禁控制方法和设备 | |
CN109271787A (zh) | 一种操作系统安全主动防御方法及操作系统 | |
CN106157008A (zh) | 一种智能终端安全支付方法 | |
US20240098113A1 (en) | Mitigating risk from multi-factor authentication fatigue attacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |