最新Android手机卫士骚扰拦截的设计与实现中期报告讲解.docx
《最新Android手机卫士骚扰拦截的设计与实现中期报告讲解.docx》由会员分享,可在线阅读,更多相关《最新Android手机卫士骚扰拦截的设计与实现中期报告讲解.docx(13页珍藏版)》请在冰豆网上搜索。
最新Android手机卫士骚扰拦截的设计与实现中期报告讲解
Android手机卫士骚扰拦截的设计与实现中期报告讲解
硕士论文中期检查报告
论文名称:
Android手机卫士骚扰拦截的设计与实现
姓名:
学号:
专业:
所属院系:
学院指导老师:
企业指导教师:
企业指导老师单位:
论文起止时间:
2013年11月~2014年10月
2014年5月
1.课题背景介绍
1.1.课题背景与意义
在当今社会,随着科技的进步和人们生活质量的提高,过去已经流行开来的普通功能手机已经无法满足人们的要求,手机不断更新换代,变得更加人性化和智能化,于是就产生了智能手机。
现在智能手机已经成为很多人日常生活不可缺少的一部分,而电话和短信始终是大部分手机用户最基本也是最重要的信息交流工具。
随之而来的欺诈短信和骚扰电话也时常在我们身边发生,尤其对于防范意识薄弱的老人和小孩,更加容易上当受骗。
对人们造成了经济上、时间上的损失。
在对垃圾短信和骚扰电话的调查当中,没有被调查者认为他们未收到过垃圾短信和骚扰电话;明确认为收到过垃圾短信和电话的被调查者占据了99%以上。
被调查者均表示接收到的垃圾短信和骚扰电话的主要时间明显向工作时间集中。
综上所述,研究一款根据相应规则对来电和新消息进行拦截的手机软件有益于保障人们生活不受骚扰,还人们一片清静的世界,还可以防止骗子集体对人们的短信欺骗,保障人们的经济利益。
1.2.课题研究内容
针对日益猖獗的电话和短信骚扰,人们已纷纷采取了应对的措施。
其中,在一些手机平台上相继开发出了来电防火墙和短信防火墙形式的骚扰拦截功能。
所以本次研究,是对基于Android的手机卫士骚扰拦截的设计与实现,包括对骚扰电话、垃圾短信的拦截,除此还增加让用户举报短信、标记骚扰电话的功能,方便其他用户可以共享陌生来电号码的信息。
要完成如上研究目标所必须完成的工作内容如下:
1.项目需求分析
结合项目需求与实际工作业务进行分析与沟通,确定项目需求,并实现产品原型设计。
2.服务器端数据接口
公司的网站架构是经典的LAMP架构(Linux操作系统,Apache网络服务器,MySQL数据库,PHP编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构),而Android手机客户端所用的数据需要在服务器端进行PHP代码封装成的JSON格式的数据接口,然后供Android的API调用。
3.骚扰拦截流程的优化与实现
骚扰拦截的策略分为电话和短信两部分:
1)短信部分采用来电号码加短信内容的协同分析,当号码为黑名单时,则直接判定为垃圾短信,如果不是黑名单,则仍需判定是否为106开头的号码以及特殊服务电话(如95555这种),如果皆非上述两者,则根据短信内容是否有拦截关键字,如果含有关键字,则可以直接拦截。
反之,则放行短信。
2)电话部分采用是电话号码分析,满足黑、白名单的相应规则,则作出相应的拦截流程。
4.Android客户端整体功能实现方案
确定好各个模块界面的功能需求,开发对应的客户端界面,并确保与服务器端接口的通信正常。
5.系统的整合、调试、与验收
整个系统完成后,目标是可以在Android手机真机上流畅运行,而骚扰拦截模块达到的具体效果是:
1)当有电话接入的时候,根据来电的电话号码以及拦截规则进行拦截,防止电话的骚扰。
2)当接收短信的时候,根据过滤字段,发送的短信号码来进行过滤和拦截,防止垃圾短信的进入。
1.3.系统总体方案
结合项目需求与实际工作内容进行分析与沟通,确定项目需求,并实现产品原型设计。
确定好各个模块界面的功能需求,按照已定的原型设计,开发对应的客户端界面与功能,并确保与服务器端接口的通信正常。
2.论文工作是否按开题报告预定的内容及进度安排进行
2.1开题报告工作计划
1.通过收集一些有关本课题的资料与文献,加上与指导老师交流并确定论文研究中心与设计计划,逐渐建立模型最后完成整个论文的撰写。
2.掌握java等编程语言的使用同时选择合适的开发工具,开始XML、、Photoshop、GoogleAndroidAPI等技术与工具的使用方法。
3.具体工作的时间进度见表1。
表1项目工作计划
序号
项目工作内容
完成时间
1
开题报告
2013.12.21
2
项目需求分析及原型设计
2014.01.15
3
UI与数据及接口的开发
2014.02.15
4
UI与功能类和接口的对接与整合
2014.03.15
5
综合开发、测试与修复
2014.04.15
6
论文
2014.07.15
7
答辩
2014.12.15
2.2实际工作进度
表2为本项目设计与实现以及论文的实际工作进度,在项目的实现和论文的撰写过程中与开题时制定的计划有些许偏差,但是时间节点控制的还算接近,最终可以顺利完成项目的上线与论文的撰写。
表1项目工作计划
序号
项目工作内容
完成时间
1
开题报告
2013.12.24
2
项目需求分析及原型设计
2014.01.17
3
UI与数据及接口的开发
2014.02.10
4
UI与功能类和接口的对接与整合
2014.03.16
5
综合开发、测试与修复
2014.05.05
6
论文
2014.09.15
7
答辩
2014.12.15
3.目前已完成的研究工作及结果
3.1骚扰拦截的研究
1.垃圾短信拦截过滤的层次结构
垃圾短信拦截过滤部分主要分为三层,第一层是数据层,其次是控制层,最后一个是表示层。
1)收到的短信是存储在数据层的,数据层还存储有其它的一些数据,比如说规则数据;
2)事件的监听机制是通过控制层来实现的,当收到短信之后对发件人号码分析辨识,随后的关键字词的查询等等;
3)用户界面的交互则是通过表示层来实现的,包括关键字词的列表,黑白名单,与此同时用户还可以通过这个表示层与短信过滤模块进行交互,更改关键词,更改短信的所属类别,更改黑白名单号码。
图1所列的就是短信骚扰拦截过滤的层次结构。
短信数据库
数据层规则数据库
垃圾短信拦截事件监听
过滤层次结构控制层发件人列表分析
关键字过滤
表示层短信分类列表
过滤关键词列表
图1垃圾短信拦截过滤层次结构
2.基于Android智能手机的AIDL(AndroidInterfacedefinitionlanguage,Android接口定义语言)机制,可以通过Service来完成服务的功能。
3.监听来电话时话机的状态变化,用到的是位于Android的SDK中的PhoneStateListener类,了解到电话状态主要会有三种,依次是CALLSTATEIDLE,CALLSTATERINGING,CALLSTATEOFFHOOK。
因此需要重新继承PhoneStateListener类,继承之后还必须重写onCallStateChanged方法之后才能实现监听手机话机状态的变化,根据状态来作出相应响应的拦截操作。
4.过滤短信主要是通过监听系统数据库SQLite的变化,当数据库有insert操作时表明有新的短信息进入,则首先获取该信息的发送者号码,然后根据拦截模式以及短信内容来进行判断是否拦截。
5.因为公司已经有服务器端的PHP代码,所以Android客户端与服务器端的交互,是通过在PHP中建立API接口,以JSON的格式供Android的API调用。
如图2为整个系统架构图。
图2整个系统的架构图
6.最后可以通过在Eclipse上运行Android模拟器来进行功能的测试,还可以用Android的手机安装apk来进行测试。
3.2遇到的关键问题及解决方案
1.在论文设计与实现的过程中遇到了如下六个技术难点:
1)在收到短信时,目前很多垃圾短信经常使用添加特殊字符、改变文本编码、拼音替换等方式来绕过拦截规则,比如“(做*帐-抵*口)*-*【百万o.3】联系135-3o6-696-85(王)”这样的短信,其中夹杂各种特殊字符以及拼音替换等,所以软件必须对这种情况进行文本归类,专门针对这种行为进行优化。
2)在收到来电时,软件的监听(这一监听的获取目前还受到某些手机厂商的系统权限的制约)对现在比较常见的响铃一声骚扰拦截的判断,是否可以在第一时间内获取到该来电的信息,如果可以在响铃一声的骚扰电话刚挂断后,不能给出拦截提示,则软件的设计就不能起到好的效果。
3)由于目前国内很多手机开发商针对Android系统做了二次开发,使得某些方法在Android系统大部分手机可以是适用,但少部分手机并不能完全适用,比如目前国内流行的小米手机的MIUI。
4)垃圾短信在智能拦截模式下的拦截流程,以及该模式下各种情景(如联系人、黑名单、白名单、陌生号码、去电号码的来电)的优先级如何设计。
5)关于垃圾短信和骚扰电话的数据库操作,主要的难点是数据库中建立的数据表是否合理,表的各个字段及表的关系是否合理。
6)手机客户端标记骚扰电话的类型,在手机联网的情况下,将骚扰电话的类型传到网络服务器平台,这一过程是否能高效且无误的传输。
2.针对上述存在的技术难点,提出相应的解决方案:
1)上述难点1)一方面可以通过替换特殊字符,将短信中出现的部分字符替换掉,比如常见的“ó”,“ǒ”,“①”,“㈠”等特殊字符,还原短信本来的面貌;另一方面是对短信内容进行清洗,将不需要的内容过滤掉,比如空格、换行等空白的内容过滤后使短信内容仅包括:
汉字、数字、英文字母。
2)难点2)可以通过继承PhoneStateListener类,复写其中的方法,监听系统CALL_STATE_RINGING状态和CALL_STATE_IDLE状态之间的时间差,根据多次响铃的操作实验,时间差定在3秒是比较合适的情况。
3)难点3)只能是保证软件在Android原生系统完美运行,以及大部分Android手机厂商的手机上运行,部分二次开发的系统暂时无权限获取其系统广播而做不到骚扰拦截。
4)难点4)初步设计了如下图3的骚扰拦截的流程图,可以总体兼顾短信的拦截效果并将误拦截的可能性控制在一定限度以内。
图3骚扰拦截智能拦截流程图
5)难点5)初步的设计思路是在数据库创建六个数据表,具体的有客户端号码黑名单表、客户端号码白名单表、客户端用户自定义拦截关键字表、拦截到的短信列表数据表、拦截到的电话列表数据表、骚扰电话标记的类型表。
6)难点6)因为公司已经有服务器端的PHP代码,并且有完整的后台数据库,所以我们采取的方案是通过在PHP中建立API接口,以当下流行的JSON(JSON是一种轻量级的数据交换格式。
它基于JavaScript的一个子集)格式供Android的API调用,其交互图如下图4。
数据库
读数据写数据
API接口
RESPONSEREQUEST
数据格式:
方法:
JSON/XMLGET/POST
手机客户端
图4Android与服务器端PHP的交互问题
4.后期拟完成的研究工作及进度安排
后期需要对骚扰拦截的数据库中的相关表进行再审核,扩充字段以留后续的新增功能,并对骚扰拦截的关键字进行加密处理,以防被恶意破解骚扰拦截的核心内容。
5.如期完成全部论文工作的可能性
目前项目工作已完成近70%的工作,到论文答辩时可以保证论文按时完成。
6.论文工作计划
后续论文会重点讨论项目中的三个核心点:
1)在收到短信时,目前很多垃圾短信经常使用添加特殊字符、改变文本编码、拼音替换等方式来绕过拦截规则,比如“(做*帐-抵*口)*-*【百万o.3】联系135-3o6-696-85(王)”这样的短信,其中夹杂各种特殊字符以及拼音替换等,所以软件必须对这种情况进行文本归类,搜集一个这样的特殊字符的替换关系表,尽可能做到覆盖目前垃圾短信中的可能特殊字符的情况。
这一工作会是一个长期不断的修正的工作。
2)对垃圾短信的样本的分析,从而提取垃圾短信拦截的关键字的过程,在未引入大数据式分析的前提下,样本的分析需要人工筛选垃圾短信关键词,这一工作会一直持续到项目引入大数据平台的上线之前。
3)对垃圾短信关键字部门的加密工作,防止被恶意破解、确保程序的安全性。
这一工作已经在开始,大约需要一个多月的调试。
参考文献
[1]余志龙等,GoogleAndroidSDK开发范例大全[M].北京:
人民邮电出版社,2009.
[2]靳岩,姚尚明.GoogleAndroid开发入门与实战[M].北京:
人民邮电出版社.2009.
[3]吴亚峰,Android核心技术与实例详解[M].北京:
电子工业出版社.2010.
[4]杨文志,GoogleAndroid程序设计指南[M].北京:
电子工业出版社.2009.
[5]汪永松,Android平台开发之旅[M].北京:
机械工业出版社.2010.
[6]盖索林,GoogleAndroid开发入门指南[M].北京:
人民邮电出版社.2009.
[7]韩超,梁泉等,Android系统原理及开发要点详解[M].北京:
电子工业出版社.2010.
[8][美]伯内特,Android基础教程(第3版)[M].北京:
人民邮电出版社.2010.
[9]程杰,大话设计模式,北京,电子工业出版社.2011
[10]曾阳,Android手机隐私保护软件的设计与实现[J].北京:
北京邮电大学.2013.
[11]张琛,基于Android的垃圾短信过滤系统[J].南京:
南京邮电大学.2012.
[12]薛冰,基于Android系统的主动拦截技术的研究[J].北京:
北京邮电大学.2013.
[13]侯效,基于Android的智能终端应用防护系统短信过滤子模块的设计与实现[J].北京:
北京邮电大学.2012
[14]朱学森,基于Android智能手机防火墙的研究与应用[J].内蒙古包头市:
内蒙古科技大学.2012
[15]宋艳艳,基于内容分类的垃圾短信拦截系统的研究[J].黑龙江省哈尔滨市:
哈尔冰理工大学.2012
[16]刘云玉,基于云计算的短信内容审计研究[J].陕西省西安市:
西安建筑科技大学.2011
[17]SchapireREandSingerY.BoosTextera:
aboosting-basedsystemfortextcategorization.MachineLeanring.2000,39(2/3):
135-168
[18]StephanBlohdornandAndresHotho.BoostingforTextClassificationwithSemanticFeature.2004
[19]YingLiu,HanTongLoh,AixinSun,Imbalancedtextclassification:
Ateamweightingapproach.ExpertSystemswithApplications:
AnInternationalJournal,2009:
690-701
[20]ChrisineLargeron,ChristopheMoulin,MathiasGery.Entrobasedfeatureselectionfortextcategorization.Proceedingsofthe2011ACMSymposiumonAppliedComputing,2011:
924-928
[21]BenjaminSpeckmann.TheAndroidmobilePlatform[EB/OL].http:
//www.emieh.edu/compsci/projects/Master_thesis-Benjamln_SPecklanmn.Pdf,2008-04-26.