论文部分内容阅读
随着互联网技术的迅速发展,开放平台逐渐成为一种新潮流,它通过提供API重组资源而吸引了众多第三方开发者开发丰富的应用,但是由于其平台的监管不严导致恶意应用程序的大量涌现。众多恶意应用中,基于Android开放平台的移动互联网应用占据了极高的比例,其原因是Android系统源码的开放性导致系统开发技术要求低,同时应用商店的开放平台监管力度不严,为恶意应用传播提供了平台。这些应用窃取用户隐私文件、自动联网、发送短信订阅业务扣费,严重威胁到了用户终端手机及开放平台的自身安全,因此,如何对应用程序进行安全审核是互联网及移动互联网开放平台亟需要解决的问题。针对Android开放平台台应用程序的安全需求,本文从应用程序安全性审核环节出发,研究了现有的Android应用测试方法及安全监控技术,提出将动态测试技术与终端监控技术相结合的方法,设计并实现了一个针对Android应用程序的自动化动态测试安全监控系统。该系统能自动安装、启动、运行测试apk应用程序,并对动态测试运行中的恶意行为进行实时监控记录,最后生成应用程序截图以及安全日志报告。本论文的主要工作内容有以下几点:1.研究了Android系统的体系结构,从应用层和内核层深入分析了Android系统的安全监控机制。研究并分析现有的应用程序动态测试工具的原理及不足之处,提出将自动化动态测试与系统安全监控结合的方案。2.结合现有动态测试技术,设计并实现了Android自动化动态测试系统。系统的基本原理是通过与手机建立socket连接,发送指令并解析返回的数据流,获取界面控件元素XY绝对坐标等信息,生成并执行Python脚本,从而实现对apk应用程序的自动安装、启动、运行测试、卸载,目的是通过动态运行应用程序以触发其运行中的恶意行为,从而让安全监控系统实时捕获记录,同时将运行中的各个界面进行截图保存成报告。3.利用内核层安全及应用层安全技术,设计并实现了Android动态安全监控系统。内核层的恶意行为监控利用系统调用拦劫机制实现,利用自定义监控函数来替换内核系统调用表中的原始函数,在该函数中解析处理捕获到的恶意行为,同时利用Netlink实现内核空问与用户空间的通信,从而实现了隐私文件窃取、自动联网、恶意短信发送行为的监控记录。应用层的安全监控利用系统消息广播机制来实现。4.针对多款Android恶意应用,对系统进行了测试与分析。测试结果表明该系统能检测出大部分应用程序的恶意行为以及质量问题,有利于提高开放平台审核应用程序的效率及质量。