论文部分内容阅读
随着Android设备流行程度的快速增长,Android应用为人们的生活和学习提供了丰富的功能。目前流行的Android应用程序的下载量已有过亿,因此一旦下载的应用程序出现安全问题,将会给用户带来不可估量的损失。在Android移动终端攻击中,GUI(Graphical User Interface)的攻击尤其严重,因为它们在靠近用户的终端收集和控制用户信息。一旦某个恶意应用程序在移动设备获得一个立足点,它很可能窃取证书并导致用户授予额外的权限,最终真正威胁设备。本文首先对Android移动终端的GUI攻击问题进行分析研究,设计并实现了一种移动终端的GUI攻击方案。该方案整体上是利用Android边信道信息进行攻击劫持的,主要分PC端和移动端两部分实现。在PC端实现用来收集和分析Android应用程序运行时所暴露的日志信息的应用程序,在移动端则实现进行GUI攻击的恶意应用。该方案首先利用ADB工具获取Android应用程序运行产生的日志信息,建立应用程序运行日志信息与用户界面的对应关系,为后续的GUI攻击提供准备条件。然后在受害者将移动设备通过USB接口连接到PC后实时获取终端运行的日志信息,并按照预设定的标签对日志信息进行过滤处理,接着利用Boyer-Moore算法对过滤后的日志信息进行匹配处理,若匹配到目标应用则进行GUI攻击。本文选取了五个常见的应用程序作为目标应用进行Activity劫持攻击。通过实验,发现如果攻击者及时获得Android应用程序运行时暴露的日志信息后,可以有效的进行GUI攻击,并且不容易引起用户的怀疑。然后,本文针对Android移动终端GUI的安全问题,提出了一个静态的GUI防护方案。该方案首先对Android应用程序的apk文件进行预处理,利用Android开源的反编译工具对该文件进行反编译处理。然后对应用程序包内的AndroidManifest.xml文件进行权限分析。如果该文件中不存在GUI攻击相关的危险权限则说明该应用程序不具有GUI攻击的威胁。否则会进一步对应用程序包的classes.dex文件反编译得到的Java文件进行行为分析。如果存在GUI攻击的行为,则会提示用户是否将该apk文件删除。接着通过对4类不同应用程序的集合进行静态权限与行为的分析验证了提出的静态防护方案的有效性,并且对检测出的某恶意样本进行了详细的行为分析。最后,本文还提出了一些其他针对GUI安全的防护建议。