移动应用信息安全防护技术研究Android系统漏洞检测的研究与发现(2)

1.1 背景 自第一个智能手机病毒于2004年被发现后,智能手机病毒开始逐年增长[1]。并且在2010年手机病毒呈现爆炸性增长[2]。目前,针对Android操作系统的主


1.1  背景

自第一个智能手机病毒于2004年被发现后,智能手机病毒开始逐年增长[1]。并且在2010年手机病毒呈现爆炸性增长[2]。目前,针对Android操作系统的主要恶意行为有:恶意扣费,信息披露,远程控制,恶意提权,拒绝服务等,而其中最常见的是恶意扣费、隐私信息披露,这也是Android恶意软件主要的牟利方式之一[3]。据美国《消费者报告》显示,在美国,高达40%的手机用户没有采取任何安全措施。Android具有庞大的市场和用户群,但用户的安全意识薄弱,其安全问题令人堪忧。因此本文主要对Android系统漏洞进行了研究,建立漏洞库,并编写了测试程序来检测系统漏洞。

1.2  国内外研究现状

自Android 1.5以来,Android得到了全世界技术人员的关注。就目前的研究来看,内核层还存在大量的漏洞,恶意程序可以肆意获得root权限,从而危及系统安全。对此刘剑等人利用分析程序控制流[4]方法,开发了一套自动的漏洞分析工具来对Android系统代码自动化分析。2010年,Shabtai[5]等人提出了以SELinux为内核实现Android安全机制增强的思路来预防一些漏洞的危害,保护系统安全。针对开发者错误使用API而导致安全漏洞的问题,Fahl等人[6]在研究了13500个热门的免费应用后,发现其中的1074个可能存在SSL/TLS被错误使用,可能遭受攻击。针对权限控制问题,技术人员研发了Apex工具,让用户在安装的时候可以选择性授权,并允许用户给出详细的授权方案。

目前市面上已存在很多Android安全工具,这些工具采用了比较成熟的安全攻防技术,主要有:360安全卫士、百度手机安全卫士、金山手机卫士等。但这些工具对系统本身的漏洞检测功能并没有的到足够的重视。在国外,也有两款主要的漏洞检测工具:Nessus[和Belarc Security Advisor[7]。

1.3 总体技术方案及其社会影响

    本文研究了Android操作系统,并通过漏洞检测程序对漏洞库的漏洞进行检测,判断再当前操作系统中相应漏洞是否安全,并得到检测结果。

测试程序主要是对两类程序进行测试,一类是漏洞库中CEV列表内的五个漏洞,还有一类是特定的shellshock漏洞。在检测CEV列表内漏洞主要是利用漏洞库中已有信息,通过对比版本信息来判断系统是否存在漏洞隐患。对shellshock漏洞进行检测时,利用bash命令行就可检测出是否存在漏洞。此外本文还通过对比漏洞库内数据对CEV列表内漏洞信息的查询,用户就可得到相应漏洞的版本信息等。

虽然本文检测了几个系统漏洞,但由于Android操作系统的漏洞很多,这六个只是其中很小的一部分,就算检测出来影响也有限,所以这个检测程序具有一定的局限性,希望在将来能够研发出一款全面而细致的系统漏洞检测程序来解决这个隐患。

1.4 技术方案的经济因素分析

  本文虽然Android系统的问题及其严峻,但由其国产手机的崛起,越来越多的用户选择搭载Android系统的手机,但由于其特殊的开源性,Android系统的安全问题不容忽视。虽然本文实现的漏洞检测程序检测的漏洞只是已存在漏洞的一小部分,但由于检测操作都在程序内部实现,用户只需点击一下按钮就可得到检测结果极其方便。在加上检测程序是傻瓜式操作,用户只需下载一个APK就能进行检测,无须额外花费其他的费用就可及时检测出自己的手机是否安全来避免更多的隐私信息泄露或被恶意扣费等损失。

1.5  本文组织结构

本文总共分为5章,分别如下:

第1章:绪论。本章主要介绍Android操作系统漏洞的背景以及国内外的研究成果。然后介绍一下本文的组织结构。