【编者按】:精品学习网论文频道为您提供各类开题报告范文参考,以及开题报告写作指导和格式排版要求,解决您在开题报告写作中的难题。
一、 拟选定学位论文的题目名称
基于行为自学习的Android手机电话短信防火墙研究与实现
二、 选题的科学意义和应用前景
在当今社会,手机已经成为人们日常生活中不可或缺的一部分。随着科技的进步和人们生活质量的提高,普通手机已经无法满足人们的要求,手机不断更新换代,变得更加人性化和智能化,产生了智能手机。智能手机越来越被大众所接受,而根据以往使用电脑的经验,智能手机也伴生新的安全隐患。在实际应用中,手机的安全问题主要是由手机病毒引起的,其主要危害可以分为五种情况:①导致用户手机里的私人信息丢失;②控制手机进行强行消费,导致手机用户通信费用及信息费用剧增;③通过手机短信的方式传播非法信息;④破坏手机软件或者硬件系统;⑤造成手机通讯瘫痪。
如上所述,目前最容易给用户造成直接经济损失的主要是控制手机进行强行消费,导致手机用户通信费用及信息费用剧增。以目前流行的Android OS为例分析其过程,基于Android的安全机制一些病毒程序在安装的时候提示用户由于某些功能需要访问网络、或者是发短信拨打电话,由于用户往往不是这方面的专家,会授予程序请求的权限,获得权限后这些软件会在用户不知情的情况下发送短信或者拨打电话,而且屏蔽服务提供商发回的扣费确认信息。
通过查阅资料发现,目前市场上针对Android的安全软件主要分为两类。一类侧重个人的隐私保护,如LBE隐私卫士。另一类侧重拦截垃圾短信和骚扰电话,如360手机卫士。这两类程序都不能解决上述病毒程序自动发送短信或者拨打电话造成的损失,而且某些号码会逃过拦击或者是错误的拦截了一些重要号码,使用户错过一些重要的电话或短信。如果能研究出弥补上述缺点的软件,既能在功能上满足要求,即对病毒程序发送短信或者拨打电话进行拦截,又能给用户很好的使用体验,那必定受到用户的青睐,有良好的使用推广价值。
2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。基于Android系统在目前手机市场上占有较大的份额,本毕业设计基于Android操作系统,对病毒程序任意发送短信、拨打电话与用户手动发短信打电话进行研究,并提出一个实现方案:基于行为自学习的Android手机电话短信防火墙(这里的防火墙不同于传统意义上的网络防火墙,传统的网络防火墙是为了阻止主机受到外网的攻击而设计的一道防火墙,这里不是严格意义上的防火墙,只是为了叫着方便,就拟定了这个名字)。实现在用户手动发送短信、拨打电话时,可以顺利通过防火墙,不需要向用户提示,而其他程序自动发送短信、拨打电话时则需要向用户请求,通过用户允许才能发送。这样在实现功能的同时,采用机器学习的方式学习用户发送短信的行为与程序自动发送的区别,给用户良好的使用体验。
三、 背景科研项目情况简介
由于Android OS 的内核是根据手机运行环境定制的Linux 2.6内核,因此Android OS 相应地继承了Linux 2.6的安全机制,同时Android的系统安全也主要靠Linux 2.6的安全机制来实现。Linux系统本身有着出色的安全性和稳定性,而作为目前比较新的Linux 2.6 版的内核又加入了安全模块的安全机制来增强Linux系统的安全性。Android的数据安全机制涉及到两个重要的安全元素:UID(用户标识)、权限,而且Android OS平台下的数据安全机制也依赖这两者来构造。
UID :安装在Android手机中的每个程序都会被分配一个属于自己的统一的Linux用户ID ,并且为它创建一个沙箱以防止影响其它程序(或者其它程序影响它)执行。用户ID在程序安装到手机中时被分配,并且在这个设备中保持它的永久性。另外程序创建的任何文件都会被赋予程序的用户标识,并且正常情况下不能被其它程序访问。
权限:权限是Android OS中允许用户或者程序执行的操作,包括打开数据文件、发送信息、拨打电话、访问网络和调用Android 组件等等。权限是Android为保障安全而设定的安全标识,同时也是程序实现某些特殊操作(比如申请系统Service)的基础。
机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习的研究是根据生理学、认知科学等对人类学习机理的了解,建立人类学习过程的计算模型或认识模型,发展各种学习理论和学习方法,研究通用的学习算法并进行理论上的分析,建立面向任务的具有特定应用的学习系统。
根据Android的安全性原则知道,Android OS中的数据在默认情况下(除系统授权外)不会被其它程序破坏、被读取、修改、删除以及丢失,一个进程不能随意入侵另一个进程,除非通过Android OS提供的进程间通讯机制或者直接调用一些API。如果一个程序需要对其它程序的数据进行读取等操作,系统(或者手机用户)将会在程序安装阶请求用户授予该程•序这些权限,如果通过授权,程序才能做相应的操作,否则无法对其他数据进行操作。基于Android的安全机制,本设计通过研究Android的API或者Android UI的事件机制,尝试截取用户的屏幕操作或者按键操作,抽象成一定的数学模型,用机器学习的方法识别是用户发送的短信还是病毒程序发送的短信。
四、学位论文主要研究内容
本学位论文主要包括以下几个方面的研究内容:
1. 在Android平台下,后台监控程序如何截取当前界面上用户操作或者按键,如用户点击屏幕上某个控件,或者按下某个物理按键,监控程序能够拦截用户的这些动作,采用一定的数学模型记录用户的操作。
2. 分析用户发送短信、拨打电话的行为与程序自动完成这一系列动作有什么关键区别,如发送短信时用户的一系列操作,拨打电话时一系列操作,因为每个用户操作的行为习惯可能不一样,首先对上述数学模型进行特种选择,供监控程序学习或者识别,这 样可以给用户良好的使用体验。
3. 在手机资源受限的情况下,如何提高用户行为特征的存储效率以、特种选择算法的效率,机器学习和识别的效率。
五、 预期解决的主要问题(对每个预期解决的问题介绍其难点所在、国内外研究的现状和趋势、解决问题的基本思路和技术路线、预期解决到什么程度)
1. 监控程序截取用户当前界面上的操作。
这个问题应该是本论文的一个难点。在Android中,发送短信、拨打电话时系统会产生一个广播事件,其他程序可以截获这些广播消息,进一步处理,可以决定该消息是否继续向下传递。研究Android提供的API, 在用户操作软件界面或者硬件的按键时,看有没有像上述的广播消息发送,如果有则这个问题很容易解决,如果没有,就进一步分析Android的UI框架、事件机制,通过一些更底层的机制来获取用户的操作,如果还不能实现,可以提出基于现有Android的一个模型机,使监控程序能够监听发送短信、拨打电话应用程序的界面操作。
2. 用户发送短信、拨打电话行为数学模型的建立
为区别是用户手动拨打电话、发送短信还是恶意程序自动拨打电话、发送短信,要对用户拨打电话、发送短信的行为特征进行研究,找出它们的本质特征,并用一定的数学模型表达出来。
3. 对机器学习理论的研究
研究一些典型的机器学习模型,在手机这个特定环境中,希望能对现有的一些算法进行改进,提高机器学习和识别的效率。
六、开题条件
学术条件:本人导师具有非常丰富的硬件和软件开发知识和经验,在导师的指导下,本人将搭建模拟Android拨打电话、发送短信的开发测试环境,使本论文的内容能在该环境下得到验证。然而,由于个人的视野和知识的有限,所以在验证自己的想法和实施过程中将会遇到很多问题,这些本人将向导师请教。在完成论文之前,本人将充分利用网络寻求解决的不同解决方法并积极向他人请教。
设备条件:1台个人电脑。
七、文献综述
Android操作系统是Google与OHA (Open Handset Alliance,开放手机联盟)合作开发的基于L inux2.6平台的开源智能手机操作系统平台。Android从开放以来, 受到业界人士追捧, 吸引了越来越多的程序员参与到手机开发的领域中,所以将Android OS移植到不同的平台上有了很好的市场价值。Android Linux Kernel是基于Linux操作系统2. 6版所更改而来,它为Android系统提供核心系统服务: 安全机制、内存管理、进程管理、网络堆栈、驱动模型等。Android OS由操作系统、中间件、用户界面和应用软件组成,具体框架结构由五部分组成。其核心为嵌入式L inux2.6操作系统,向上搭配Google为Android开发Libraries(函数库)及Android Runtime(运行环境),再配合Application Framework(应用程序框架) , 来开发各种不同的Application(应用程序)。
智能终端逐渐随着3G业务而普及,Android作为最热门的移动终端开发平台,吸引了广大开发者的注意,应用软件市场呈现一篇繁荣的景象。但往往许多应用无法满足用户的需求,用户体验差甚至存在安全隐患,影响用户的使用,重则造成用户的信息泄露和经济损失。在应用开发中可以利用系统已有的安全机制,和良好的设计模式来设计有安全保障,性能良好,用户体验出色的精品应用。Android 从设计之初就注重应用的安全性。首先基于签名机制保障应用的不被篡改,其次引入了权限的概念,应用需要在配置文件中事先声明要使用的权限,在安装时系统会请用户确认这些权限,经过用户的同意方可安装。应用程序由组件构成,可以针对每个组件声明相应的访问控制权限。针对Content Provider 组件,可以针对每个URI 控制访问权限。Android系统首先定义了基本的一组基本的权限:如ACCESS_NETWORK_STATE,CALL_PHONE等,应用程序也可以定义自己的权限。基于权限的声明使应用程序运行在最小权限集下,有越权操作时会被系统及时阻止。Android系统在程序运行中起着仲裁者和组织者的作用,应用组件的交互都要经由系统的传递方可成功。不同的应用运行在不同的虚拟机进程下,有不同的UID,一般无法破坏其他应用和系统的正常运行。同时,框架层的设计限定了应用的组成要素和通信方式,为Android 系统从全局把控系统资源提供了条件,限制了某些恶意开发人员破坏系统的能力,为应用的安全提供了基本的保障。