移动应用安全开发要求(3,访问控制)

通常,移动应用的生命周期包括可行性分析与项目开发计划、需求分析、设计、编码、测试、维护等活动,这种按时间分配不同任务的思想方法是软件工程中的一种重要思想原则,即按部就班、逐步推进,每个阶段都要有各自的定义、工作、审查、形成文档以便工作交流或备查,进而达到提高软件质量的目的。

目前,按照应用开发生命周期的思想进行软件设计和开发的理念已经得到广大软件设计和开发人员的广泛认同,但是在应用开发生命周期中对安全性的考虑则往往被忽略,进而产生了很多的软件产品漏洞,给使用应用的人们带来很多工作生活上的不便,甚至造成巨大的经济损失。

图片

在本文中,我们探讨Android应用程序开发过程中对于移动应用访问都有哪些安全开发要求。

 

访问控制


    禁止请求非必要的权限,限制越权访问。

图片

 

    权限管理

  • 创建基于角色的授权;

  • 代码执行权限最小化;

  • 可信系统对资源授权与验证;

  • 对文件、受保护的URL、受保护的程序功能、受保护的程序数据、受保护的用户/数据属性/策略信息、受保护的访问控制策略、服务端数据创建行为进行访问授权控制;

  • 保护存储在客户端的访问状态数据;

  • 限制单位时间内事务请求数量;

  • 注销长时间不活动账号;

     

    身份鉴别

  • 支持用户标识和用户鉴别,确保标识的唯一性;

  • 用户每次登录与重新连接系统时,采用受安全管理中心控制的口令、基于生物特征的数据、数字证书以及其他相应安全强度的两种或两种以上的组合机制进行用户身份鉴别,且其中一种鉴别技术产生的鉴别数据是不可伪造的,重要操作可用进一步的口令确认;

  • 对鉴别数据进行保密性和完整性保护;

  • 若检测到终端越权操作等非法动作,则根据策略做不同级别的响应:审计、提示、告警;

     

    权限最小化

  • 账号登录限制保护。限制同一个账号同时在多个设备上成功登录移动终端;

  • 只开放必要的软件权限,防止扣费风险、隐私泄露风险等;

  • 系统在分配权限时应满足最小授权原则,只需授予不同管理员用户(系统管理员、系统安全员、安全审计员等)完成各自任务所需的最小权限;

  • 系统不应只通过界面限定用户的权限,防止攻击者绕过界面的限制直接提交请求;

  • 对系统输出数据检查,禁止较低权限用户或用户组越权访问,限制同权限用户或用户组越权访问;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1. 背景 4 2. 编码安全 4 2.1. 输入验证 4 2.1.1. 概述 5 2.1.2. 白名单 5 2.1.3. 黑名单 5 2.1.4. 规范化 5 2.1.5. 净化 5 2.1.6. 合法性校验 6 2.1.7. 防范SQL注入 6 2.1.8. 文件校验 6 2.1.9. 访问控制 6 2.2. 输出验证 6 2.2.1. 概述 6 2.2.2. 编码场景 6 2.2.3. 净化场景 7 2.3. SQL注入 7 2.3.1. 概述 7 2.3.2. 参数化处理 7 2.3.3. 最小化授权 7 2.3.4. 敏感数据加密 7 2.3.5. 禁止错误回显 8 2.4. XSS跨站 8 2.4.1. 输入校验 8 2.4.2. 输出编码 8 2.5. XML注入 8 2.5.1. 输入校验 8 2.5.2. 输出编码 8 2.6. CSRF跨站请求伪造 8 2.6.1. Token使用 9 2.6.2. 二次验证 9 2.6.3. Referer验证 9 3. 逻辑安全 9 3.1. 身份验证 9 3.1.1. 概述 9 3.1.2. 提交凭证 9 3.1.3. 错误提示 9 3.1.4. 异常处理 10 3.1.5. 二次验证 10 3.1.6. 多因子验证 10 3.2. 短信验证 10 3.2.1. 验证码生成 10 3.2.2. 验证码限制 10 3.2.3. 安全提示 11 3.2.4. 凭证校验 11 3.3. 图灵测试 11 3.3.1. 验证码生成 11 3.3.2. 验证码使用 11 3.3.3. 验证码校验 11 3.4. 密码管理 12 3.4.1. 密码设置 12 3.4.2. 密码存储 12 3.4.3. 密码修改 12 3.4.4. 密码找回 12 3.4.5. 密码使用 12 3.5. 会话安全 13 3.5.1. 防止会话劫持 13 3.5.2. 会话标识符安全 13 3.5.3. Cookie安全设置 13 3.5.4. 防止CSRF攻击 13 3.5.5. 会话有效期 14 3.5.6. 会话注销 14 3.6. 访问控制 14 3.6.1. 跨权访问 14 3.6.2. 控制方法 14 3.6.3. 控制管理 14 3.6.4. 接口管理 15 3.6.5. 权限变更 15 3.7. 文件上传安全 15 3.7.1. 身份校验 15 3.7.2. 合法性校验 15 3.7.3. 存储环境设置 15 3.7.4. 隐藏文件路径 16 3.7.5. 文件访问设置 16 3.8. 接口安全 16 3.8.1. 网络限制 16 3.8.2. 身份认证 16 3.8.3. 完整性校验 16 3.8.4. 合法性校验 16 3.8.5. 可用性要求 17 3.8.6. 异常处理 17 4. 数据安全 17 4.1. 敏感信息 17 4.1.1. 敏感信息传输 17 4.1.2. 客户端保存 17 4.1.3. 服务端保存 17 4.1.4. 敏感信息维护 18 4.1.5. 敏感信息展示 18 4.2. 日志规范 18 4.2.1. 记录原则 18 4.2.2. 事件类型 18 4.2.3. 事件要求 18 4.2.4. 日志保护 19 4.3. 异常处理 19 4.3.1. 容错机制 19 4.3.2. 自定义错误信息 19 4.3.3. 隐藏用户信息 19 4.3.4. 隐藏系统信息 19 4.3.5. 异常状态恢复 20 4.3.6. 通信安全 20

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值