题,也成为人们日常
通信中最大的安全隐患。本文正是针对上述问题,提出了一个防火墙的
设计方案,主要功能是拦截骚扰来电和过滤垃圾短信。此设计方案不仅能有效拦截来电短信,而且在打击移动通信的不法分子和净化移动
网络环境方面,起到了积极的作用。
2ANDROID的简介
978-1-4244-9162-9/10/$26.00?2010IEEE
579
PEITS2010
Android早期由Google提出,后由开放手机联盟开发。它是基于Linux核心的软件平台和操作系统,由操作系统、中间件、用户界面和应用软件组成。它具有开放式的体系结构,拥有非常好的开发和调试环境,支持各种可扩展的用户体验,存在非常丰富的图形系统,因而有支持多媒体的功能和强大的浏览器。号称是首个为移动终端打造的真正开放和完整的移动软件。Android低层以Linux核心工作为基础,只提供基本功能,其它的应用以
Java语言作为编程规范编写,但不能说它是基于Java的。
表现层服务层
数据适配器层数据访问层
数据库层
配置文件
2.1Android系统具有5个特点:
lllll开放性。应用
程序无界限。应用程序是在平等的条件下创建的。应用程序可以轻松地嵌入网络。应用程序可以并行运行。
图1系统层次结构图
3.2短信、来电拦截流程
主要提供了5种拦截模式,分别是标准、全开、全拦、仅拦黑名单和仅过白名单,下面是各个模式的过滤流程:3.2.1标准模式
2.2Android的系统构架
2.2.1ApplicationAndroid会同一系列核心应用程序包一起发布,该应用程序包包括Email客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。2.2.2ApplicationFramework开发人员直接调用的API。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。2.2.3LibraryAndroid包含一些C/C++库,这些库是底层的,能被Android系统中ApplicationFramework的组件使用。2.2.4AndroidRuntime每个Android程序都在Dalvik虚拟机中运行,拥有独立的实例。Dalvik是基于寄存器的,可以高效运行的虚拟系统。而Dalvik可运行的文件是.dex文件,是通过AndroidTools,dx转化而来的,占据内存很小。2.2.5LinuxKernelAndroid的核心系统服务依赖于Linux2.6内核。需要
linux提供的核心系统服务为安全,内存管理,进程管理,网络协议栈,驱动程序模型等,内核也作为硬件和其它软件层(不包括内核)的中间抽象层。
图2标准模式
3.2.2全栏与全开模式全栏是指所有来电或者短信,一律拦截;全开功能正好与全栏相反。3.2.3仅拦黑名单与仅过白名单模式所谓的黑名单,就是在这个名单中的联系人进行过滤不接听其电话或者不介绍其短线。而白名单正好相反,是除了白名单其它联系人不予理睬的过滤方式。这两种方式在智能手机防火墙中算是运用的最为广泛,可以手动输入、通过通话记录、短信记录或联系人
列表当中导入添加黑白名单。如下图:
3防火墙的系统结构设计
3.1系统层次结构图
580
4ANDROID的安全关键技术
由于Android中本身没有关于拦截来电和过滤短信的API,因此,在技术实现上需要采用了一些非常规的做法,难度相对较大。以下将介绍关于来电拦截技术和短信过滤技术。
4.1拦截来电的实现原理
4.1.1Android的AIDL机制在介绍如何实现“挂机”功能之前,首先需要介绍Android的AIDL。在Android中,每个应用程序都可以有自己的进程,在定UI应用的时候,经常要用到Service。在不同的进程中,怎样传递对象呢?显然,JAVA中不允许跨进程内在共享。因为传递对象,只能把对象拆分成