版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Android智能手机防火墙分析,主讲内容,1 引言 2 ANDROID 的简介 3 防火墙的系统结构设计 4 ANDROID的安全关键技术 5 结束语,1 引言,在当今社会,手机已经成为人们日常生活中不可或缺的一部分。随着科技的进步和人们生活质量的提高,普通手机已经无法满足人们的要求,手机不断更新换代,变得更加人性化和智能化,产生了智能手机。智能手机越来越被大众所接受,而用户根据以往使用电脑的经验,智能手机也伴生新的安全隐患。目前,智能手机的发展使得手机上的应用日渐丰富,甚至有超过电脑终端应用的趋势,传统互联网上存在着的各种信息安全问题逐渐延伸到移动互联网领域,甚至演化成为新的安全威胁。
2、说到这,可以看一下现有智能手机安全软件情况,目前针对智能手机的安全软件大概分两种,一种是杀毒类的硬安全;另一种是隐私保护或恶意电话屏蔽等的软安全,如果说还能找出一种的话,就是前面两种的结合体。手机安全问题近期成为热点被社会各界普遍关注。在未来几年,随着智能手机用户的快速增长和手机支付等应用的普及,手机病毒制造的利益链将形成,手机安全面临的威胁将更加严峻。考虑到手机安全问题,选择一个稳健的手机操作系统成为了重中之重。Google在 2007年 11月 5日公布了android手机系统平台之后,人们很快就把焦点转移到android上。因为它是一个真正意义上的开放性移动设备综合平台,拥有移动电话工作
3、所需的全部软件。基于Android平台的可开发性和免费等特点,既能在 Android平台上开发第三方软件,从而促进技术创新;又有助于降低开发成本,方便创造特色化产品。这无疑使之成为智能手机操作系统的首选。 在智能手机众多功能当中,接听电话和接收短信则是人们使用最多的。因此,诈骗、骚扰的来电或短信等一系列问题,也成为人们日常通信中最大的安全隐患。 本文正是针对上述问题,提出了一个防火墙的设计方案,主要功能是拦截骚扰来电和过滤垃圾短信。此设计方案不仅能有效拦截来电短信,而且在打击移动通信的不法分子和净化移动网络环境方面,起到了积极的作用。,2 ANDROID 的简介,Android 早期由 Goo
4、gle 提出,后由开放手机联盟开发。它是基于 Linux 核心的软件平台和操作系统,由操作系统、中间件、用户界面和应用软件组成。它具有开放式的体系结构,拥有非常好的开发和调试环境,支持各种可扩展的用户体验,存在非常丰富的图形系统,因而有支持多媒体的功能和强大的浏览器。号称是首个为移动终端打造的真正开放和完整的移动软件。 Android 低层以 Linux 核心工作为基础,只提供基本功能,其它的应用以 Java 语言作为编程规范编写,但不能说它是基于 Java的。,2.2.1 Application Android 会同一系列核心应用程序包一起发布,该应用程序包包括 Email 客户端、SMS
5、短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是使用 JAVA语言编写的。 2.2.2 Application Framework 开发人员直接调用的 API。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。,2.2.3 Library Android 包含一些 C/C+库,这些库是底层的,能被Android 系统中 Application Framework 的组件使用。 2.2.4 Android Runtim
6、e 每个 Android 程序都在 Dalvik 虚拟机中运行,拥有独立的实例。Dalvik 是基于寄存器的,可以高效运行的虚拟系统。而 Dalvik 可运行的文件是.dex 文件,是通过Android Tools,dx 转化而来的,占据内存很小。 2.2.5 Linux Kernel Android 的核心系统服务依赖于 Linux 2.6 内核。需要linux 提供的核心系统服务为安全,内存管理,进程管理,网络协议栈,驱动程序模型等,内核也作为硬件和其它软件层(不包括内核)的中间抽象层。,3 防火墙的系统结构设计,如右图:,3.2 短信、来电拦截流程 主要提供了 5 种拦截模式,分别是标准
7、、全开、全拦、仅拦黑名单和仅过白名单,下面是各个模式的过滤流程: 3.2.1 标准模式,3.2.2 全栏与全开模式 全栏是指所有来电或者短信,一律拦截; 全开功能正好与全栏相反。 3.2.3 仅拦黑名单与仅过白名单模式 所谓的黑名单,就是在这个名单中的联系人进行过滤不接听其电话或者不介绍其短线。而白名单正好相反,是除了白名单其它联系人不予理睬的过滤方式。这两种方式 在智能手机防火墙中算是运用的最为广泛,可以手动输入、通过通话记录、短信记录或联系人列表当中导入添加黑白名单。如下图:,右图所示:,3.2.4 关键词拦截 接收来电或短信后,进行文字扫描,若发现存在已设置好不接收的关键字则拦截来电或短
8、信并做下记录,若无则不拦截。,3.2.5 电话号码的前缀通配符拦截 与 3.2.3类似,截取来电或短信地址,在号码中检索,若存在事先设好前缀通配符则拦截并做下记录,若无则不拦截。 3.2.6 情景模式 即在不同的时间接受不同人的电话或者短信。 可按照用户不同的需求把号码列表分成不同的组群,当来电或短信接入时,先查询当前时间,再截取来电或短信号码,检测当前号码是否在当前时间拦截,若符合拦截条件,则拦截,反之则然。,4 ANDROID的安全关键技术,在介绍如何实现“挂机”功能之前,首先需要介绍Android 的 AIDL。 在 Android 中,每个应用程序都可以有自己的进程,在定 UI 应用的
9、时候,经常要用到 Service。在不同的进程中,怎样传递对象呢?显然,JAVA 中不允许跨进程内在共享。因为传递对象,只能把对象拆分成操作系统能理解的简单形式,以达到跨界对象访问的目的。在 J2EE 中,采用 RMI 的方式,可以通过序列化传递对象。在 Android中,则采用 AIDL 的方式。理论上 AIDL 可以传递Bundle,实际上做起来却比较麻烦。 AIDL(Android 接口描述语言)是一种接口描述语言;编译器可以通过 aidl 文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的。如果需要在一个 Activity中,访问另一个 Service中的某个对象,需要
10、先将对象转化成 AIDL 可识别的参数(可能是多个参数),然后使用 AIDL 来传递这些参数,在消息的接收端,使用这些参数组装成自己需要的对象。 AIDL 的 IPC 的机制和 COM 或 CORBA 类似,是基于接口的,但它是轻量级的。它使用借类在客户端和实现层间传递值。如果要使用 AIDL,需要完成两件事件:第 一、引入 AIDL 的相关类;第二、调用 AIDL 产生的class。,4.1.2 通过AIDL实现“挂机”功能 可能是出于安全方面的考虑,Android SDK 在 1.5 版本之后,就把实现“挂机”的方法“屏避”掉了。之所以说“屏避”掉了,是因为通过查看操作系统源代码发现,发现
11、依然可以通过 TelephonyManager 的 getITelephony 方法,获取 ITelephony接口的实例(该接口的 endCall()方法可以实现挂机)。在 Android 1.5 以前,getITelephony 是公开方法,然而在 1.5 版本之后,该方法己改为私有,因为被“屏避”掉了。因为要获得 ITelephony实例对象,需要同时利用到 Android 的 AIDL 机制和 JAVA 的反射机制。 首先,按照 ITelephony 所在的包名(com.android. internal.telephony)以及所拥有的方法,定义一个 aidl 文件(ITelepho
12、ny.aidl)。并利用 AIDL 生成工具,生成同名java 文件(在 Eclipse 中,会自动生成,并保存到 gen 文件的同名包名下)。 接下来,通过 JAVA的反射机制,获得 ITelephony的实例对象,这里有一点小技巧,把本来私有的方法变为公开方法。 4.1.3重新实现PhoneStateListener类 在 Android 的 SDK 中,提供了 PhoneStateListener类,可以监听来话机状态变化,计算机状态主要有三种状态,分别是 CALL_STATE_RINGING(响铃状态)、CALL_STATE_OFFHOOK(挂机状态)、CALL_STATE _IDLE
13、 (平常状态)。因此需要重新续承 PhoneState Listener,并重写 onCallStateChanged 方法。,4.2 过滤短信的实现原理 4.2.1 过滤短信的流程 主要是通过监听系统信息数据库的变化,当有新的信息添加时,首先获取该信息的地址(号码),然后根据当前的拦截模式和用户自定义的黑白名单进行判断,如果符合过滤条件,则在数据库中删除短信。流程如图 6:,4.2.2 ContentObserver类的使用 ContentObserver 在 Android 中是内容变化监听器的意思,主要用来监听数据库增删改查等变化。在使用前,需要先指明需要监听数据源的 URI。由于需要监
14、听系统的短信数据库,因此 URI 为(content:/sms/)。其中 Context提 供 了 registerContentObserver (Uri uri, boolean notifyForDescendents, ContentObserver observer) 方法,注册指定数据源的 ContentObserver。 由于我们需要监听系统短信数据库的变化,同时需要作出过滤处理,因此需要重新实现 ContentObserver,并重写 onChange(boolean selfChange)。 4.3 挂断模式的实现原理 一般的手机拦截软件,拦截时都是直接调用“挂断“的方法,但
15、这样有一个坏处,就是会让对方感到是人为挂机,这多少有些不完美。 挂断模式就是为了解决这个问题。挂断模式一般有以下几种,分别是直接挂机、停机、空号和关机。 要实现各种挂断模式,其中关键技术是“呼叫转移”,常见的呼叫有如下四种:,l 无条件呼叫转移: 激活方式*21*号码# , 取消方 式#21# , 查询方式 *#21# ; 2 遇忙呼叫转移: 激活方式*67*号码# , 取消方式 #67# , 查询方式 *#67# ; 3 无应答呼叫转移: 激活方式*61*号码# , 取消方式 #61# , 查询方式*#61# ; 4 不可及呼叫转移: 激活方式*62*号码# , 取消方式 #62# , 查询
16、方式 *#62# ; 我们需要的是“遇忙呼叫转移”。“遇忙呼叫转移”的发生条件是当话机“挂机”时,就会发生呼叫转移。因此,我们基于这个规律,当有来电打入时,先判断其是否符合拦截条件,如果符合条件,则主动“挂机”(通过代码),此时就会发生呼叫转移。 为了实现多种挂机模式,我们需要维护一些手机号码:常停机、常空号、常关机。当有来电时,如果符合拦截条件,就主动挂机,这时就会发生呼叫转移,并根据先前设置的挂断模式,转接到对应的号码。,5 结束语,本文详细介绍了基于 Android 平台的来电拦截和短信防火墙的技术细节和实现原理,可看出它能较好的实现多种模式来电拦截和短信过滤的功能,这是毋庸置疑的。但由于研究时间有限,此防火墙还不尽完善,来电拦截技术上还有待改进。如来电拦截,主要是在 SDK 层中实现,经过多次试验,其效果并没达
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京化工大学生命科学与技术学院吴边教授团队第三批科研助理招聘2人参考题库【必考】附答案详解
- 2026湖北华中科技大学社会学院研究生德育助理招聘3人参考题库附答案详解【突破训练】
- 202暑期店铺转租款项约定合同书范本三篇
- 混凝土结构施工监理实施细则
- 焊接工艺评定与操作培训课件
- 管线迁改施工方案
- 管线穿越河道施工专项方案
- 2024年北京市各区中考模拟卷-A4-无答案版
- 工程资料员岗位职责
- 防水材料施工前进场检验管理方案
- 签入职合同三方协议
- 2026年单招考试语文试卷(含答案在最后)
- 2026年山东麟州投资控股有限公司公开招聘工作人员(10名)笔试备考题库及答案详解
- 2026广东东莞职业技术学院招聘事业编制专职辅导员13人笔试参考题库及答案详解
- 2026年四川省成都市中考数学真题含答案
- 2025年当阳市网格员招聘考试真题
- 专利技术合作开发合同范本
- 建筑变形测量规范
- 关于马克思“世界历史”思想
- 污水厂运营服务方案(技术方案)
- 危化品仓库安全风险点告知牌
评论
0/150
提交评论