当前位置:文档之家› 移动终端应用安全设计方案

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

移动终端应用安全设计方案传统互联网相比,移动互联网具有随身性、可鉴权、可身份识别等独特优势。

但同时也存在移动终端处理能力弱、网络带宽相对较小的局限性
移动应用的几种模式
原生应用、Web应用、混合应用
➢原生应用:简单的来说是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的
➢Web应用:本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行。

➢混合应用:是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web上运行,
这是主流模式
移动应用模式的优缺点
移动应用的安全
一般用户都认为只要是手机安装客户端模式会比较安全,客户端模式相对于wap网页模式安全些,但是,打开手机就是应用,应用背后却还是一片黑,好像还不是很安全呢。

可以从移动终端安全机制、网络安全机制两个方面考虑:
无论是终端还是网络安全都可以从物理安全、系统安全、应用安全和数据安全等方面进行分析。

➢物理安全:设备丢失带来了物理安全隐患
➢数据安全,数据传输的加密处理
➢隐私保护,身份认证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进入我们的后台服务器。

无线网络自身的隐患。

相关主题