成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼
移动应用安全防护全攻略:从部署到数据保护
移动应用安全要求
外部基础安全防护功能管控域
服务器、数据库服务器应采用分区域部署方式,服务器部署在DMZ区域,数据库服务器应部署在核心生产区域
应用系统外连其他外部系统,应单独部署接口机。
参照操作系统安全配置基线手册进行操作系统配置
参照数据库安全配置基线手册进行数据库相关配置
在设备上使用授权认证 token 的方法来取代密码,并在传输层进行加密(SSL/TLS),后端服务进行验证
特定服务的 token 应该在一段时间后失效(服务器端认证)
使用最新版本的认证标准(如OAuth2.0)
在设备上存储密码或 token,应使用手机操作系统所提供的加密方法和密钥存储机制
利用上下文信息增加身份认证的安全性。如 IP 地址位置
应用程序请求访问敏感数据或接口时,尽可能地增加其他身份鉴别因素。如,声音,指纹等任何可以认证个人身份的内容
身份认证应该绑定终端用户的身份(而非设备本身)
确保密码和密钥没有在缓存和日志中输出
为用户在设备上提供密码修改功能
以加密或散列的形式对密码和证书进行常规备份
滑动解锁码功能限制错误次数

检查所有密码的熵,包括可视化密码在内
以特定格式记录应用程序调用付费资源的日志(例如签署用户同意的回执发送到受信任的服务器后端),并提供给最终用户监测
检查异常的资源使用模式,触发重新认证。例如地理位置、用户语言发生变化等
考虑设置默认的白名单程序来访问付费资源。例如地址簿只提供给电话拨打使用
对所有付费资源 API 的调用进行身份验证。例如验证开发者证书
确保该付费功能的 API 回调不会传输明文账户、定价、计费、条款等信息
针对任何可能影响付费功能的应用程序行为,警示用户后取得用户同意
避免采用可预见的会话标识符
设置合理的会话存活时间,超过该时间后销毁会话
提供用户登出功能,注销服务器的会话数据
用户认证成功后,为用户创建新的会话并释放原有会话,创建的会话凭证应满足随机性和长度要求
保证数据在最低安全环境下运行的安全性(如:假设运营商网络层是不安全的,现有的技术已经可以解密运营商网络,并且也不能保证 Wi-Fi 网络环境都进行了适当的加密)
当应用程序需要传输敏感信息时,应该强制使用加密的(如 SSL/TLS)点对点传输方式(例如使用 STS头)保证机密性和完整性保护。这里敏感信息包括用户证书或类似的认证信息
采用权威的加密算法(如 AES,DES),并且选择适当的密钥长度
服务端证书签名必须由权威 CA 提供,不要采用自签名的方式生成证书
在后端(服务器)进行身份验证后再建立连接,服务器必须使用可信的 SSL 证书
按照敏感程度和应用的访问策略对数据存储区域分类(如密码、用户数据、位置、错误日志),并检查调用这些敏感数据的api是否安全
敏感数据应保存在服务端而非客户端
敏感信息(包括秘钥)的存储或缓存必须经过加密处理
在媒体库中存储包含位置信息的照片
不要在全局可读的目录中存放临时文件或缓存
运用非持久的标识符,它们必须在任何地方都不与其它应用共享。例如,不能用设备 ID 号作为标识符,应采用随机数生成器
设计一个内置的“数据删除开关”功能,为了保护这个功能被不当使用应设置强认证
基于上下文信息,限制对地理位置等敏感信息的访问(例如:例如,GPS 显示位置在国外时手机钱包无法使用,汽车钥匙在距离汽车 101 米外无法使用……)
在管理设备上的应用程序必须使用可以远程删除的“删除开关”API
遵循最小化原则,应用程序只能收集和公开业务功能相关所须的数据
在应用程序所需要的有效时间外,不能保存 GPS 历史记录及其它敏感信息
个人敏感信息必须设置最大保存时间,超过时间必须删除
针对android应用程序需要混淆打包apk
在应用程序的二进制代码中不语序存储任何密码和敏感信息,后端也不能存储通用的敏感信息(如硬编码中的密钥)
敏感数据传输、客户端与服务端数据传输、应用程序与外部接口数据传输(如 GPS 位置信息、或包含其它文件元数据)的相关代码进行检查
确保服务端所运行的环境(操作系统、Web Server 或其它应用组件)升级了最新的安全补丁
应用程序需要集中调用的资源和接口进行 Dos 压力测试
限速和限制单用户/IP 登陆(如用户身份可识别)
本文内容来自自互联网公开信息或用户自发贡献,该文观点仅代表作者本人,版权归原作者所有。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。若发现侵权或违规内容请联系电话4008352114或邮箱442699841@qq.com,核实后本网站将在24小时内删除侵权内容。

