首页  |  知识库  |  资源下载  |  在线工具  |  A-Z  •  JAR  •  名词查         

关于APP安全设计(风险分析、安全保护策略、安全原则)

标签:android,iso,安全设计,风险分析,安全保护策略,安全原则     发布时间:2017-10-27   

1 风险分析

智能手机主要存在以下攻击方式:

网络中间人攻击

恶意软件攻击

恶意执行文件攻击

近场攻击

用户恶意调试

 

   按安全事件的影响范围可以为以下风险级别:

级别

影响范围

解决方案

优先级

高风险

对企业和用户造成灾难性的影响,业务将无法进行。

防止越狱或其他用户root权限被获取,防止安装包的可执行文件被篡改。

高于用户体验

中风险

损害企业和用户的经济利益,影响企业的盈利水平,对业务产生不良影响。

利用安卓操作系统既有安全策略进行保护。

高于用户体验

低风险

对企业和用户的影响有限,企业的利润水平可能受到影响。

利用安卓操作系统既有安全策略进行保护。

低于用户体验

2 安全保护策略

关于APP安全设计(风险分析、安全保护策略、安全原则)

如上图所示,APP应用安全主要从以下四个层次进行保护:

 

1)设备安全:保护设备不被非法使用的技术。设备锁(pin、指纹识别、人脸识别、手势密码)

2)数据安全:保护设备上的数据不被获取的技术,甚至设备被偷走。(加密,等其他策略)

3)网络安全:保护数据在网络传输过程中的安全,包括vpn,ssl/tls传输加密,WEP/WPA/WAP2无线加密、传输认证。

4)应用安全:保护操作系统和运行中的应用程序的技术,沙箱,程序完整性检查。

3 安全原则

权限最小化

对用户进行权限分级化管理。在创建一个新的用户时,默认的权限应当是最小的。

深度防御

对于需要保护的数据和应用,应部署冗余安全措施,即当防御失效的时候,应当有其他防御可使用。在保证可用性和成本的情况下使用深度防御。

例如:对于XSS漏洞,不能依赖采用anti-CSRF token防御,以防后续anti-CSRF token失效时XSS漏洞爆发。要求XSS漏洞采用特殊字符的转义输出做过滤,也可以结合anti-CSRF token做深度的防御体系

保持简单

复杂的设计更容易出现问题,尽量使功能的实现简单化。

故障安全化

当业务出现故障警告时,应考虑安全显示,并自动关闭有问题的程序。

保护最薄弱的环节

识别出应用中最易受攻击的数据和页面,并实施保护。

默认拒绝

使用白名单对访问、输入操作进行默认拒绝。尽量不使用黑名单。

数据和隐私

识别并保护用户的数据和隐私资料。

尽量多的独立单元

功能模块尽量分层、分离,使攻击面最小化。

总体调节

应用的访问授权和安全策略保持一致,保持每次访问都进行安全检查。

公开设计

不假设应用中存在隐藏的秘密,比如后台、数据库不会被外界发现。