论文部分内容阅读
随着Android系统的飞速发展,Android移动设备的数量激增至历史新高。由于移动设备上电子商务、个人支付和社交软件等应用程序数量不断增加,用户存储在Android手机中的敏感信息越来越多。Android恶意软件在未经许可的情况下获取Android手机中的敏感信息,严重威胁了用户的安全和隐私。为了保护用户的隐私信息免受Android恶意软件的窃取,对Android系统中恶意软件的检测成为了近年来一项重要的课题。本文分析了Android平台体系结构、Android安全机制、Android自动化测试和模拟器环境检测,设计了一种基于行为的Android恶意软件检测方法。本文的主要成果如下:(1)设计了一种基于非用户操作序列的Android恶意软件静态检测方法。该方法通过对应用程序进行逆向工程分析,提取出应用程序的应用程序编程接口调用信息,采用广度优先遍历算法构建应用程序的函数调用流程图,从函数流程图中提取出其中的非用户操作序列,并采用编辑距离算法计算待检测样本与恶意行为库中的非用户操作序列的相似度进行恶意软件识别。实验验证该恶意软件静态检测方法与Androguard和Flowdroid相比有效地提升了恶意软件的检测效果。(2)设计了一种Android自动化测试方法。该方法通过使用UIAutomator和Monkey两种自动化测试技术对应用程序进行自动化测试。使用UIAutomator自动化测试技术对应用程序进行规范化测试,使用Monkey自动化测试技术对应用程序进行随机化测试。该自动化测试方法减少了测试时间和人工成本,并提高代码覆盖率。(3)提出了一种基于行为的Android恶意软件混合检测方法。通过静态检测提取出应用程序的非用户操作序列用于指导规范化测试方法,结合随机化测试方法,对应用程序进行自动化测试,提取出应用程序的网络行为信息,将应用程序的网络行为信息与正常行为库和恶意行为库中的网络行为信息进行比较,判断该应用程序是否为恶意软件。实验验证该恶意软件混合检测方法能够有效地识别出恶意软件。