零信任安全架构下的数字资产保护

来源:互联网

点击:2153

A+ A-

所属频道:新闻中心

关键词:数字安全 智能安防

     丛磊 白山技术中心安全产品负责人

      2016年加入白山,主要负责云安全产品的研发管理和安全体系构建等。

      2006年至2015年就职于新浪,原SAE(Sina App Engine)创始人,曾任总负责人兼首席架构师,2010年起,带领新浪云计算团队从事云相关领域的技术研发工作。

      现任工信部可信云服务认证评委。

      数字安全是企业高质量发展的关键。根据Gartner 2018年安全报告,数据安全、应用(业务)安全、网络安全是CIO/CSO最关注的安全子项Top3,数字资产保护已成为CIO/CSO对安全的最大需求。

      数据资产蕴含着巨大价值,而在商业对手、黑产/暗网、数据公司等通过非法爬取、黑客窃取等手段获取数据时,内部的主动泄露、被动泄露等方式也使数据资产安全受到威胁。

      而目前针对数字资产的保护,安全手段仍有一定局限:

      传统安全技术无视“爬虫”,但爬虫其实是造成数据资产泄露的主要途径;

      大多企业应用点防御,缺少对数字资产的梳理,和基于流量/数据的纵深防御;

      依赖规则,维护成本高,且覆盖不全,只能解决已知威胁;

      安全产品使用不当,反而带来安全威胁。

      针对以上问题,著名研究机构Forrester的首席分析师约翰·金德维格在2010年提出ZERO TRUST(零信任安全),期望能全面解决在企业安全中“人-物-数据”之间的问题。

      “零信任”的本质

      在我看来,认清身份,并对身份进行持续行为分析,再根据结果,实现对身份的动态控制。三者之间形成的闭循环,就是零信任架构。

      零信任安全架构

      身份

      身份,在现实生活中,我们有对应的独立肉体身份;而在数字化系统中,我们则对应一个个Token,即代表身份信息的字符串。Token具有唯一性、随机性、溯源性、持续性。

      身份的三层映射关系

      上图阐释了身份的三层映射关系:每个人,即User Entity,都会映射到不同的Token;Token在IT系统中,又会映射不同的身份;不同身份具有不同的权限。

      三层映射关系结合起来,就是零信任中的“身份”。即“身份”不仅包含了你个人的实体,也包含了你的身份证,以及不同作用域下的身份角色(比如你在家里是父亲,在公司是工程师)。

      常见的Token有两种:

      源IP

      在大部分情况下,我们认为一个IP代表一个Token。但这可能存在一定问题:

      1)代理池IP,net,可能一个IP背后不仅一个Token。也许在IPv6普及之后,这个问题会被彻底解决;

      2)IP存在伪造的可能,这种情况下,需要一些额外的技巧防止IP伪造。

      ID

      很多企业有自己的ID,可以是SSO账号,也可以是业务系统中的UID或设备指纹。

      持续行为分析

      有了身份,在相应权限下,用户会产生不同行为。而零信任安全非常重要一点的就是对用户行为进行持续分析。

      首先,我们需要定义什么是“行为”?

      白山ATD系统以用户访问行为为视角,基于六元组模型,定义“行为”概念,即:时间、地点、人/ID、作用域、动作和结果。

      其次,我们需要理解什么是“持续”?

      即用户登录系统到登出系统:从用户访问某一边缘到另一边缘的整个过程;我们应该从纵向(用户生命周期)、横向(用户活动范围)两个维度进行分析。

      我们总结常见的“行为分析”,目前大概可以分为两类,白山ATD系统针对不同情况采取了不同分析模型:

      针对特定场景的行为分析;

      针对特定场景,我们可以采用可编程对抗,把特定场景的规则植入到系统中;也可以利用有监督学习模型,利用企业已经标注好的黑白样本,针对场景训练模型。

      针对通用场景的行为分析;

      针对通用场景,一般可以利用无监督学习,进行单体分析和个群分析。

      单体分析:即和过去的自己对比。比如我们学习某一工程师过去的登录行为,生成行为规律,如果某一天的行为不符合规律,系统会质疑其身份,判断是否存在问题。

      个群分析:即和大家比。其关键点在于如何屏蔽海量数据的噪声,进行群体行为的建模;再从时域、频域、文本、路径等维度分析,找出与大家不同的行为。

      频域个群对比-某游戏平台

      在某游戏公司的实际案例中,攻击者使用伪造User Agent不断更换User ID进行撞库,并破解签名算法。从流量角度分析日志,其访问行为是合法请求,且访问频率不高。但当我们通过傅立叶变换转变成频率行为,我们可以看到其访问行为具有周期性,通过频域个群对比,最终确认是撞库攻击。

      文本个群对比-某银行HW

      在某银行HW攻防案例中,用户请求其实是PHP的探测,通过模拟百度搜索请求,绕过安全设备扫描。但是因为字符串中,标点符号之间的比例、单引号双引号之前的依赖关系、参数的构成,与正常的用户请求之间存在明显区别,通过文本个群对比,最终被ATD系统捕捉。

      动态控制-零信任安全的核心

      动态控制

      控制是根据身份对应的权限,约束身份的行为。动态控制则是通过不断地行为分析,修正Token的身份,调整对应权限。

      权限粒度

      动态控制还需要对数字资产划分权限粒度,通过建立动作分级和资产粒度的二维象限,对身份授权。

      动作上,可感、可达、读、增、改、删,每一个动作所要求的权限是逐级上升;而资产粒度上,服务、库、表、行、列,每一个访问资产的精细度也逐级递增。而动作分级与资产粒度的象限交点,即为对特定用户身份的授权。

      零信任&信用体系

      总之,企业搭建一个外部用户与内部用户的信用体系,应是组织结构、业务逻辑、风控系统、威胁情报、行为分析等所有能参考的数据集合。在这样的体系中,能给每个身份信用定级,并能不断地更新信用、调整身份。体系的搭建需要融入企业整个生命周期。这样的实时动态的信用体系,就是零信任安全体系。

      零信任不是表示不相信任何人,而是要从行为中重塑对每一个人的信任!


    (审核编辑: 智汇张瑜)