本文选自《数据安全架构设计与实战》一书,介绍从源头保障产品和数据安全的5A方法。
无论是进行产品的安全架构设计或评估,还是规划安全技术体系架构的时候,有这样几个需要重点关注的逻辑模块,可以在逻辑上视为安全架构的核心元素。
以应用/产品为例,它们包括:
* 身份认证(Authentication):用户主体是谁?
* 授权(Authorization):授予某些用户主体允许或拒绝访问客体的权限。
* 访问控制(Acccess Control):控制措施以及是否放行的执行者。
* 可审计(Auditable):形成可供追溯的操作日志。
* 资产保护(Asset Protection):资产的保密性、完整性、可用性保障。
这5个核心元素,我们将它们称之为安全架构5A(即5个以A开头的单词)。
我们将其进一步扩展:
* 主体的范围不局限于用户,将其扩展到所有人员(用户/员工/合作伙伴/访客等)、设备、系统。
* 安全架构从应用层扩展到空间立体,覆盖物理和环境层、网络和通信层、设备和主机层、应用和数据层。
由此,安全架构5A可用下图来表示:
安全架构的5A方法论将贯穿全书,成为安全架构设计(无论是产品的架构设计,还是安全技术体系的架构设计)、风险评估等安全工作的思维方式(或共同语言)。
其中,资产包括但不限于:
* 数据:即信息资产,包括结构化数据(数据库、缓存、Key-Value存储系统等)、非结构化数据(文档、图片、音频、视频等),不仅包括存储的数据,也包括使用、传输、流转中的数据。
* 资源:网络资源、计算资源、存储资源、进程、产品功能、网络服务、系统文件等。
为什么资源也是需要保护的资产呢?让我们来看几个例子:
* DDOS攻击会占满网络带宽资源或主机计算资源,导致业务不可用。
* 病毒、木马会造成主机计算资源破坏或权限被外部控制,或造成攻击范围扩大,数据泄露等严重后果。
相关概念:IAM(Identity andAccess Management,身份与访问管理),主要覆盖了安全架构中的身份认证(Authentication)、授权(Authorization)、可审计(Auditable)这三个要素,可称之为3A。
身份认证、授权、访问控制、可审计这4个要素也可称之为4A。
在这几个核心元素中,用户访问资产的主线为:
访问控制的依据是授权,查询授权表或者基于设定的权限规则,拥有访问权限才允许继续访问。
用户首先需要通过身份认证,也就是要让系统知道用户是谁。
用户需要具备访问目标资产的权限。
访问控制模块会基于授权以及事先设定的访问控制规则,判断是否放行。
在访问到资产之前,经过必要的资产保护措施,如数据解密、加密传输、脱敏展示、防攻击以及防批量拉取措施、隐私保护等。
可审计一般是指可供追溯的操作审计记录(操作日志记录等),没有直接体现在上述主线中,但会覆盖到每一个模块:
* 身份认证方面:SSO系统需要记录用户的登录时间、源IP地址、用户ID、访问的目标应用。
* 授权方面:需要记录权限申请流程的每个审批环节的时间、IP地址、用户ID、理由、通过或驳回权限申请的动作。
* 访问控制方面:访问控制执行的结果是放行或驳回,通常来说,需要记录所有的驳回动作,以及对敏感资产的每一个请求及动作,便于追溯。
* 资产保护方面:记录用户访问的资产(特别是敏感资产)及操作(查询、添加、修改、删除等)。
小结一下,5A,是五个以A开头的单词的简写,是《数据安全架构设计与实战》一书提出的从源头保障一款产品(一般指互联网产品或服务)数据安全的方法。
附录:
书籍《数据安全架构设计与实战》作者:郑云文(U2),长期从事数据安全与隐私保护工作,同时也是开源应用网关Janusec Application Gateway的作者(https://github.com/Janusec/janusec ,提供WAF、CC攻击防御、统一Web化管理入口、证书私钥保护,Web路由以及可扩展的负载均衡等功能)。
对数据安全有兴趣的朋友,欢迎加入QQ群:879622682 (数据安全交流),或关注微信公众号:数据安全架构与治理(Data-Security)。