CN106951777A - 安卓应用运行时用户界面的推断方法 - Google Patents

安卓应用运行时用户界面的推断方法 Download PDF

Info

Publication number
CN106951777A
CN106951777A CN201710128247.5A CN201710128247A CN106951777A CN 106951777 A CN106951777 A CN 106951777A CN 201710128247 A CN201710128247 A CN 201710128247A CN 106951777 A CN106951777 A CN 106951777A
Authority
CN
China
Prior art keywords
user interface
log information
android
character string
user
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
Application number
CN201710128247.5A
Other languages
English (en)
Other versions
CN106951777B (zh
Inventor
杨力
王利军
张冬冬
韦腾
田亚平
王小琴
周亚胜
司杨涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201710128247.5A priority Critical patent/CN106951777B/zh
Publication of CN106951777A publication Critical patent/CN106951777A/zh
Application granted granted Critical
Publication of CN106951777B publication Critical patent/CN106951777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种安卓应用运行时用户界面的推断方法,主要解决现有技术中处理过多日志信息、使用共享内存大小变化所消耗资源过多和较长数据分析时间缺点。其方法步骤为:(1)收集安卓应用运行时用户界面转换日志信息;(2)建立应用运行日志信息与用户界面的对应关系;(3)对日志信息进行过滤处理;(4)推断用户正在交互的安卓用户界面;(5)输出推断结果。本发明采用过滤器对日志信息进行过滤处理,不需要处理过多冗余日志信息,逐步提高安卓应用运行时用户界面的推断的正确率;并且采用安卓调试桥ADB推断用户正在交互的安卓用户界面,使本发明可以低消能,简单、快速的进行安卓用户界面推断。

Description

安卓应用运行时用户界面的推断方法
技术领域
本发明属于计算机技术领域,更进一步涉及移动终端技术领域中的安卓应用运行时用户界面GUI(Graphical User Interface)的推断方法。本发明可利用安卓调试桥ADB(Android Debug Bridge)推断出前台应用界面,然后提示用户当前正在交互的应用界面是否合法,用于对安卓应用的安全分析。
背景技术
推断安卓应用运行时用户界面的研究源于移动终端应用的边信道攻击研究工作,其特点是利用应用运行时所暴露的日志信息,分析日志信息的变化和用户界面转换时的关系,收集用户界面转换时日志信息并建立应用界面转换的签名,在应用运行时收集前台日志信息并与所建立的数据库进行对比推断安卓应用界面。目前,安卓应用界面的推断基本都需要向系统申请各种危险权限,而这种方式是很容易被安全程序所检测的,并且用户界面推断可以作为用户界面劫持攻击、用户隐私窃取方面的基础。
Chen Q A,Qian Z,Mao Z M在其发表的论文“Peeking into your app withoutactually seeing it:UI state inference and novel android attacks”(23rd USENIXSecurity Symposium会议论文,2014)中提出利用应用程序运行时共享内存大小变化的信息来对用户界面进行推断。该方法通过检测主界面(Activity)弹出和退出时共享内存大小的变化与特征库中的数据进行对比得到当前交互的用户界面。该方法存在的不足之处是,对共享内存大小变化的检测所需消耗的电量、中央处理器CPU等资源较多,分析效率低。
Lin C C,Li H,Zhou X在其发表的论文“Screenmilker:How to Milk YourAndroid Screen for Secrets”(NDSS会议论文,2014)中提出利用安卓调试桥来执行截屏程序,恶意软件可以利用此偷偷地获取用户的隐私信息。为了很好地理解此威胁,作者设计了Screenmilker,该应用能够监视屏幕,选择用户输入口令的时间来获取用户信息。该方法存在的不足之处是,分析用户进行键盘输入的时候,进行数据提取所需时间比较久,容易造成误差。
阿里巴巴集团控股有限公司在其申请的专利文献“一种Android系统Activity劫持风险检测方法及装置”(专利申请号201310195684.0,公开号CN 104182686A)中公开了一种安卓系统Activity劫持风险检测方法及装置。该方法包括在目标Activity进入激活状态之前,获取当前处于激活状态的Activity的特征信息;根据所获取的特征信息,判断所述当前处于激活状态的Activity是否符合预设的安全特征;如果否,则确定系统存在Activity劫持风险。上述方案可以在不改变安卓系统运行机制的前提下,直接通过扩展系统函数的方式实现,不仅实现简单,而且通用性强。但是,该方法仍然存在的不足之处是,对获取Activity的特征信息处理不够全面,误检测的概率比较高。
发明内容
本发明的目的是针对上述现有技术的不足,提出一种利用安卓调试桥ADB推断安卓前台用户界面的方法,可以通过获取应用程序运行时生成的日志来有效检测当前用户正在交互的应用界面,这样既不需要消耗大量的资源,又能够快速准确的推断出应用界面的内容。
实现本发明目的的具体思路是:首先分析日志信息的变化和用户界面转换时的关系,收集不同应用界面转换时产生的日志信息并建立应用界面转换的签名。在电脑(PC)端开启搜集安卓应用运行日志的监测程序,用来实时读取和分析日志内容。由于日志信息的冗余需要对其进行过滤操作,提高分析效率。在对应用程序产生的日志与建立的应用界面转换签名进行字符串的匹配分析过程中,如果匹配成功,则可以推断出该应用程序运行时的用户界面,否则重复以上过程。
(1)为了实现上述目的,本发明方法包括如下步骤:收集安卓应用运行时用户界面转换日志信息:
(1a)在电脑PC端安装安卓调试桥ADB工具;
(1b)用户的移动终端经通用串行总线USB接口与电脑PC端相连;
(1c)利用安卓调试桥ADB工具,获取用户的移动终端应用运行时的日志信息;
(2)建立应用运行日志信息与用户界面的对应关系:
(2a)提取记载用户的移动终端日志信息的字符串;
(2b)将所提取的字符串中关键词与关联的用户界面建立对应关系;
(2c)将所建立的对应关系保存到电脑PC端的数据库中;
(3)对冗余日志信息进行过滤处理:
(3a)在电脑PC端开启监控程序,添加一个名为“LogcatFilter”的过滤器,并设置过滤条件为“标签=ActivityManager”;
(3b)将过滤后的日志信息保存到电脑PC端的数据库中;
(4)推断用户正在交互的安卓用户界面:
(4a)利用博伊尔-摩尔Boyer-Moore算法,对步骤(2a)中所提取的字符串与步骤(3b)中保存的日志信息进行字符串匹配;
(4b)判断过滤后的日志信息是否包含所提取的字符串,若是,则推断出用户正在交互的安卓用户界面,执行步骤(5),否则,执行步骤(4a);
(5)输出推断结果。
本发明与现有技术相比有以下优点:
第一,本发明通过对日志信息进行过滤处理,克服了现有技术中处理过多日志信息的缺点,使本发明可以在用户界面过程中过滤到冗余信息,逐步提高应用运行时用户界面推断的正确率。
第二,本发明采用安卓调试桥ADB推断用户正在交互的安卓用户界面,克服了现有技术中使用共享内存大小变化所消耗资源过多和较长数据分析时间缺点,使本发明可以低能耗,简单、快速的进行安卓用户界面推断。
附图说明
图1为本发明的流程图。
具体实施措施
下面结合附图1对发明的具体步骤描述如下。
步骤1,收集安卓应用运行时用户界面转换日志信息。
在电脑PC端安装安卓调试桥ADB工具。
用户的移动终端经通用串行总线USB接口与电脑PC端相连。
利用安卓调试桥ADB工具,获取用户的移动终端应用运行时的日志信息。安卓4.1之前版本通过申请读取日志READ_LOGS权限就可以读取其他应用的日志了。但是谷歌发现这样存在安全风险,于是Android 4.1以及之后版本,即使申请了读取日志READ_LOGS权限也无法读取其他应用的日志信息了,但是在通过安卓调试桥ADB可以查看所有日志。
所述日志信息包括,由字符串组成的时间戳、日志等级、标签、线程以及详细内容,例如日志:07-06 09:57:54.530I/StatusInformer<29916>:updateTaskStatus:DOWNLOADING。
步骤2,建立应用运行日志信息与用户界面的对应关系。
提取记载用户的移动终端日志信息的字符串。
将所提取的字符串中关键词与关联的用户界面建立对应关系。
将所建立的对应关系保存到电脑PC端的数据库中。
以应用程序新浪微博为例,说明本发明所建立的提取字符串中关键词与用户界面的对应关系:I/ActivityManager(602):Displayed com.sina.weibo/.account.SwitchUser:+2s201ms,在提取其字符串中后,可以将关键词sina.weibo/account.SwitchUser与用户界面进行新浪微博切换用户建立对应关系。如果后面匹配到sina.weibo/account.SwitchUser,则可以推断出用户界面正在进行新浪微博切换用户。
步骤3,对冗余日志信息进行过滤处理。
在电脑PC端开启监控程序,添加一个名为“LogcatFilter”的过滤器,并设置过滤条件为“标签=ActivityManager”。
将过滤后的日志信息保存到电脑PC端的数据库中。
步骤4,推断用户正在交互的安卓用户界面。
首先,利用博伊尔-摩尔Boyer-Moore算法,对步骤2中所提取的字符串与步骤3中保存的日志信息进行字符串匹配。
所述的博伊尔-摩尔Boyer-Moore算法的具体步骤如下:
第1步,从右向左扫描过滤后的日志信息,若所提取的字符串P中未出现过滤后的日志信息的字符x,则将所提取的字符串P向右移动m长度的距离,m为所提取字符串P的长度;
第2步,若过滤后的日志信息的字符x出现在所提取字符串P的t位置,则将过滤后的日志信息的字符x与t位置处的字符对齐;
第3步,若t位置处所提取的字符串P的后缀Q,在过滤后的日志信息中的s位置曾出现过,且s位置的前一个字符与t位置的前一个字符不相同,则将所提取的字符串P右移,使s位置对应t位置所在的字符;
第4步,若所提取的字符串P的后缀Q没在日志信息中的s位置出现过,则在提取的字符串P中找到与Q的后缀R最近的相同部分x,将所提取的字符串右移P,使x对应后缀R所在的位置。
其次,判断过滤后的日志信息是否包含所提取的字符串,若是,则推断出用户正在交互的安卓用户界面,执行步骤5,否则,执行步骤4。
步骤5,输出推断结果。
步骤6,利用用户界面推断结果进行劫持攻击演示。
实现用户界面劫持攻击方法:首先在移动端运行一个StartServiceActivity方法,这个活动Activity是开机自启动的,里面有一个广播接收器,用来接收电脑PC端发动广播的广播接收器。而在PC端的程序则不断的搜集日志和过滤分析,当匹配到目标应用登陆Activity之后,则发送一个广播给移动终端,终端上的恶意app接收到广播之后会立即进行Activity劫持。这时会启动HijackService方法来进行劫持,此时FakeMainActivity方法会启动。其主要目的是启动一个与目标app登录界面一样的登录界面,欺骗用户输入登录账号与密码。在成功获得用户的信息之后,此Activity会弹出一个错误信息,提示用户重新输入账号密码。当用户点击确认之后FakeMainActivity方法会弹出栈,让真正的登录Activity与用户进行交互。而恶意应用获得的账号与密码则会通过网络发送给攻击者。
通过分析可以看出在日志信息被其他应用获取之后,若恶意应用能在用户与目标用户界面交互前进行劫持的话,对用户将带来严重威胁。
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、节后的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (3)

1.一种安卓应用运行时用户界面的推断方法,包括以下步骤:
(1)获得安卓应用运行时用户界面转换日志信息:
(1a)在电脑PC端安装安卓调试桥ADB工具;
(1b)用户的移动终端经通用串行总线USB接口与电脑PC端相连;
(1c)利用安卓调试桥ADB工具,收集用户的移动终端应用运行时的日志信息;
(2)建立应用运行日志信息与用户界面的对应关系:
(2a)提取记载用户的移动终端日志信息的字符串;
(2b)将所提取的字符串中关键词与关联的用户界面建立对应关系;
(2c)将所建立的对应关系保存到电脑PC端的数据库中;
(3)对冗余日志信息进行过滤处理:
(3a)在电脑PC端开启监控程序,添加一个名为“LogcatFilter”的过滤器,并设置过滤条件为“标签=ActivityManager”;
(3b)将过滤后的日志信息保存到电脑PC端的数据库中;
(4)推断用户与安卓用户界面正在交互:
(4a)利用博伊尔-摩尔Boyer-Moore算法,对步骤(2a)中所提取的字符串与步骤(3b)中保存的日志信息进行字符串匹配;
(4b)判断过滤后的日志信息是否包含所提取的字符串,若是,则推断用户与安卓用户界面正在交互,执行步骤(5),否则,执行步骤(4a);
(5)输出推断结果。
2.根据权利要求1所述的安卓应用运行时用户界面的推断方法,其特征在于,步骤(1c)中所述的日志信息包括,由字符串组成的时间戳、日志等级、标签、线程以及详细内容。
3.根据权利要求1所述的安卓应用运行时用户界面的推断方法,其特征在于,步骤(4a)中所述博伊尔-摩尔Boyer-Moore算法的具体步骤如下:
第一步,从右向左扫描过滤后的日志信息,若所提取的字符串P中未出现过滤后的日志信息的字符x,则将所提取的字符串P向右移动m长度的距离,m为所提取字符串P的长度;
第二步,若过滤后的日志信息的字符x出现在所提取字符串P的t位置,则将过滤后的日志信息的字符x与t位置处的字符对齐;
第三步,若t位置处所提取的字符串P的后缀Q,在过滤后的日志信息中的s位置曾出现过,且s位置的前一个字符与t位置的前一个字符不相同,则将所提取的字符串P右移,使s位置对应t位置所在的字符;
第四步,若所提取的字符串P的后缀Q没在日志信息中的s位置出现过,则在提取的字符串P中找到与Q的后缀R最近的相同部分x,将所提取的字符串右移P,使x对应后缀R所在的位置。
CN201710128247.5A 2017-03-06 2017-03-06 安卓应用运行时用户界面的推断方法 Active CN106951777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710128247.5A CN106951777B (zh) 2017-03-06 2017-03-06 安卓应用运行时用户界面的推断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710128247.5A CN106951777B (zh) 2017-03-06 2017-03-06 安卓应用运行时用户界面的推断方法

Publications (2)

Publication Number Publication Date
CN106951777A true CN106951777A (zh) 2017-07-14
CN106951777B CN106951777B (zh) 2019-07-23

Family

ID=59466661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710128247.5A Active CN106951777B (zh) 2017-03-06 2017-03-06 安卓应用运行时用户界面的推断方法

Country Status (1)

Country Link
CN (1) CN106951777B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110896540A (zh) * 2019-11-21 2020-03-20 国网辽宁省电力有限公司电力科学研究院 移动互联网客户端安全评估工具、方法、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479084A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 一种Android终端获取日志的方法及装置
CN103049371A (zh) * 2012-11-07 2013-04-17 青岛海信传媒网络技术有限公司 Android应用程序测试方法和测试装置
CN104978270A (zh) * 2015-07-03 2015-10-14 上海触乐信息科技有限公司 一种自动化地软件测试方法和装置
CN106055469A (zh) * 2016-05-19 2016-10-26 中国科学院软件研究所 一种基于代码注入的移动端应用测试系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479084A (zh) * 2010-11-26 2012-05-30 腾讯科技(深圳)有限公司 一种Android终端获取日志的方法及装置
CN103049371A (zh) * 2012-11-07 2013-04-17 青岛海信传媒网络技术有限公司 Android应用程序测试方法和测试装置
CN104978270A (zh) * 2015-07-03 2015-10-14 上海触乐信息科技有限公司 一种自动化地软件测试方法和装置
CN106055469A (zh) * 2016-05-19 2016-10-26 中国科学院软件研究所 一种基于代码注入的移动端应用测试系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANTONIO BIANCHI ET AL.: "What the App is That?", 《2015 IEEE SYMPOSIUM ON SECURITY AND PRIVACY》 *
CHIA-CHI LIN, ET AT.: "Screenmilker: How to Milk Your Android Screen for Secrets", 《NDSS》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110896540A (zh) * 2019-11-21 2020-03-20 国网辽宁省电力有限公司电力科学研究院 移动互联网客户端安全评估工具、方法、计算机设备及存储介质

Also Published As

Publication number Publication date
CN106951777B (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
Zhang et al. Peeping Tom in the Neighborhood: Keystroke Eavesdropping on Multi-User Systems.
CN106909847B (zh) 一种恶意代码检测的方法、装置及系统
Lin et al. Screenmilker: How to Milk Your Android Screen for Secrets.
EP3295359A1 (en) Detection of sql injection attacks
CN109039987A (zh) 一种用户账户登录方法、装置、电子设备和存储介质
CN110933103B (zh) 反爬虫方法、装置、设备和介质
CN104182688A (zh) 基于动态激活及行为监测的Android恶意代码检测装置和方法
CN103746992B (zh) 基于逆向的入侵检测系统及其方法
CN109845228A (zh) 用于实时检测网络黑客攻击的网络流量记录系统及方法
CN104392177A (zh) 基于安卓平台的病毒取证系统及其方法
Liu et al. On manually reverse engineering communication protocols of linux-based iot systems
US20100058479A1 (en) Method and system for combating malware with keystroke logging functionality
WO2017071148A1 (zh) 基于云计算平台的智能防御系统
EP3885946B1 (en) Method of monitoring and protecting access to an online service
CN107666464B (zh) 一种信息处理方法及服务器
CN111464526A (zh) 一种网络入侵检测方法、装置、设备及可读存储介质
Murtaza et al. Total ads: Automated software anomaly detection system
CN106951777B (zh) 安卓应用运行时用户界面的推断方法
Jaafar et al. An analysis of android malware behavior
EP3885945A1 (en) Method of monitoring and protecting access to an online service
CN109271781B (zh) 一种基于内核的应用程序获取超级权限行为检测方法与系统
CN114218561A (zh) 一种弱口令检测方法、终端设备及存储介质
KR101410289B1 (ko) 악성코드의 원격지 접속 서버 추적 시스템 및 방법
Deepserish et al. PET-Droid: Android Malware Detection Using Static Analysis
CN112118089B (zh) 一种webshell监控方法及系统

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