CN105095751A - 一种面向Android平台的钓鱼恶意应用检测方法 - Google Patents
一种面向Android平台的钓鱼恶意应用检测方法 Download PDFInfo
- Publication number
- CN105095751A CN105095751A CN201410189549.XA CN201410189549A CN105095751A CN 105095751 A CN105095751 A CN 105095751A CN 201410189549 A CN201410189549 A CN 201410189549A CN 105095751 A CN105095751 A CN 105095751A
- Authority
- CN
- China
- Prior art keywords
- application
- interface
- movable component
- detected
- sectional drawing
- 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.)
- Pending
Links
Abstract
本发明涉及一种基于图像相似性的Android平台钓鱼恶意应用检测方法,用于检测Android平台上通过仿造界面窃取用户敏感信息的钓鱼恶意应用软件,其步骤包括:1)反编译目标应用,获取欲截图的活动组件名称集合;2)利用自动化界面遍历方法,获取目标界面截图集合;3)判断待检测应用是否与目标应用为同一软件的不同版本,如果是,则停止检测;4)反编译待检测应用,获取其全部活动组件名称集合;5)利用自动化界面遍历方法,获取检测界面截图集合;6)利用图像感知哈希算法计算检测界面截图集合与目标界面截图集合的相似指数;7)如果相似指数超过预定义的相似阈值则判定待检测应用为钓鱼恶意应用。
Description
技术领域
本发明涉及一种面向Android平台的钓鱼恶意应用检测方法,属于移动安全领域。
背景技术
随着互联网的兴起,电子商务成为现代商业不可小觑的一个重要市场。而推动电子商务发展的一个重要因素,就是网络支付技术的发展。对于传统的网络支付,用户往往使用个人终端电脑通过网页进行支付。而近年来移动互联网的火爆,使得移动支付也逐渐受到人们的重视。在移动支付领域,支付行为除了同PC上一样,可以通过通用的浏览器实现外,还可以通过银行或第三方支付平台的移动应用来完成的。
针对网络支付的攻击层出不穷,其中尤以网络钓鱼的危害最为巨大。网络钓鱼,又称钓鱼式攻击,一般是利用社会工程的手段,比如邮件、短信等,诱骗受害者访问精心设计的与目标组织非常相似的网站,来获取受害者在目标组织中的账号、密码等敏感信息。这里的目标组织包括银行、第三方支付、社交平台等。
针对移动终端的钓鱼攻击,除了钓鱼网站外,攻击者还可能通过在消费者的移动终端安装恶意软件,模拟银行或第三方支付应用的界面,从而诱骗消费者输入用户名、密码等个人敏感信息并发送至远端的服务器,完成信息窃取。一种典型的Android平台钓鱼恶意软件的实现方式是通过活动组件劫持来实施。Android平台上,每当一个新的活动组件(即Android系统中的Activity)启动时,前一个活动组件就会停止,这些活动组件都保留在系统中的一个活动组件历史栈中。攻击者可以启动一个后台的服务,这个服务不断地扫描当前运行的进程,当发现目标进程启动时,就启动一个伪装的活动组件。如果这个活动组件是登录界面,那么就可以从中获取用户的账号密码。
目前网络钓鱼攻击检测研究主要集中在针钓鱼网站的检测,而面向移动终端的安全研究则主要集中在一般性的恶意软件检测,专门针对移动终端上钓鱼恶意应用软件检测的研究很少。钓鱼恶意应用软件与其他恶意应用相比,一个显著的特点是钓鱼应用会构造和目标应用非常相似的登录、支付等关键页面界面,来诱骗用户输入敏感信息。本发明基于这种相似性,提出了一种面向Android平台的钓鱼恶意软件检测方法。
发明内容
本发明提出了一种新型的基于图像相似性的Android平台钓鱼恶意应用检测方法,用于检测Android平台上通过仿造界面窃取用户敏感信息的钓鱼恶意移动应用软件。
本发明所述方法的输入为目标应用APPT与待检测应用APPD,目标为判定待检测应用APPD是否为钓鱼类恶意应用软件。其中目标应用APPT为银行支付应用等恶意软件想要模仿的应用软件,待检测应用APPD为疑似模仿APPT的应用软件。具体的技术方案如下:
步骤1,反编译目标应用APPT,获取欲截图的活动组件名称集合ActT;
步骤2,利用自动化界面遍历方法A,获取目标应用APPT的活动组件名称集合ActT中元素对应的界面截图,形成目标界面集合IT;
步骤3,判断待检测应用APPD是否与目标应用APPT是同一程序的不同版本,如果是则停止检测APPD;
步骤4,反编译待检测应用APPD,获取全部活动组件名称集合ActD;
步骤5,利用自动化界面遍历方法A,获取待检测应用APPD的活动组件名称集合ActD中元素对应的界面截图集合ID;
步骤6,对集合IT与集合ID的任一元素ITi与IDj,利用图像感知哈希算法计算相似指数sij,生成相似矩阵,并以其中的最大值作为APPT与APPD的相似指数;
步骤7,如果APPT与APPD的相似指数超过预定义的相似阈值,则判定APPD为恶意应用。
在步骤1中,欲截图的活动组件根据目标应用软件的具体情况选择,一般为目标应用中需要用户输入敏感信息的活动组件。
在步骤2中,自动化界面遍历方法A的输入为应用App与活动组件集合Act,具体的步骤包括:
步骤a-1,从应用App的主活动组件开始,记录当前活动组件名称,遍历当前活动组件上的按钮控件,并记录控件ID;
步骤a-2,模拟用户点击操作,依次触发按钮控件的单击动作,并记录已被触发的控件ID;
步骤a-3,监控Android系统中的活动组件栈中最顶层的活动组件名称,如果最顶层的活动组件名称属于集合Act且未被截图,则调用截屏操作接口,截取当前活动组件对应的界面图像;
步骤a-4,如果活动组件集合Act中的所有活动组件对应的界面图像都已获取,或所有记录的控件ID都已被触发,则停止,并输出活动组件集合Act中的所对应的界面图像存储位置组成的集合I,对于没有获得界面图像的活动组件,其在I集合中对应的值为字符串“NULL”。
本发明的有益效果:
现有的针对移动恶意软件的动态检测方法主要是监测目标软件有无调用系统敏感API、有无访问系统敏感存储区域数据或者通过污点追踪的方法检测软件有无敏感信息泄露的行为。但是对于钓鱼类的恶意应用软件,其往往是通过与用户的交互完成敏感信息的窃取,而非从敏感存储区域中获取,同时这些信息通过普通的HTTP协议即可上传,也不需要获取短信、摄像头等功能权限。因此,一般的移动恶意软件方法不一定适用于钓鱼类的恶意应用。本发明针对钓鱼移动应用通过构造和目标移动应用非常相似的登录或支付界面,来诱骗用户输入敏感信息这一核心特征,提出了一种面向Android平台的自动化的检测方法,利用图像感知哈希算法有效识别待检测应用软件是否存在模仿目标应用的界面,从而准确识别恶意软件的钓鱼行为。
附图说明
图1是本发明一种面向Android平台的钓鱼恶意应用检测方法的一实施例中总体流程示意图。
图2是本发明一种面向Android平台的钓鱼恶意应用检测方法的一实施例中预处理阶段1的流程示意图。
图3是本发明一种面向Android平台的钓鱼恶意应用检测方法的一实施例中预处理阶段2的流程示意图。
图4是本发明一种面向Android平台的钓鱼恶意应用检测方法的一实施例中检测阶段的流程示意图。
图5是本发明一种面向Android平台的钓鱼恶意应用检测方法的一实施例中自动化界面遍历方法A的流程示意图。
具体实施方式
下面参照附图对本发明一种面向Android平台的钓鱼恶意应用检测方法的一实施例进行详细描述,但本发明不局限于该实施方式。
如图1所示是本发明一种面向Android平台的钓鱼恶意应用检测方法的一实施例中总体流程示意图,其包括三个阶段:
预处理阶段1主要获取目标应用APPT的指定界面截图集合IT。
预处理阶段2主要完成的工作包括两点,一是识别待检测应用APPD是否与目标应用软件APPT是同一软件的不同版本,如果是则结束,二是获取待检测应用APPD的所有界面截图集合ID。
检测阶段,对于集合IT与ID中元素,利用图像哈希感知算法,计算两两相似指数,如果其中最大的相似指数超过阈值,则判定APPD为恶意应用。
预处理阶段1的流程如图2所示,其具体的步骤为:
1-1.反编译目标应用APPT,获得APPT的AndroidManifest.xml文件与程序签名证书;
1-2.从APPT的AndroidManifest.xml文件中获得欲截图的活动组件名称集合ActT,一般选择APPT中需要用户输入敏感信息的活动组件,如登陆活动组件;
1-3.将目标软件APPT安装到Android模拟器中;
1-4.利用自动化界面遍历方法A,获取ActT对应的界面截图集合IT。
预处理阶段2的流程如图3所示,其具体的步骤为:
2-1.反编译目标应用APPD,获得APPD的AndroidManifest.xml文件与程序签名证书;
2-2.比较APPD与APPT的程序签名证书中的主体是否一致,如果一致,表明APPD与APPT是同一软件的不同版本,退出;
2-3.从APPD的AndroidManifest.xml文件中获得全部的活动组件名称集合ActD;
2-4.将目标应用APPD安装到Android模拟器中;
2-5.利用自动化界面遍历方法A,获取ActD对应的界面截图集合ID。
检测阶段的流程如图4所示,其具体步骤为:
3-1.令最大相似指数smax为0;
3-2.获取IT中的下一个元素ITi,如果未获取到,转至步骤3-7;
3-3.获取ID中的下一个元素IDj,如果未获取到,转至步骤3-2;
3-4.如果IDj是否为NULL,转至步骤3-3;
3-5.利用基于图像感知哈希算法,计算ITi与IDj的相似指数sij,一般可以采用基于DCT变换的图像感知哈希算法,相似指数sij等于“64-两个图像哈希值的汉明距离”;
3-6.如果sij>smax,则smax=sij,转至步骤3-3;
3-7.如果smax大于预定义的相似阈值S-THRESHOLD,则判定AppD是恶意的,否则判定AppD不是恶意的。
自动化界面遍历方法A的流程如图5所示,其输入为应用APP和待截取界面图像的活动组件名称集合ACT,其具体步骤为:
4-1.在Android模拟器中,启动应用APP;
4-2.遍历当前活动组件上的按钮控件,并记录控件ID及其对应的活动组件名称;
4-3.监控Android活动组件栈中最顶层的活动组件名称,如果当前最顶层活动组件名称在ACT集合中且未被截屏,转至步骤4-4,否则转至步骤4-7;
4-5.调用模拟器提供的截屏接口,截取当前界面图像,记录图像保存路径,加入集合I,并标注与ACT集合中元素的对应关系;
4-6.检查ACT中所有元素是否都被截屏,如果否,继续执行,如果是,转至4-11;
4-7.检查是否所有已记录的按钮控件ID都已被触发,如果否,继续执行,如果是,转至4-11;
4-8.检查当前活动组件上是否有未被触发的按钮控件,如果是,转至4-9,如果否,转至4-10;
4-9.模拟用户回退操作,回到上一个活动组件,并转至4-7;
4-10.模拟用户点击操作,选择当前活动组件上未被触发的一个按钮控件,触发其单击动作,并标记该控件ID为已触发,转至4-2;
4-11.对于ACT中未截取到图像的活动组件,标注其在I集合中对应的值为字符串“NULL”。
Claims (4)
1.一种面向Android平台的钓鱼类恶意应用检测方法,其方法步骤包括:
1)反编译目标应用,获取欲截图的活动组件名称集合;
2)利用自动化界面遍历方法,获取目标应用的活动组件名称集合中元素对应的界面截图,形成目标界面截图集合;
3)判断待检测应用是否与目标应用为同一软件的不同版本,如果是,则停止检测;
4)反编译待检测应用,获取其全部活动组件名称集合;
5)利用自动化界面遍历方法A,获取待检测应用的活动组件名称集合中元素对应的界面截图,形成检测界面截图集合;
6)对目标界面截图集合与检测界面截图集合的所有元素,利用图像感知哈希算法计算两两相似指数,并以其中的最大值作为待检测应用与目标应用的相似指数;
7)判断待检测应用与目标应用的相似指数是否超过预定义的相似阈值,如果是,则判定待检测应用为恶意应用。
2.如权利要求1所述的面向Android平台的钓鱼类恶意应用检测方法,其特征在于,目标应用为恶意软件想要模仿的应用软件,待检测应用为疑似模仿目标应用的应用软件。
3.如权利要求1所述的面向Android平台的钓鱼类恶意应用检测方法,其特征在于,所述欲截图的活动组件根据目标应用的具体情况选择,一般为目标应用中需要用户输入敏感信息的活动组件。
4.如权利要求1所述的面向Android平台的钓鱼类恶意应用检测方法,特征在于,所述自动化界面遍历方法A的输入为应用App与活动组件名称集合Act,具体的步骤包括:
a-1,从应用App的主活动组件开始,记录当前活动组件名称,遍历当前活动组件上的按钮控件,并记录控件ID;
a-2,模拟用户点击操作,依次触发按钮控件的单击动作,并记录已被触发的控件ID;
a-3,监控Android系统中的活动组件栈中最顶层的活动组件名称,如果与活动组件名称属于集合Act且未被截图,则调用截屏操作接口,截取当前活动组件对应的界面图像;
a-4,如果活动组件集合Act中的所有活动组件对应的界面图像都已获取,或所有记录的控件ID都已被触发,则停止,并输出活动组件集合Act中的所对应的界面图像存储位置组成的集合I,对于没有获得界面图像的活动组件,其在I对应的值为字符串“NULL”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410189549.XA CN105095751A (zh) | 2014-05-07 | 2014-05-07 | 一种面向Android平台的钓鱼恶意应用检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410189549.XA CN105095751A (zh) | 2014-05-07 | 2014-05-07 | 一种面向Android平台的钓鱼恶意应用检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095751A true CN105095751A (zh) | 2015-11-25 |
Family
ID=54576159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410189549.XA Pending CN105095751A (zh) | 2014-05-07 | 2014-05-07 | 一种面向Android平台的钓鱼恶意应用检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095751A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653959A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市安之天信息技术有限公司 | 一种基于功能图片识别仿冒网站的方法及系统 |
CN105930720A (zh) * | 2016-05-05 | 2016-09-07 | 北京元心科技有限公司 | 一种实现与设备安全人机交互的方法和系统 |
WO2016197710A1 (zh) * | 2015-11-27 | 2016-12-15 | 中兴通讯股份有限公司 | 移动终端软件假界面识别方法及装置 |
CN107294918A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种钓鱼网页检测方法及装置 |
CN108062463A (zh) * | 2016-11-07 | 2018-05-22 | 武汉安天信息技术有限责任公司 | 一种基于截屏图片的重打包检测方法及系统 |
CN108108618A (zh) * | 2017-12-28 | 2018-06-01 | 中国信息通信研究院 | 伪造攻击的应用界面检测方法及装置 |
CN110222511A (zh) * | 2019-06-21 | 2019-09-10 | 杭州安恒信息技术股份有限公司 | 恶意软件家族识别方法、装置及电子设备 |
CN110780789A (zh) * | 2019-10-25 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 游戏应用启动方法和装置、存储介质及电子装置 |
CN111372129A (zh) * | 2018-12-26 | 2020-07-03 | Tcl集团股份有限公司 | 基于安卓系统保存播放信息的方法、智能终端及存储介质 |
CN113343239A (zh) * | 2021-06-28 | 2021-09-03 | Oppo广东移动通信有限公司 | 应用识别方法、装置、存储介质及电子设备 |
CN115225930A (zh) * | 2022-07-25 | 2022-10-21 | 广州博冠信息科技有限公司 | 直播互动应用的处理方法、装置、电子设备及存储介质 |
-
2014
- 2014-05-07 CN CN201410189549.XA patent/CN105095751A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016197710A1 (zh) * | 2015-11-27 | 2016-12-15 | 中兴通讯股份有限公司 | 移动终端软件假界面识别方法及装置 |
CN106815522A (zh) * | 2015-11-27 | 2017-06-09 | 中兴通讯股份有限公司 | 移动终端软件假界面识别方法及装置 |
CN105653959A (zh) * | 2015-12-31 | 2016-06-08 | 深圳市安之天信息技术有限公司 | 一种基于功能图片识别仿冒网站的方法及系统 |
CN107294918A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种钓鱼网页检测方法及装置 |
CN107294918B (zh) * | 2016-03-31 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种钓鱼网页检测方法及装置 |
CN105930720A (zh) * | 2016-05-05 | 2016-09-07 | 北京元心科技有限公司 | 一种实现与设备安全人机交互的方法和系统 |
CN108062463A (zh) * | 2016-11-07 | 2018-05-22 | 武汉安天信息技术有限责任公司 | 一种基于截屏图片的重打包检测方法及系统 |
CN108108618B (zh) * | 2017-12-28 | 2021-05-25 | 中国信息通信研究院 | 伪造攻击的应用界面检测方法及装置 |
CN108108618A (zh) * | 2017-12-28 | 2018-06-01 | 中国信息通信研究院 | 伪造攻击的应用界面检测方法及装置 |
CN111372129A (zh) * | 2018-12-26 | 2020-07-03 | Tcl集团股份有限公司 | 基于安卓系统保存播放信息的方法、智能终端及存储介质 |
CN110222511A (zh) * | 2019-06-21 | 2019-09-10 | 杭州安恒信息技术股份有限公司 | 恶意软件家族识别方法、装置及电子设备 |
CN110780789A (zh) * | 2019-10-25 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 游戏应用启动方法和装置、存储介质及电子装置 |
CN110780789B (zh) * | 2019-10-25 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 游戏应用启动方法和装置、存储介质及电子装置 |
CN113343239A (zh) * | 2021-06-28 | 2021-09-03 | Oppo广东移动通信有限公司 | 应用识别方法、装置、存储介质及电子设备 |
CN115225930A (zh) * | 2022-07-25 | 2022-10-21 | 广州博冠信息科技有限公司 | 直播互动应用的处理方法、装置、电子设备及存储介质 |
CN115225930B (zh) * | 2022-07-25 | 2024-01-09 | 广州博冠信息科技有限公司 | 直播互动应用的处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095751A (zh) | 一种面向Android平台的钓鱼恶意应用检测方法 | |
US10102372B2 (en) | Behavior profiling for malware detection | |
US9311476B2 (en) | Methods, systems, and media for masquerade attack detection by monitoring computer user behavior | |
Jagpal et al. | Trends and lessons from three years fighting malicious extensions | |
CN103856471B (zh) | 跨站脚本攻击监控系统及方法 | |
CN108183900B (zh) | 一种挖矿脚本检测的方法、服务器、系统、终端设备及存储介质 | |
CN107800686B (zh) | 一种钓鱼网站识别方法和装置 | |
CN104202291A (zh) | 基于多因素综合评定方法的反钓鱼方法 | |
CN103780450B (zh) | 浏览器访问网址的检测方法和系统 | |
CN104135467B (zh) | 识别恶意网站的方法及装置 | |
CN106599688A (zh) | 一种基于应用类别的安卓恶意软件检测方法 | |
CN104901962B (zh) | 一种网页攻击数据的检测方法及装置 | |
CN108989294A (zh) | 一种准确识别网站访问的恶意用户的方法及系统 | |
US9959406B2 (en) | System and method for zero-day privilege escalation malware detection | |
Rajalingam et al. | Prevention of phishing attacks based on discriminative key point features of webpages | |
Mishra et al. | Intelligent phishing detection system using similarity matching algorithms | |
Faruki et al. | Droidolytics: robust feature signature for repackaged android apps on official and third party android markets | |
Kim et al. | A study on the digital forensic investigation method of clever malware in IoT devices | |
CN107135199B (zh) | 网页后门的检测方法和装置 | |
CN105653941A (zh) | 一种启发式检测钓鱼网站的方法及系统 | |
CN110460620B (zh) | 网站防御方法、装置、设备及存储介质 | |
KR20150133370A (ko) | 웹서비스 접속제어 시스템 및 방법 | |
CN109729084A (zh) | 一种基于区块链技术的网络安全事件检测方法 | |
Garcia-Cervigon et al. | Browser function calls modeling for banking malware detection | |
US11381596B1 (en) | Analyzing and mitigating website privacy issues by automatically classifying cookies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151125 |
|
WD01 | Invention patent application deemed withdrawn after publication |