移动终端应用安全设计方案

移动终端应用安全设计方案
移动终端应用安全设计方案

移动终端应用安全设计方案

传统互联网相比,移动互联网具有随身性、可鉴权、可身份识别等独特优势。但同时也存在移动终端处理能力弱、网络带宽相对较小的局限性

移动应用的几种模式

原生应用、Web应用、混合应用

原生应用:简单的来说是特别为某种操作系统开发的,比如iOS、

Android、黑莓等等,它们是在各自的移动设备上运行的

Web应用:本质上是为移动浏览器设计的基于Web的应用,它们是用

普通Web开发语言开发的,可以在各种智能手机浏览器上运行。

混合应用:是原生应用和Web应用的结合体,采用了原生应用的一部

分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web

上运行,这是主流模式

移动应用模式的优缺点

可访问手机所有功能(GPS、摄像头);速度更快、性能高、整体用户体验不错;可线下使用;

支持大量图形和动画开发成本高

支持设备非常有限

上线时间不确定

内容限制(App Store限制)

支持设备广泛;较低的开发成本可即时上线;无内容限制;对联网的要求比较大

用户体验比较差

图片和动画支持性不高

对手机特点有限制(摄像头、GPS

兼容多平台;

顺利访问手机的多种功能;可离线使用不确定上线时间;

用户体验不如本地应用;

性能稍慢(需要连接网络);

移动应用的安全

一般用户都认为只要是手机安装客户端模式会比较安全,客户端模式相对于wap网页模式安全些,但是,打开手机就是应用,应用背后却还是一片黑,好像还不是很安全呢。

可以从移动终端安全机制、网络安全机制两个方面考虑:

安全机制内容

移动终端安全机制互联网的最终用户设备,包括手机、

Activity安全、劫持

PDA、便携式电脑

终端操作系统安全机制、防病毒、

系统漏洞攻击等,数据安全及隐

私保护机制、数据授权访问、加

密等

网络安全机制接入网,也包括IP承载网或互联网

网络设备的环境安全,操作系统、数

据库等的访问控制及入侵防御

机制,用户认证及数据加密机制

A3/A8,ASE、Kasumi等。

无论是终端还是网络安全都可以从物理安全、系统安全、应用安全和数据安全等方面进行分析。

物理安全:设备丢失带来了物理安全隐患

数据安全,数据传输的加密处理

隐私保护,身份认证PIN密码的加密处理,明文还是暗文

内容安全,交互协议的加密处理(HTTPS\ jabber\ 3DES加密体系)移动终端安全机制

Android组件的安全

Activity组件权限安全

Activity组件时用户唯一能够看见的组件,首先是访问权限控制,

activity组件在制定Intent-filter后,默认是可以被外部程序访问的,

也就意味着会被其他程序进行串谋攻击。

这里的其他程序指签名不同、用户id不同的程序,或者是签名相同且用户id相同的程序在执行同一个进程空间,彼此之间是没有组件访问限制的。

Android:exported熟悉设置为false,设置组件不能被外部程序调用。如果希望被特定的程序访问,就不能用上面的熟悉设置,需要通过andriod:permission熟悉来指定一个权限字符。

要想启动Activity必须在AndriodManfest.XML文件中加入声明权限的代码

Activity组件劫持

当用户安装了带有Activity劫持功能的恶意程序后,恶意程序会遍历系统中运行的程序,当检测到要劫持的Activity(通常有网银或是其他网络程序登录页面)在前台运行时,会用钓鱼式的activity覆盖正常的activity,来欺骗用户

Content provider 安全

内容提供者,用于程序之间的数据交换,andriod系统中,每个应用的数据库、文件、资源等信息都是私有的,其他程序无法访问,如果想要访问这些数据,就必须提供程序之间数据的访问机制,content provider 通过提供存储与查询数据的接口来实现进程间的数据共享。

Conten provider 提供了insert(), delete(), update(),query()等操作;

写权限andriod:Writepermission 检查

读权限andriod:readpermission检查

Broadcast receiver安全

广播接收者,用于处理接收的广播,分为发送安全与接收安全;

接收安全:andriod:Exported属性设置为false,只接收本程序组发出

的广播;

发送安全问题:两种消息发送方式,sendBroadcase()与

sendOrderedBroadcast()

Service安全

后台进程组件

数据安全

外部存储安全:存在SD卡,对于不涉及用户隐私的数据,可以适当

采取该方式;涉及隐私的即便是数据加密了,最后不要存在外部存储设

备上

内部存储安全:所有软件存放私有数据的地方。Shared proferences、

sqllite

无论哪种存储用户隐私数据都改进项加密。

移动应用web端的安全

移动APP大多通过webAPI服务的方式跟服务端交互,这种模式把移动安全跟web安全绑在一起。移动app以web服务的方式跟服务端交互,服务器端也是一个展示信息的网站,常见的web漏洞在这也存在,比如说SQL注入、文件上传、中间件/server漏洞等,但是由于部分app不是直接嵌入网页在app中,而是使用的api接口返回josn数据,导致扫描器爬虫无法爬取链接。

Web类应用系统所面临的主要风险包括:

网络层面的攻击:利用工具和技术通过网络对系统进行攻击和入侵,包括DDOS攻击、漏洞探测、嗅探(帐号、口令、敏感数据等)等。

Web应用程序攻击:利用web系统的漏洞对应用程序本身进行的攻击,如针对应用程序本身的DOS攻击、SQL注入、跨站攻击、网站挂

马以及获取对web服务的控制权限等。

内容篡改:利用应用层漏洞等进行的网页篡改攻击行为,网页内容被非法篡改为其它甚至是产生严重社会影响的不合规内容。

数据通信安全

软件与软件、软件与网络服务器之间进项数据通信时的安全问题。

软件与软件的通信:Android系统4大组件的通信主要手段通信过程中

数据传递依靠intent来完成;在intent中应该明确指定目的组件的名

称,防止第三方程序“偷窃”

软件与网络的数据通信:软件登陆验证、网络账号密码的明文传输、数

据上传未加密

移动应用的功能测试

1)基本功能(同pc端测试)

2)软件版本检测:检测版本号是否正确?至少要比上一个版本多一个

版本,例:当前版本1.0,那么下一个版本至少是1.0.1。程序启动后,是否正常检测版本更新提示

3)离线使用:有离线功能的应用,在离线状态下,应用的功能使用是

否正常,离线状态下相应的操作提示是否合理。

4)离线后连接网络:离线后连接wifi或者2G,3G网络,基本功能能

否正常使用。

1、交互性测试

1)数据同步功能:需要同步数据的应用,测试数据同步是否正常,下载、

上传。

2、应用网络测试

1)应用的流量使用情况

3、安全

1)企业用户的身份,被别别人冒名顶替

2)物理安全,网络安全,系统安全,安全管理,应用安全五个层面进行评测

3)第一部分是智能终端通过短信网关进入后台服务器。(说移动设备从物理安全上来讲,就是说移动设备丢失带来了物理安全隐患)4)第二个链路是说我的移动终端通过移动网络进入互联网,最后进入我们的服务器。(无线网络自身的隐患)

5)第三部分是一些PC机,在企业内部的PC机,通过交换机最后进入了服务器。

6)第四部分是一些移动的终端,通过WIFI进入我们的后台服务器。

无线网络自身的隐患

相关主题
相关文档
最新文档