zoukankan      html  css  js  c++  java
  • 从源头打造安全的产品,保障数据安全

    本文选自《数据安全架构设计与实战》一书,介绍从源头保障产品和数据安全的5A方法。

    无论是进行产品的安全架构设计或评估,还是规划安全技术体系架构的时候,有这样几个需要重点关注的逻辑模块,可以在逻辑上视为安全架构的核心元素。

    以应用/产品为例,它们包括:

    • 身份认证(Authentication):用户主体是谁?

    • 授权(Authorization):授予某些用户主体允许或拒绝访问客体的权限。

    • 访问控制(Acccess Control):控制措施以及是否放行的执行者。

    • 可审计(Auditable):形成可供追溯的操作日志。

    • 资产保护(Asset Protection):资产的保密性、完整性、可用性保障。

    这5个核心元素,我们将它们称之为安全架构5A(即5个以A开头的单词)。

    我们将其进一步扩展:

    • 主体的范围不局限于用户,将其扩展到所有人员(用户/员工/合作伙伴/访客等)、设备、系统。

    • 安全架构从应用层扩展到空间立体,覆盖物理和环境层、网络和通信层、设备和主机层、应用和数据层。

    由此,安全架构5A可用下图来表示:

     

    以身份为中心的安全架构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),链接:https://mp.weixin.qq.com/s/FH8Vqb8zdPOLheJfSLuaJQ

  • 相关阅读:
    JS 可选链操作符?. 空值合并运算符?? 详解,更精简的安全取值与默认值设置小技巧
    手写一个 Promise
    Leetcode 403 青蛙过河 DP
    Leeetcode 221 最大正方形 DP
    Leetcode 139 单词拆分
    Unity周记: 2021.07.26-08.15
    Unity周记: 2021.07.19-07.25
    Unity周记: 2020.07.12-07.18
    Unity周记: 2020.07.05-07.11
    线性规划
  • 原文地址:https://www.cnblogs.com/-U2-/p/12001614.html
Copyright © 2011-2022 走看看