论文部分内容阅读
随着信息技术的快速发展,移动端设备已经渗透到生活中的方方面面,如智能手机、平板、物联网终端等。移动终端中,Android操作系统拥有着庞大市场份额,是当前最流行的移动终端操作系统,其开源性和可移植性吸引着广大用户和开发人员,但与此同时,Android平台开放度高、缺乏统一管理、用户自由度高、具备联网等特性也带来许多安全问题,使其容易遭受病毒、木马等恶意软件的攻击,恶意软件对用户隐私、数字财产、设备和文件完整性构成严重威胁,其中,通过高耗流量造成资费损失、窃取敏感数据、干扰用户与设备正常交互等恶意行为,尤其严重和常见。如何检测恶意软件,制止恶意行为,以及如何加强终端敏感数据安全和防护能力,已成为网络信息安全领域的热点研究问题。本文的主要研究工作包括:(1)介绍了Android恶意软件检测的研究背景及意义,分析了目前智能手机操作系统的使用情况和Android恶意软件的发展趋势,综述Android平台恶意软件检测的国内外研究现状。(2)研究了Android恶意软件运行期间的行为特征,对目前流行的恶意软件,根据其实施的恶意行为进行分类,结合Android新版本特性如权限机制中的运行时权限,对每一类别下的恶意应用进行行为分析,研究入侵方式。(3)针对常用动态检测技术需要修改内核、重写系统调用、重写API调用函数等问题,研究了基于软件运行期间产生的系统调用、数据流量的行为分析,使用自动化测试框架模拟点击事件,收集产生的数据流量和系统调用详情,进行了检测准确率和误报率的实验及实验结果分析。(4)分析恶意软件对常用存储方式(如:数据库存储、文件存储)造成的安全问题和挑战,研究目前Android平台的存储安全,针对恶意软件攻击终端获取敏感信息的问题,研究Android端加密技术。本文的创新之处包括:(1)提出一种基于系统调用和数据流量的恶意行为分析方法,通过apktool分析安装包里的Androidmanifest.xml文件,得到声明权限和全部Activity信息,使用Monkey Runner工具编写测试Activity脚本,自动化测试软件功能,可以更全面地触发恶意行为;在测试过程中,使用strace工具收集该软件运行期间的系统调用信息,构造行为向量,输入到KNN检测模型进行分类;作为补充,对于伪装成正常软件的恶意软件,结合软件申请的权限进行了数据流量二次分析,实验结果表明,在无需修改系统内核、API调用的情况下,得到了95.5%的分类准确率。(2)提出一种结合多云存储和秘密共享的Android密钥管理技术,与传统的Android端加密技术不同,不在移动设备上存储密钥、用户指纹、图案密码等敏感信息,而是转化为在云端存储秘密份额。在多云场景下,对KB级至MB级的数据进行实验。与近年的相关研究结果对比,增加了攻击者逆向获得密钥的难度,能抵抗云客户端和云服务端的合谋攻击,且时间开销成本不高。