如果IE显示格式不正常,请使用chrome浏览器 1.认证和授权 概述 认证是用来证明用户身份合法性的过程,授权是用来证明用户可以合法地做哪些事的过程,这两个过程一般是在服务器端执行的,但也有的APP出于性能提升或用户体验等原因,将其做在客户端完成,由此导致客户端绕过等问题. 安全准则 A. 在客户端做认证和授权是很难保证安全的,所以应该把认证和授权做在服务器端.如果确实有特殊的需求,可以和安全工程师进行沟通做单一case分析. B. 尽可能避免在设备上存储用户名和密码,可以…
1.数据存储 概述 移动应用经常需要在某些场景下(比如用户登录)处理和用户或业务相关的敏感数据,有时候为满足某些业务需求,需要把这些敏感数据存储在本地,如果不对这些数据进行适当处理,就有可能存在敏感信息泄漏的风险. 安全准则 A. 敏感数据总是优先考虑存储在内部空间. B. 敏感数据无论是存储在内部还是外部空间均应经过加密后再存储,应避免直接明文存储. C. 避免将敏感数据存储在全局可访问的缓存里(如log.剪切板等). D. 敏感数据避免硬编码在代码里面…
概述 移动应用很多时候并非孤立存在,在多数场景下存在前.后台以及第三方服务之间进行数据交互,因此,在网络中传输敏感数据在所难免,如果不使用正确安全的传输方式,有可能存在敏感信息泄漏的风险. 安全准则 A. 使用SSL协议(或基于SSL的协议)传输敏感数据. B. 验证服务器证书的有效性,防止中间人攻击,当证书有效性验证失败时应强行断开连接,而不是提示用户. C. 尽可能地减少使用短信发送敏感信息. D. 增强项:应用程序可以对敏感数据进行一次独立加密后再通…
概述 移动应用开发中,往往有跨进程通信的需求,方便地实现程序间的数据共享.Android提供了多种IPC通信的方式,给开发人员带来了便利,但如果选择或使用不当,就有可能发生各种各样的风险. 安全准则 A. 应用程序间的数据共享尽量优先采用content provider,尽量不要用带全局读写属性的IPC文件进行进程间通信(比如全局读写的. B. content provider的独立读写权限设置方法可参考附录5. C. SQLiteDatabase对象的部分内置方法…
在Android中,无论是开发者还是用户,接触最多的就算是Activity.它是Android中最复杂.最核心的组件.Activity组件是负责与用户进行交互的组件,它的设计理念在很多方面都和Web页面类似.当然,这种相似性主要体现在设计思想上.在具体实现方面,Android的Activity组件有自己的设计规范,同时,它能够更简便地使用线程.文件数据等本地资源. 一.Activity 的生命周期 Activity 的生命周期是被以下的函数控制的. public class Activity e…