Android应用程序组件通信鲁棒性测试研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:miaoyuan3660346
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Android系统的发展,Android应用程序在人们的日常生活中也占着越来越重要的地位。通常情况下,较为流行的Android应用程序已有过亿的下载量,因此一旦Android应用程序发生安全问题,可能会带来不可估量的损失。近几年内,国内外也发生多起因Android应用程序安全问题引发的重大事故。应用程序组件通信的安全问题是Android应用程序安全问题中较为重要的一部分。鉴于此,本文将针对Android应用程序组件间通信的安全问题展开研究。本文首先对Android应用程序组件的一般性安全问题进行分析研究,进而提出了针对Android应用程序组件间通信的鲁棒性测试方案。该方案整体上基于模糊测试的方法完成对组件通信的鲁棒性测试。方案主要分PC端和移动端两部分实现,且本文在移动端实现测试应用FuzzerAPP。该方案首先对待测应用程序的安装包文件进行静态分析,分别获取该应用程序中静态注册和动态注册的组件详细信息,随后使用这些组件详细信息与Android SDK提供的标准Action等数据,按照本文提供的测试用例生成策略生成具体的测试用例,在本方案中,我们使用Intent消息作为测试用例信息的载体。随后使用一定的发送策略将生成的Intent消息发送给待测应用程序组件,最后通过对测试时待测应用程序、Android系统以及测试系统的输出进行收集并分析,得出待测应用程序的测试结论。本文使用根据所提方案实现的测试工具,对大量传播广泛的Android应用程序进行实际测试,收集到大量测试数据。通过对测试数据的分析,我们发现,对Android应用程序发送特殊构造的Intent可以造成应用程序的崩溃,甚至引发系统服务的级联崩溃,直至Android系统的重启。此外,我们发现的另外一个严重问题是,包括天猫购物软件、天气通在内的10款应用程序存在测试模块暴露的问题,这一问题会导致包括隐私泄露、应用程序拒绝服务等严重安全问题。在文章的最后,通过与其他方案的对比,表明测试方案的有效性和测试工具的实用性。
其他文献
Petri网是一种形式化、图形化的系统建模、描述和分析工具。对于具有异步并发、分布、不确定性和随机性的系统,都可以利用这种工具构建模型,然后对其进行分析,即可得到系统静
在计算机软件的开发过程中,变更是不可避免并频繁发生的。频繁复杂的变更极易导致项目开发的混乱,影响项目开发的进度和交付成果的质量。软件配置管理贯穿计算机软件的整个生
IPTV(交互式网络电视)是互联网与传统电视相融合的结果,对于用户来说,它最大的意义在于开辟了一种全新的娱乐方式,而对于电信运营商来说,它既促进了宽带接入业务的发展,又在增加了
目前,机器学习型文本分类算法在面向主题搜索引擎领域的应用已十分广泛,但由于其存在“一次性学习”问题,严重制约了其在综合搜索引擎领域的应用。所谓“一次性学习”,就是指
配电环节是连接供电部门和用户的重要纽带,在整个电力系统中起着至关重要的作用。为了提高供电质量,最大限度地满足国民经济发展和社会用电需求,国家电力总公司已明确提出,要
随着时代和经济的发展,汽车已不再是高官贵族们所独有的。当今社会,汽车已成为一种普及的代步工具。在汽车的使用过程中,我们往往会碰到倒车时出现盲区导致汽车被刮蹭等问题
随着计算机软件深入到生活的方方面面,人们对计算机软件质量的要求不断提高。软件测试技术作为一种有效的软件质量保证手段,已成为软件开发过程中必不可少的环节。在软件开发过
随着网络时代的发展,网络信息爆炸性增长,相关机构是否能快速准确地判断网络信息的情感倾向性,是否能对网络舆情及时地采取应对措施,让网络能够朝着健康的方向发展。在军事领
钻孔压水试验是一种在钻孔内进行的岩石渗透性测定试验,是测定岩石渗透性最常用的一种试验方法,该试验被广泛应用于水利水电,铁路,矿山,水洞的地质勘察和地质灾害的防治等领域。目
随着数字化的快速发展,世界各地每天都产生着大量的信息,其中的信息有很大一部分包含着敏感信息,如医院的患病信息等。这些信息具有极大的科研价值,例如可以通过各个地方医院