摘要
近些年来,智能手机日益普及,安卓操作系统已经逐渐成为移动设备中市场份额最大的应用操作平台,给人们的日常生活带来了极大的便利。在这基础上,各类移动终端面临着前所未有的安全威胁。为了保障普通用户的信息安全,安卓平台上已存在各类的安全软件,提供如安全邮件,安全短信,安全电话等服务。
但是市面上并未对软件的防篡改安全做特别的研究,本选题正是对于安卓终端的整机软件安全做出了提升。
本文中首先介绍了安卓应用市场的基本概念,国内外的研究现状与发展动态现有商店使用的技术与方法。其次介绍了安卓操作系统的概念、体系结构和 dalvik虚拟机,对安卓操作系统的安全机制进行了研究。之后揭示了安卓系统的安全隐患,一些针对安卓系统的攻击方法以及本文中涉及到的安全隐患,介绍了数字签名算法的概念以及应用。
其次在正文中给出了安卓应用商店的网络服务器的设计,实现其访问控制,软件管理、存储和查询,管理设计,日志审计,数据库设计等功能。给出安卓应用商店应用商店套件端的设计,实现界面设计,下载模块设计和系统功能模块设计等功能。
最后根据对应测试环境给出较为完善的测试手段和方法,完成对安卓应用商店的功能性和安全性的测试。
关键词:应用商店,安卓,数字签名,防篡改
ABSTRACT
In recent years, the smart mobile phone is becoming more and more popular, android operating system has gradually become the largest market share in the mobile device application platform, which brings great convenience to people's daily life. On this basis, android operating system is facing all kinds of mobile terminal security threats. In order to guarantee the information security of ordinary users, all kinds of security software already exists on the android platform, provide safety messages , email, and calling. But the software in the market have no specialty in preventing tampering for now, The purpose of this thesis is to enhance the security of the android operating system overall.
This paper firstly introduces the basic concept of the android application market, the technology and method of current situation and development trend of research at home and abroad to use the existing stores. Secondly, introduces the concept of the android operating system architecture and the Dalvik virtual machine, security mechanism on the android operating system is studied. After revealing the security risks android system, relates to the security risks of several attack methods for android, this paper introduces the concept of digital signature algorithm and application.
Secondly, the design of the Android application store network server is given in the text, the realization of access control, software management, storage and query, design management, log audit, database design and other functions.Android application store to give the design of the application store suite, to achieve the interface design, download module design and system function module design and other functions.
Finally, according to the corresponding test environment is given a more perfect testing methods and methods to complete the functional and security testing of Android application store.
Keywords: The app store, android, digital signature, tamper proof
伴随终端智能化的潮流,以手机为代表的智能移动终端已广泛应用于各行各业,给人们的日常生活带来了极大的便利。在这基础上,各类移动终端面临着前所未有的安全威胁。为了保障普通用户的信息安全,安卓平台上已存在各类的安全软件,提供如安全邮件,安全短信,安全电话等服务。
现有的安全软件注重对传输的信息进行安全防护,而对移动终端的应用安全却未做出统一的管理:移动终端上使用的应用软件来源复杂、涉及广泛,可能夹带恶意代码、木马或病毒,给移动终端的使用安全带来隐患,甚至在某些品牌手机的“刷机包”内,就已经被移植有附带恶意代码的软件。因此,解决移动终端的应用软件的安全问题是当务之急。为加强移动终端应用软件的管理,提高移动终端的安全防护能力,现在需要对安卓应用商店的安全性进行提升,研制安全的安卓应用商店(以下简称安全商店),实现对终端安装的应用软件的统一安全检测、标识、下载和管理。移动终端安装的应用软件全部通过安全商店下载、安装,可防止包含恶意代码、木马、病毒的非法应用软件的入侵。
近年来,随着互联网的呈指数级的迅速扩张发展和和安卓手机的日新月异,丰富的安卓应用越来越多,而作为手机应用的前端和上游,应用程序商店类应用也陆续出现,这类功能性的应用商店已经成了普通手机的装机标配,其所提供的服务能帮助用户自由高效地获取并管理手机应用。[1]。在国内,google 自带的安卓电子市场所带的愿景市场是全球化的,默认语言为英文的应用特别多,再加上服务器建设的问题,导致了官方服务器的链接速度特别慢,造成了国内本地的用户使用起来及其不习惯,易用性较差。这样,在以开放源码为特色的安卓系统下,很多第三方开发的应用市场开始崭露头角,在用户的体验上和服务器的链接速度上具有较大的优势。2010 年开始至今,市面上出现多种第三方应用商店,现稳定占有绝大多数国内市场的大概有 20 多款。其中不乏如 360,腾讯,网易等互联网巨头或是 appchina,安智市场,机锋市场等从社区起始的市场。用户可以通过多种渠道购买和下载 APP,选择空间变得很大。
而发展总归来说是一把双刃剑,很多的问题和困难也出现在了国内的第三方的应用商店上。其中较为明显的一点就是应用商店很难持续性地赚到钱,现在的第三方的应用市场主要的目标还是尽可能的扩张,占有更多的市场份额,这样浮躁的发展方式造成了应用市场的持续发展的能力较差,现在越来越多的国内第三方应用商店已经举步维艰,靠微薄的广告费用生存着,这样也不利于自身软件的健康发展。目前应用的开发商只要付费给钱,就可以在很多应用商店上占据显眼和重要的位置,而不管应用的质量和水准如何,而这类费用已经是第三方安卓应用商店的非常重要的收入来源了。还有一个问题就是应用商店的同质化的问题,第三方的安卓应用商店并没有太大的差别,这样导致了用户打开各个应用商店粗浅的用户体验几乎相同。不仅如此,应用商店开发公司追求其商店应用程序的数量个数,并未对应用程序的质量有全方位的掌控,缺乏细化经营的意识,在国内盗版如潮的大环境下,更是加剧了同质化的程度,应用程序商店的移动应用程序市场已经推出了一种新的方法来定义和销售软件应用程序。
而在安全应用这一领域,国内手机上面对恶意代码软件、木马病毒的横行,也是造成了很多用户不选择安卓系统而选择微软或苹果操作系统的原因。出现这种问题,究其原因是因为安卓系统源码开放的特性,一些人或团体人为地制造了具有恶意代码、木马病毒的应用软件,后台暗中吸取流量,恶意扣费,记录用户信息等,这些也是第三方软件商店需要承担起的安全审核的责任。作为国内最安全的应用下载市场,360 手机卫士对自己平台上的每一款应用经过了 360 手机卫士的安全检测,供用户下载使用。而其他应用市场,由于国内应用审核快,审核团队资源、水平参差不齐,山寨应用横行,严重损害用户的终端安全。而在应用防篡改、防植入代码这一方面,国内应用市场还是主要依靠安卓自带的数字签名技术,并无应用商店对其发布的应用做任何专有的标示和管理。
在国外,苹果公司作为行业近 10 年来光芒万丈的行业领导者,也作为创始者建立了应用商店这一概念,由于苹果操作系统的封闭,用户也被动的适应了起初可能并不易用的 App Store,而目前来看苹果的应用市场已经非常通用和强力。通过苹果应用商店的模式,苹果并不负责用户的应用选择,也不负责应用开发商对用户的推广,这样做让用户和应用开发者自发的进行了结合,推翻了以前手机制造商制作应用,用户只能使用手机制造商的应用这种单一的局面。在应用商店上线的应用软件,用户通过网络连接 App Store 的界面,自行选择消费应用软件,将其安装在手机中。苹果公司近 10 年在史蒂夫乔布斯的带领下,建立了完成的产业盈利模式,比如 App Store 将合作方的资源进行了规划和整合,以一站式的服务方式将手机应用、音乐、运营商、增值业务平台等各类业务整合到了包括 iphone、ipod、ipad 等数字产品中。02、Orange 这类国外的运营商都已经开始自行推出应用商店。
而国内的运营商虽然暂时落后,不过也在积极地布局这类模式,因为毕竟运营上的资源是得天独厚的,想要推广应用商店或应用也是有着其他第三方安卓应用商店所不具备的优势的。[3]。
因为安卓系统的开放,这样搭建一个应用市场还是很简单的,但由于 GMS(Google 开发并推动安卓系统的动力,也是安卓系统的灵魂所在)在美国的统治地位,Google 各种服务的整合以及开发者没有那么多精力维护那么多应用市场的更新,所以其他的应用市场对于多数消费者没有存在的必要。而在国外官方市场强势,手机预装官方市场,三星或者其他的厂商应用市场存在感很低,国外公司不敢公然做盗版这些条件,以至于相对于国内,国外的应用市场整合的更加集中,在管理方面也更为规范。但是在对于软件安全方面,投机的个人或团队将恶意代码、木马病毒移植到了一些热门应用,随后上传到一些第三方的应用市场,消费者通常都无法分辨原版应用和已被修改过的应用,在点击下载使用后,造成了消费者的安全威胁,这种俗称“打包党”,这种行为也侧面反应了应用市场应用审核能力的不足。目前 97%的移动恶意软件将安卓系统作为攻击目标,相比之下针对应用程序安全的发展显得特别缓慢。
本论文主要设计并实现了一个基于安卓平台的应用商店,服务器端为 web 服务器,通过 http 连接为终端上的应用商店提供下载服务,安装 Oracle、SqlSever或 MySQL 等数据库。终端为应用 apk,通过在 eclipse、SDK 等安卓软件开发环境上使用 JAVA 语言开发。本课题中在此基础上通过私有的数字签名技术,对服务器端应用商店中的软件进行二次数字签名,加强了软件来源的唯一性,防止应用在网络过程中被篡改。终端上通过对系统服务的定制,对下载软件的签名验证,保障应用的可靠性和软件来源的唯一性。
在开发的前期,研究了国内外安卓商店类应用的历史和发展现状,研究了安卓系统体系架构、安全机制、安全威胁等概念。研究了数字签名技术并比较了安卓自带的数字签名技术的优缺点。研究了安卓系统级开发的相关知识,最终完成了本论文中的应用商店。
安卓应用商店设计开发:
软件下载
非应用商店软件安装图
被篡改签名的软件安装图
合法安装示意图
目 录
第一章 绪论
1.1 国内外研究与发展现状
1.2 本文主要工作
1.3 本论文的结构安排
第二章 安卓操作系统和安全
2.1 安卓操作系统概述
2.1.1 安卓操作系统体系结构
2.1.2 安卓 Dalvik 虚拟机
2.2 安卓的安全机制
2.2.1 应用和框架层安全
2.2.2 本地库安全
2.2.3 内核安全
2.3 安卓安全威胁和解决方法
2.3.1 root 权限威胁
2.3.2 隐私数据威胁
2.3.3 恶意代码和病毒威胁
2.3.4 终端刷机威胁
2.3.5 应用商店面临的安全威胁
2.4 本章小结
第三章 安全的安卓应用商店技术研究
3.1 数字签名技术研究
3.1.1 数字签名的定义
3.1.2 数字签名过程
3.1.3 安卓应用中的数字签名
3.2 安卓应用程序开发的研究
3.3 安卓系统层开发的研究
3.4 安卓 UI 开发的研究
3.5 网络服务器开发的研究
3.6 本章小结
第四章 安全的安卓应用商店的设计实现
4.1 网络服务器的设计实现
4.1.1 需求分析
4.1.2 硬件设计
4.1.3 软件设计实现
4.2 应用商店套件的设计实现
4.2.1 需求分析
4.2.2 硬件设计
4.2.3 软件设计
4.3 本章小结
第五章 安全的安卓应用商店的测试
5.1 服务器测试
5.1.1 测试环境
5.1.2 测试方法和结论
5.2 应用商店套件测试
5.2.1 测试环境
5.2.2 测试方法和结论
5.3 本章小结
第六章 结 论
6.1 本文的主要贡献
6.2 下一步工作的展望
致 谢
参考文献
(如您需要查看本篇毕业设计全文,请您联系客服索取)