信息安全毕业设计论文_第1页
信息安全毕业设计论文_第2页
信息安全毕业设计论文_第3页
信息安全毕业设计论文_第4页
信息安全毕业设计论文_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目 Android手机安全防护系统的设计与实现姓 名 孙浩天学 院 软件学院专 业 信息安全指导教师 王学毅 高永清备 注2016 年 6 月10日Android手机安全防护系统的设计与实现作者姓名: 孙浩天校内指导教师: 王学毅讲师企业指导教师: 高永清高级工程师单位名称: 软件学院专业名称: 信息安全东 北 大 学2016年6月Design and Implementation of Android Phones Security Systemby Sun HaotianSupervisor:Lecturer Wang XueyiAssociate Supervisor:Senior Engineer Gao YongqingNortheastern UniversityJune 2016毕业设计(论文)任务书毕业设计(论文)题目:Android手机安全防护系统的设计与实现设计(论文)的基本内容:调查手机安全防护相关行业,查阅有关手机安全防护的参考资料,了解手机安全防护业务的相关技术及其发展现况,分析手机安全防护业务综合系统功能需求,学习短信指令、AGPS定位、反病毒等基本原理,研究手机安全防护业务综合系统的设计及实现技术。使用Android Develop Tools完成手机安全防护业务综合系统的总体设计和详细设计,实现手机SIM卡绑定、远程锁定及删除隐私文件、AGPS定位、程序锁、垃圾文件清理、恶意通信拦截、病毒查杀等功能,并对所实现的部分进行测试和评价。翻译一篇与毕设内容相关的外文资料,译文汉字字数不少于4000字。毕业设计(论文)专题部分:题目:设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第1周指导教师签字: 2016年3月11日Android手机安全防护系统的设计与实现摘 要随着智能手机的不断发展,Android已经成为了全球市场占有量最大的移动平台操作系统。在Android手机凭借其开放性而获得众多的用户和厂商的同时,Android手机的手机病毒、骚扰电话、垃圾短信、隐私泄露等诸多安全性问题也随之产生并逐渐得到人们的广泛关注。本文根据软件工程的思想,采用MVC框架设计了包括手机防盗、通信过滤、软件管理、进程管理、流量监控、手机杀毒、缓存清理、高级工具、设置中心九个模块。手机防盗模块能够通过向失窃手机发送远程指令控制手机执行锁定、格式化、定位及报警功能,在防止隐私泄露的同时为及时找回失窃手机提供宝贵的线索。通信过滤模块能够对骚扰电话和垃圾短信进行过滤与拦截,保护通信安全。软件管理模块能够显示系统软件和应用软件的详细信息,并根据需要对应用软件进行启动、卸载、分享操作。进程管理模块能够显示系统正在运行的进程信息和内存信息,并根据需要进行任意项进程的清理,提高手机运行速度。流量统计模块能够监控应用程序的流量统计,防止恶意软件产生吸费流量。手机杀毒模块能够扫描并清除手机病毒,保护手机中数据的安全。缓存清理模块能够扫描并清除手机中的缓存文件,提高手机的运行速度。高级工具模块包含号码归属地查询、常用号码查询功能,为手机的日常使用带来便捷。还包含短信的备份与还原和程序锁功能,保护手机的重要数据及程序的安全。设置中心模块能够对手机安全防护系统的功能进行设置,方便不同情况下的需要。通过模拟器和真机测试,本文开发的系统可以在Android 4.4的手机上正常运行,所有功能均达到了需求分析中的要求,具有一定的研究价值和应用空间,对其它类似系统的开发工作起到一定的参考借鉴意义。关键词:Android,MVC,手机安全,远程指令Design and Implementation of Android Phones Security SystemAbstractWith the continuous development of smart phones, Android has become the worlds largest market share of mobile operating system platform. Android phone with its openness and access to many users and manufacturers at the same time, Android phones, mobile phone viruses, harassing phone calls, spam messages, loss of privacy and many other security issues also will be produced and gradually get peoples attention.This article based on the idea of software engineering, including the design using MVC framework mobile security, communication filtering, software management, process management, traffic monitoring, mobile anti-virus, cache cleaner, advanced tools, setting center nine modules. Mobile security module is able to send remote commands to control the phone by locking execution, formatting, positioning and alarm functions, preventing the loss of privacy for both the stolen phone back in time to provide valuable clues to the theft of mobile phones. Communication filtering module capable of filtering spam messages and harassing phone calls filtering and blocking to secure communications. Software Management module is able to display detailed information of system software and application software, as needed to starting or unloading or sharing operation. Process Management module is able to display a running system processes information and memory information, as needed to clean up any of the process to improve the speed of the phone. Traffic monitoring module is able to monitor traffic statistics application, to prevent malware absorb costs generated traffic. Mobile anti-virus module is able to scan and clean up mobile phone viruses to protect the safety of mobile phone data. Cache cleaner module is able to scan and remove the phone cache files to increase the phones operating speed. Advanced Tools module contains numbers attribution query function, frequently used numbers query function for daily use of mobile phones to bring convenience. SMS backup and restore function and lock function is able to protect the safety of mobile phones important data and procedures. Setting center block for feature phones Security system set up to facilitate the needs of different situations.By simulator and real test, the system developed in this paper can be running on Android 4.4 phones, all functions have reached the demand analysis of the requirements, it has a certain value and application of space research and development work for other similar systems from the reference to a certain reference.Keywords: Android, MVC, mobile phone security, remote command东北大学毕业设计(论文) 目录 目 录摘 要IAbstractII第1章绪 论11.1 研究背景11.2 研究意义11.3 研究现状21.4 研究内容21.5 组织结构3第2章相关技术52.1 Android系统52.1.1 Android简介52.1.2 Android程序框架72.2 Android权限机制102.3 Android AIDL IPC机制112.4 Android数字签名112.5 SQLite数据库122.6 MVC设计模式132.7 本章小结14第3章系统分析153.1 可行性分析153.1.1经济可行性153.1.2技术可行性153.1.3操作可行性153.2 用户需求分析153.2.1简单易学163.2.2运行稳定163.2.3操作简单163.3 功能需求分析163.4 系统运行环境与开发环境203.4.1运行环境203.4.2开发环境203.5本章小结21第4章系统设计234.1设计目标234.2设计原则234.2.1实用性原则234.2.2安全性原则234.2.3易用性原则234.2.4扩展性原则244.3系统设计244.3.1总体设计244.3.2手机防盗模块设计244.3.3进程管理模块设计254.3.4通信过滤模块设计264.3.5流量统计模块设计264.3.6软件管理模块设计274.3.7手机杀毒模块设计274.3.8缓存清理模块设计284.3.9高级工具模块设计284.3.10设置中心模块设计294.3.11关机屏蔽模块设计304.4数据库设计304.4.1数据库需求分析设计304.4.2数据库概念设计314.4.3数据库逻辑设计324.4.4数据库物理设计334.6本章小结35第5章系统实现375.1欢迎界面实现375.2手机防盗模块实现395.3流量统计模块实现425.4软件管理模块实现435.5进程管理模块实现455.6缓存清理模块实现465.7手机杀毒模块实现485.8通信过滤模块实现495.9高级工具模块实现525.10设置中心模块实现565.11关机屏蔽模块实现585.12本章小结59第6章系统测试616.1欢迎界面及主界面测试616.2手机防盗模块测试616.3软件管理模块测试636.4通信过滤模块测试646.5手机杀毒模块测试646.6高级工具模块测试656.7设置中心模块测试666.8流量统计模块测试666.9进程管理模块测试676.10缓存清理模块测试676.11关机屏蔽模块测试686.12测试结论68第7章总结及展望69参考文献71致 谢73-V-东北大学毕业设计(论文) 第1章 绪论第1章绪 论1.1 研究背景Android是一种基于Linux的开源操作系统,由操作系统、中间件、用户界面和应用软件组成。Android的开放性吸引了众多的开发者为其开发出丰富的应用软件。Android手机也凭借其可观的性价比吸引了众多手机硬件厂商的支持,至2015年11月Android手机的市场份额已经升至84.7% ,成为了全球市场份额最大的智能手机。Android系统的开放特性和不法分子的逐利冲动使得手机安全形势异常严峻,其中以手机病毒、恶意软件、垃圾短信和骚扰电话的影响最为广泛6。根据腾讯手机管家安全服务的腾讯移动安全实验室数据显示,2015年的上半年新增Android病毒包数达到596.7万,同比增长174%。Android病毒感染用户人次达到1.4亿,同比增长58%。恶意软件多会激活设备管理器获取手机中的短信、通信录、照片等各类信息,并上传到服务器。同时也能时刻监测手机中的短信情况,并且能够随时将短信转发到犯罪分子指定的手机号中,造成手机内所有信息泄露,并严重危及资金账户安全。垃圾短信类别主要分为广告类、诈骗类、违法类与其他类4大类。2015年上半年,广告类垃圾短信占垃圾短信总比例达84.04%,诈骗短信占比11.98%,违法类占比1.92%,其他类占比2.06%。根据腾讯手机管家用户举报骚扰电话的数据显示,2015年上半年,骚扰电话用户举报次数达到6.79亿次,同比增长403%,骚扰电话爆发式增长,大范围干扰用户,影响用户体验。1.2 研究意义鉴于手机安全日益严峻的形势,智能化地对系统敏感资源的访问进行分析和处理,在兼顾系统安全需求的同时保障用户体验,是开发Android安全防护软件所需要解决的关键问题1。Android手机安全防护系统可以对威胁手机正常使用的安全性问题进行有效的防护和处理3。对于垃圾信息和骚扰电话进行过滤与拦截;对于手机病毒和木马进行扫描和清除;对涉及隐私的应用程序设置程序锁防止隐私泄露,对于恶意软件产生的吸费流量进行及时的监控;对于影响手机运行速度的垃圾文件进行扫描与清除;对于手机被盗进行远程定位、锁屏、销毁数据。这些功能都能极大程度的提高手机的安全性9。1.3 研究现状随着Android手机的市场份额的逐年上升,以及手机安全问题的日益严峻,使得国内外多家安全软件公司相继开发出了Android平台上的安全应用软件7。美国著名的杀毒软件公司McAfee发布了基于Android平台的WaveSecure软件2,允许用户远程锁定用户的设备、清除手机上存储的重要数据以保护用户的隐私、用设备或通过Web远程备份数据、随时随地在线访问数据、将数据还原到新设备、查找遗失的设备并在地图上标出设备的位置、跟踪插入的SIM卡以及所进行的通话来帮助找回设备等,一定程度上保护了用户的隐私安全4。国内360、腾讯、百度等公司也相继推出了手机安全防护软件,这些手机安全防护软件,集防垃圾短信,防骚扰电话,防隐私泄漏,对手机进行安全扫描,云查杀恶意软件,软件安装实时检测,流量使用全掌握,系统清理手机加速,归属地显示及查询等功能于一身,是功能较为全面的智能手机安全软件。1.4 研究内容本文研究了威胁Android手机正常使用的安全问题,基于Android系统实现了手机安全防护系统的设计,主要研究内容如下:(1)研究Android系统的应用程序结构,分析Android系统的程序构成、结构和Android手机安全防护系统。 (2)分析手机病毒及木马的特征,建立相应的病毒数据库,通过将应用程序的签名信息转成MD5值后与病毒数据库比对,判断该应用程序是否为病毒,实现手机病毒及木马的扫描和清理功能。(3)分析垃圾短信及骚扰电话的号码特征,设置相应的拦截规则并存入拦截数据库中,通过将收到的短信及电话和拦截数据库进行比对,实现骚扰电话及短信拦截功能。(4)分析手机垃圾文件的种类及存储路径,使用反射机制获取缓存、卸载残留和无用的安装包等手机垃圾文件信息,实现扫描并清除手机垃圾文件的功能。(5)分析手机应用程序的流量统计,防止恶意软件的吸费流量。(6)分析手机中涉及隐私的应用程序,将这些程序存入隐私数据库中,监听手机的任务栈,发现任务栈中出现隐私数据库中的应用时,提示用户要输入密码访问,实现程序锁功能。(7)手机发生被盗情况时,发送含有短信指令的隐藏的短信,实现远程定位、报警、清除数据和锁屏功能。1.5 组织结构第1章,绪论。介绍了课题的研究背景、意义、国内外研究现状,研究内容和论文的组织结构。第2章,相关技术。简要介绍了Android的系统构成、程序结构、程序框架,MVC设计模式和Android手机安全防护系统设计中所涉及到的其他相关技术。 第3章,需求分析。通过功能模块图对手机安全防护系统进行需求分析,包括功能性需求分析和非功能性需求分析,进而得出手机安全防护系统的用例模型。第4章,系统设计。进行软件及架构设计,对软件进行模块划分,共分为手机防盗、通信过滤、软件管理、进程管理、流量统计、手机杀毒、系统加速、高级工具、设置中心9个模块。第5章,系统实现。实现了手机安全防护系统,给出手机防盗、通信过滤、软件管理、进程管理、流量统计、手机杀毒、系统加速、高级工具和设置中心9个模块的具体实现。第6章,系统测试。对手机防盗、通信过滤、软件管理、进程管理、流量统计、手机杀毒、系统加速、高级工具的功能进行测试,得到相关数据。第7章,总结与展望。对工作做简要的总结,并对后续工作提出设想。- 3 -东北大学毕业设计(论文) 第2章 相关技术第2章相关技术2.1 Android系统2.1.1 Android简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于智能手机和平板电脑等移动设备,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机5。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一10。Android最大的优势就在于其开源性,开发平台允许任何移动终端厂商加入到Android联盟中来,显著的开放性使其拥有更多的开发者,丰富的用户和应用使开发平台快速走向成熟。Android的开源性吸引了众多开发者,使Android应用软件的种类越来越丰富,从而为Android在消费者和厂商两方面积累了巨大人气。消费者将可以用更低的价位购得心仪的手机,同时还可以享受到丰富的软件资源。庞大的市场需求使厂商不断扩大生产规模,进而获得更多的收益8。Android系统采用分层的组织架构,从高到低分别是应用层、应用框架层、系统运行层和Linux内核层。应用层提供一些核心应用程序包,开发者可以在应用层利用Java语言设计和编写自己的应用程序。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分,是Android应用开发的基础。开发人员可以完全访问核心应用程序所使用的API框架。并且,任何应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。系统运行层包括图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机9个子系统,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、、android.media等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。包含显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。Android组织架构如图2.1所示。图 2.1 Android组织架构2.1.2 Android程序框架Android应用开发过程中,通常会使用活动、服务、内容提供器、广播接受者四大组件,关系如图2.2所示。图 2.2 Android四大组件的关系“活动”中含有开发者布置的控件,用户可以通过控件来实现操作。“活动”是应用程序与用户交互的纽带。在Android应用程序中一个“活动”通常都对应一个单独的程序界面。不同的“活动”之间通过“意图”进行通信,在“意图”的描述结构中,动作和动作对应的数据是最重要的两个部分,典型的动作类型有:MAIN、VIEW、PICK、EDIT 等,而动作对应的数据则是以URI 的形式进行表示的。“活动”有运行、暂停、停止、断开四种基本状态:(1)运行状态:一个新的“活动”启动入栈后,位于屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。(2)暂停状态:一个“活动”被另一个透明或者对话框样式的“活动”覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,虽然仍然可见,但已经失去了焦点,故不可与用户交互。(3)停止状态:当“活动”不可见时,处于停止状态。当“活动”处于此状态时,需要保存当前数据和当前的UI状态,防止“活动”退出或关闭时导致的当前的数据和UI状态的丢失。(4)断开状态:“活动”被杀掉以后或者被启动以前,处于断开状态。此时“活动”已从“活动”堆栈中移除,需要重新启动才可以显示和使用。 “活动”的生命周期中会有不同的状态,每个状态都有自己的回调函数,这些回调函数会在状态改变时发出通知。“活动”的生命周期有三个关键的循环:(1)整个的生命周期,从onCreate(Bundle)开始到onDestroy()结束。“活动”在onCreate()设置所有的“全局”状态,在onDestory()释放所有的资源。(2)可见的生命周期,从onStart()开始到onStop()结束。在这段时间,可以看到Activity在屏幕上,尽管有可能不在前台,不能和用户交互。在这两个接口之间,需要保持显示给用户的UI数据和资源等。(3)前台的生命周期,从onResume()开始到onPause()结束。在这段时间里,该“活动”处于所有“活动”的最前面,和用户进行交互。“活动”可以经常性地在恢复和暂停状态之间切换。“活动”的生命周期如图2.3所示。图 2.3 “活动”的生命周期“服务”是一个在后台运行没有用户界面的应用组件。其他应用组件能够启动“服务”,并且当用户切换到另外的应用场景后“服务”将持续在后台运行。另外,一个组件还能够绑定到一个“服务”并与之交互(IPC机制)。“服务”分为开启和绑定两种状态。通过startService()启动的服务处于“开启”状态,一旦启动,“服务”就会一直在后台运行。通常开启状态的“服务”执行单任务并且不返回任何结果给启动者。通过调用bindService()启动的服务处于“绑定”状态,一个绑定的“服务”提供一个与“服务”交互的接口进行发送请求、获取返回结果,或通过跨进程通信来与“服务”进行交互(IPC)。绑定的“服务”只有在另应用组件绑定后才能运行,多个组件可以绑定一个“服务”,只有在调用unbind()方法后,这个“服务”才会被销毁。“服务”的生命周期如图2.4所示。图 2.4 “服务”的生命周期“内容提供器”将一个应用程序通过URI唯一标识的指定数据集提供给其他应用程序,URI以content:/作为前缀,表示该数据由“内容提供器”来管理。其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据。开发人员不会直接使用ContentProvider类的对象,大多数是通过ContentResolver对象实现对“内容提供器”的操作。需要在多个应用程序间共享数据时,可以使用“内容提供器”在不同的应用程序之间共享数据。“内容提供器”用于保存和获取数据,并使其对所有应用程序可见。因为Android没有提供所有应用共同访问的公共存储区,所以这是不同应用程序间共享数据的唯一方式。“广播接收器”是对广播事件进行接收并做出对应处理的组件,通常在收到广播事件后启动“活动”或“服务”进行响应。应用程序运行时便会向Android 系统注册不同的广播,Android系统会根据接收到广播的种类来判断该广播需要处理事件,然后向对应的应用程序注册事件。不同的广播可能需要处理不同的广播事件也可能需要处理相同的广播事件,这时就需要“广播接收器”来进行筛选并处理。广播的注册包括静态与动态两种方式。静态注册方式是在AndroidManifest.xml的application里面定义receiver并设置要接收的action。这种方式的特点是:无论应用程序是否处于活动状态,都会进行监听。动态注册方式在activity里面调用函数来注册,和静态的内容差不多。一个形参是receiver,另一个是IntentFilter,里面包含要接收的action。动态注册方式特点是:在代码中进行注册,当应用程序关闭后,就不再进行监听。2.2 Android权限机制Android 是一个权限分离的系统。Android系统利用Linux已有的权限管理机制,通过为每一个Application分配不同的uid和gid,使不同的Application之间的私有数据和访问达到隔离的目的11 。同时,Android还在此基础上进行扩展,提供了permission机制,它主要用来对Application可以执行的某些具体操作进行权限细分和访问控制,同时提供了per-URI permission机制,提供对某些特定的数据块进行ad-hoc方式的访问。权限主要包含三个方面的信息:权限的名称、属于的权限组、保护级别。权限组是指把权限按照功能分成的不同的集合12。每一个权限组包含若干具体权限,这些权限的等级划可分为normal,dangerous,signature,signatureOrSystem,system和development,不同的保护级别代表了程序要使用此权限时的认证方式。其中normal 权限只要申请了就可以使用;dangerous 权限需要用户在安装时确认才可以使用;signature需要签名才能赋予权限;signatureOrSystem需要签名或系统级应用才能被赋予权限,system是系统级应用才能被赋予的权限13。Package的权限信息主要通过在AndroidManifest.xml中使用些标签来指定,如果package需要申请使用某个权限,那么需要使用标签指定。2.3 Android AIDL IPC机制Android系统中的每个应用程序都需要在自己的进程空间中运行,并且可以通过应用程序UI运行服务进程,这样就经常会在不同的进程间传递对象14。一个进程通常不能访问另一个进程的内存空间,所以不同进程间的对话需要将进程间的传递对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。因为通过代码来实现这个数据传输过程过于繁琐,所以Android系统提供了AIDL工具来处理这项工作。AIDL (Android Interface Definition Language) 是一种IDL语言,用于生成可以在Android设备上进行进程间通信(interprocess communication,IPC)的代码。在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,可以使用AIDL生成可序列化的参数。AIDL IPC机制是面向接口的,使用代理类在客户端和实现端传递数据15。Android系统AIDL服务的建立相对于普通服务的建立要更为复杂,具体步骤如下:(1)在Android工程的Java包目录中建立一个扩展名为aidl的文件,如果aidl文件的内容是正确的,ADT会自动生成一个Java接口文件(*.java)。(2)建立一个服务类(Service的子类)。(3)实现由aidl文件生成的Java接口。(4)在AndroidManifest.xml文件中配置AIDL服务,尤其要注意的是,标签中android:name的属性值就是客户端要引用该服务的ID,也就是Intent类的参数值。2.4 Android数字签名Android系统的应用程序必须是经过数字证书签名的,程序开发者要使用一个合适的私钥生成的数字证书来给应用程序签名,并将数字证书的私钥保存在自己的手中。Android数字证书被用来标识应用程序的作者和应用程序之间的信任关系,用于应用程序包的自我认证,所以并不需要权威的数字证书签名机构认证。Android数字证书都是有有效期的,Android系统只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。同一个开发者的多个程序尽可能使用同一个数字证书,原因如下:(1)有利于程序升级,当新版程序和旧版程序的数字证书相同时,Android系统才会认为这两个程序是同一个程序的不同版本。如果新版程序和旧版程序的数字证书不相同,则Android系统认为他们是不同的程序,并产生冲突,会要求新程序更改包名。(2)有利于程序的模块化设计和开发。Android系统允许拥有同一个数字签名的程序运行在一个进程中,Android程序会将他们视为同一个程序。所以开发者可以将自己的程序分模块开发,而用户只需要在需要的时候下载适当的模块。(3)可以通过权限(permission)的方式在多个程序间共享数据和代码。Android提供了基于数字证书的权限赋予机制,应用程序可以和其他的程序共享概功能或者数据给那那些与自己拥有相同数字证书的程序。如果某个权限(permission)的protectionLevel是signature,则这个权限就只能授予那些跟该权限所在的包拥有同一个数字证书的程序。Android数字证书的有效期应予以慎重考虑,原因如下:(1)数字证书的有效期要包含程序的预计生命周期,一旦数字证书失效,持有改数字证书的程序将不能正常升级。(2)如果多个程序使用同一个数字证书,则该数字证书的有效期要包含所有程序的预计生命周期。(3)Android Market强制要求所有应用程序数字证书的有效期要持续到2033年10月22日以后。2.5 SQLite数据库SQLite由SQL编译器、内核、后端以及附件这几个部分组成,通过利用虚拟机和虚拟数据库引擎(VDBE) 调试、修改和扩展内核。是一种轻量型数据库,不需要任何外部的依赖,是遵守ACID的关系型数据库管理系统,这种数据库包含在一个相对小的C库中,是存储在一个单一的跨平台的磁盘文件,不需要安装或管理。它以嵌入式作为设计目标,因其资源占有量极低,仅需占用数百kb的内存即可满足嵌入式设备的需求,所以目前已广泛应用于嵌入式产品之中。它能够支持Windows/Linux/Unix等多种主流的操作系统,同时也能够跟Tcl、C#、PHP、Java等多种程序语言结合。处理速度相比于Mysql、PostgreSQL这两款开源的世界著名数据库管理系统要快上很多。SQLite是一款公开的嵌入式数据库,许多公司(如Adobe、苹果公司、Google、Sun和Symbian)和开源项目(如Mozilla、PHP和Python)都在产品中使用了SQLite。SQLite嵌入到使用它的应用程序中,与被其嵌入的应用程序共用相同的进程空间,而不是单独的一个进程。在事务处理方面,通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程对数据库执行写操作之前,必须获得独占锁,在获得独占锁之后,其他的读或写操作将不会再发生。2.6 MVC设计模式MVC的全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。模型是自包含的,与控制器和视图保持相对独立,因此可以方便地改变应用程序的业务数据和业务规则用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中,核心是实现至少三层的松散藕合。MVC将一个应用系统分为三个组件:(1)Model:模型是应用程序的主体部分,代表了业务数据和业务逻辑,拥有最多的处理任务。模型与数据格式无关,负责在数据发生改变时通知视图部分。一个模型能为多个视图提供数据,即应用于模型的代码只需写一次就可以被多个视图重用。(2)View:视图是用户与应用程序交互的界面,通过不同的显示来表达模型的数据和状态信息。视图可以接收用户的输入数据,但并不进行任何实际的业务处理;可以向模型查询业务状态,但不能改变模型。视图可以向模型查询业务数据,但不能直接改变模型中的业务数据。视图具有可以被激活的更新操作,当更新操作被调用时,视图通过获得来自模型的数据值更新显示。(3)Controller:控制器通过时间触发的方式接受用户的输入并调用模型和视图去完成用户的需求。控制器获得事件依赖于界面的运行平台,它不进行输出和处理,只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。MVC模式中的模式的处理流程:首先控制器接收用户的请求并决定进行处理的模型,然后模型调用业务逻辑来处理用户的请求并返回数据,最后控制器通过对应的视图返回数据并通过表示层呈现给用户。MVC 分层可以使开发者在一个时间内专门关注一个方面,有助于管理复杂的应用程序MVC模式中的模型-视图-控制器之间的关系如图2.5所示。图 2.5 模型-视图-控制器关系图MVC模式实现了模型和视图的分离,使系统具有以下优点:(1) 一个模型提供多个视图表现形式,为模型创建新的视图而无须重写模型。模型的数据发生变化时将通知有关的视图,每个视图相应地刷新自己。(2)模型可以独立地移植到新的平台工作进行复用。(3)开发界面显示部分时,仅需考虑如何布局一个好的用户界面;开发模型时,仅需考虑的是业务逻辑和数据维护,这样就能使开发者专注于某一方面的开发,提高开发效率。MVC模式的模型和视图的分离也不可避免的带来以下不足:(1)对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。(2)视图与控制器是相互分离的,但联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了它们的独立重用。(3)依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。2.7 本章小结本章对Android的系统构成、程序结构、程序框架,MVC设计模式和Android手机安全防护系统设计中所涉及到的其他相关技术进行了介绍,为手机安全防护系统的具体设计打下了理论基础。- 15 -东北大学毕业设计(论文) 第3章 系统分析第3章系统分析3.1 可行性分析通过对手机安全防护系统的设计进行了初步调研与分析后,主要从技术可行性、经济可行性和操作可行性三方面进行分析。3.1.1经济可行性Android系统已经成为了智能手机系统的主流,基于Android的手机安全防护系统的开发在国内外已经有了诸多成功的案例。因此,手机安全防护系统的设计和实现可以对国内外已有的手机安全软件进行分析与借鉴。由于手机软件与传统的电脑软件相比,具有开发成本低廉、操作不受地理和时间的限制等特点,因此拥有更广泛的适用性。3.1.2技术可行性手机安全防护系统使用开源编程语言java进行功能性的开发,具有简单、稳定、动态、多平台、多线程、面向对象、解释型等特点。虽然在组织关系有很大的复杂性,但主要是对Android的四大组件、自定义UI布局及系统API的综合运用,在技术层面上可以保证安全、稳定、可靠。 3.1.3操作可行性手机安全防护系统采用主流Android应用程序开发风格,使用Android的原生组件进行开发,组件布局人性化。系统整体使用MVC框架进行设计和实现,界面简洁友好,用户操作简单。3.2 用户需求分析手机安全防护系统的用户群体非常庞大,这就需要在设计上满足简单易学、运行稳定和操作容易三点要求。3.2.1简单易学普通用户不会愿意花大量时间去学习使用软件。如果软件的操作界面不友好就会使用户难以上手使用,继而失去大量的用户。所以软件需要拥有良好的交互界面,使用户安装之后能方便的对软件进行设置。3.2.2运行稳定如果用户在使用软件的过程中经常会遇到软件出现不可预料的错误而崩溃,将对软件的体验度造成极大的负面影响,从而失去大量用户。3.2.3操作简单由于用户在使用软件时不清除其内部逻辑,所以软件就需要为用户提供便捷的操作接口以便其操作。3.3 功能需求分析整体项目采用MVC框架,基于Android应用程序框架,通过对Android系统中的权限机制、反射机制、AIDL IPC机制、数字签名、SQLite数据库等技术的综合应用,实现了以下功能:(1)设置中心模块能够对自动更新状态、归属地显示状态、黑名单状态、归属地显示风格、归属地显示位置、程序锁状态进行设置。其功能模块图如图3.1所示。图 3.1 设置中心功能模块图(2)通信过滤能够骚扰电话和垃圾短信的过滤与拦截,保护用户的通信安全。垃圾短信的过滤拦截功能是通过短信号码匹配实现的。手机在收到短信时会发送相应的广播事件,对应的广播接收者可以得到短信号码。通过对短信号码与拦截数据库中的数据进行比对判定是否为垃圾短信。通信过滤的功能模块图如图3.2所示。Android系统接收短信的广播为有序广播,因此,需要设置高于系统接收短信的优先级来拦截短信。这样开发者的“广播接收者”接收到短信广播后就可以调用abortBroadcast()终止接收到的广播而使系统无法接收广播从而使系统无法接收垃圾短信。图 3.2 通信过滤功能模块图(3)手机防盗模块能够通过广播接收者监听开机广播,将开机广播中的IMEI与用户绑定手机的IMEI进行比对。IMEI是国际移动设备身份码的缩写是由15位数字组成的“电子串号”,该码是全球界唯一的。这样若发现结果不同则可以判定为手机被盗,此时手机将发送含有警告信息的后台短信到用户设定的安全号码,用户收到该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论