移动终端应用安全设计方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
移动终端应用安全设计方案
传统互联网相比,移动互联网具有随身性、可鉴权、可身份识别等独特优势。但同时也存在移动终端处理能力弱、网络带宽相对较小的局限性
移动应用的几种模式
原生应用、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)离线使用:有离线功能的应用,在离线状态下,应用的功能使用是