BeyondCorp 打造得物零信任安全架构

时间:2022-11-01 19:06:05

   1. 背景

  当前,大部分企业都使用防火墙 (firewall) 来加强网络边界安全。然而,这种安全模型是有缺陷,因为当该边界被破坏,攻击者可以相对容易地访问公司的特权内部网。

  边界安全模型通常被比作中世纪城堡:城墙厚厚的堡垒,四周有护城河,戒备森严单点入口和出口。任何位于墙外的东西都被认为是危险的,而位于墙内的任何东西都是可信的。任何通过吊桥的人可以随时访问城堡的资源。

  传统的安全模型:  

BeyondCorp 打造得物零信任安全架构

  当所有员工都在公司提供的办公地点工作时,这种方式可以很好的工作,随着移动办公的出现、以及当前疫情的关系,越来越多人在家办公,这种安全模型的方式不再成立。虽然大多数企业认为内部网络是应用的安全环境,但 Google 的经验证明这种信念是错误的。相反,人们应该假设内部网络与公共 Internet 一样充满危险,并基于此假设来构建我们的企业应用程序。

  企业安全攻击示意图:  

BeyondCorp 打造得物零信任安全架构

  企业安全的痛点:

  如何防护应用安全漏洞?

  应能够防护应用安全攻击,避免被内部和外部人员攻击,以及及时发现各类应用安全漏洞。

  如何防范各类业务风险?

  需要防止应用上如越权、未授权、数据泄露等被利用,导致业务出现风险,引起重大损失。

  如何具备快速响应能力?

  没有永远的安全,一旦出现安全事件,应能及时响应,可以快速溯源攻击来源以及攻击目标,评估影响。

  如何兼顾效率与安全?

  因为安全人员紧张,应尽可能提高安全效率,实现安全一体化,以及避免对业务的效率降低影响。

   2. BeyondCorp理念

  2.1 历史背景

  BeyondCorp 是 Google 打造的零信任模型。它以 Google 十年的经验为基础,并借鉴了相关社区提出的理念和优秀实践。通过将访问权限控制措施从网络边界转移至具体的用户,BeyondCorp 使用户几乎可以在任何地点安全的工作,访问仅取决于设备和用户凭据,而不必借助于传统 VPN。无论用户的网络位置如何——无论是企业位置、家庭网络,还是酒店或咖啡店。根据设备状态和用户凭据,对企业资源的所有访问都经过完全身份验证、完全授权和完全加密。因此,所有 Google 员工都可以在任何网络上成功工作,本地和远程访问企业资源之间的用户体验是一致的。  

BeyondCorp 打造得物零信任安全架构

  2.2 核心模块

  BeyondCorp 由许多协作组件组成,以确保只有经过适当身份验证的设备和用户才有权访问必要的企业应用程序。

  2.2.1 BeyondCord 组件与访问控制流程  

BeyondCorp 打造得物零信任安全架构

  2.2.2 设备可信验证

  可信设备数据库

  BeyondCorp使用“托管设备”的概念,托管设备就是企业采购和主动管理的设备,只有受控的设备才能访问公司的应用程序,一个准确的设备数据库是BeyondCorp模型的基础。如何把所有的公司设备都能纳入管理范围,不漏、不错非常的关键。安全就是要全方位,不留死角,否则就会千里之提,溃于蚁穴。我们得物IT部门建设了自己的资产中心,能够对全司所有资产进行管理。

  设备认证

  所有受管设备在设备库中均有记录,完成设备特有标识的方式是为每个设备颁发证书,证书存储在硬件或者TPM(Trusted Platform Module) 上,设备认证过程会去验证设备的有效性,只有足够安全的设备才算受管设备,证书也会定期更新。得物并没有采用此种方式,而是基于字节飞连终端软件(集 NAC准入、有线、VPN于一身),通过账号密码实现身份认证。

  2.2.3 可信用户身份

  用户数据库

  BeyondCorp 会跟踪和管理用户数据,这些数据与人力资源系统紧密集成,新员工加入公司,角色或者职责变更、或者离职,数据库都会更新。

  单点登录(SSO)

  外部化SSO(外网可以访问)系统验证用户身份,生成短期令牌Token作为访问资源的凭证。得物建设有自己的单点登录系统,能够实现多因子认证,支持账密、短信,KEY口令等方式,未来还会支持指纹、人脸等方式。

  2.2.4 去除网络可信

  802.1x 认证

  对于有线和无线访问,通过RADIUS服务器,基于802.1x 认证协议为设备分配到一个合适的网络里面,这样就不依赖与交换机端口的静态配置。托管设备提供其证书作为此 802.1x 握手的一部分并分配给非特权的网络,没有被识别和管理的设备分配给访客网络。

  2.2.5 设备可信的访问控制实现

  设备可信

  用户或者设备的访问级别会随着时间环境改变,通过各类数据,动态的判断访问级别,这些信息会作为访问控制引擎(Access Control Engine)决策的一部分。举个例子,一个没有升级新版本OS的设备在访问的时候等级可能会被降低。用户在新的地点登录或者访问会被属于不同的访问级别。

  访问控制引擎

  访问控制引擎基于用户、设备、环境数据为每个服务请求提供授权,甚至是基于地理位置的访问控制。比如对于gitlib的访问只会授权给技术部门,对于财务系统的访问只会授权给财务部门的同事。

   3. 得物零信任安全实践

  3.1 得物零信任需要达到的目标

  因为不同企业面临的现状,技术能力,基础架构都有所不同,零信任的实施也不能照搬照抄。我们需要思考如何在现有组件下建立起适合得物的零信任体系。因此,得物安全技术经过反复讨论,验证与思考,决定得物零信任需要具备以下几个关键要点:

  设备可信

  用户身份可信

  环境可信

  应用身份可信(ACL静态授权)

  动态访问控制

  用户行为审计(UEBA)  

BeyondCorp 打造得物零信任安全架构

  得物零信任的长期业务目标:不需要VPN、防火墙就可以随时随地安全的访问公司资源。

  3.2 得物零信任架构  

BeyondCorp 打造得物零信任安全架构

  3.2.1 架构说明

  设备认证,可信设备基于飞连终端与飞连设备数据。(802.1x协议)

  轻量级终端(得物安全控件):我们基于Rust语言编写的轻量级终端,通过自研硬件设备指纹做到有效、准确标识每一台访问设备的目的。

  飞书、EHR提供用户身份认证数据:得物的SSO是基于飞书认证,我们打通了飞书与得物内部系统。

  无Access Proxy,通过应用网关接入访问控制引擎,实现同时动态与静态的访问鉴权。

  4层和7层纵深防御:我们不仅在7层对每一次访问做动态认证,在4层,通过AC控制器在网络层也做精准的防控和拦截。

  3.2.2 实施挑战

  挑战一:自研硬件设备指纹技术

  在建设得物零信任架构过程中,主要面临的挑战是设备确定性的问题,一开始我们尝试了通过浏览器指纹技术比如开源的 fingerprintjs、clientjs来实现终端特有标识,但是试验数据表明,浏览器指纹稳定性、碰撞率都不达预期,所以我们决定自研硬件指纹技术,100%特有、0.01%的碰撞率。

  挑战二:信息加密与防伪造

  设备信息的上传过程中,我们采用了多种加密算法,数据防篡改技术保障了数据传输的安全性。数据在传输过程中还做了充分压缩,避免数据太大影响系统性能与用户体验。

  3.3 零信任平台产品能力  

BeyondCorp 打造得物零信任安全架构

  3.4 应用场景举例

  账号安全

  得物是一家非常重视效率、用户体验的公司,公司有招聘大量的客服人员24小时服务用户,通过终端设备指纹,能对账号共用场景精准识别,降低公司资金损失。

  数据安全

  数据泄露是每个互联网公司都要面临的巨大难题,得物零信任基于各类大数据体系,能够对内网爬虫等数据场景进行实时分析、阻断,有效降低企业数据安全风险。

   4. 总结

  互联网安全事件频发,给我们做安全的同学敲响了一记沉重的警钟,作为安全技术人员,我们在时刻思考着要如何通过工程技术、AI等手段帮助公司建设牢固的安全体系,为企业业务保驾护航。零信任只是一个理念,在具体实施环境要因地制宜。此外,安全体系化建设不是靠一个产品,一种技术就能够轻松达到,要时刻保持警惕,从细节入手,不放过任何一个隐患,得物零信任体系建设还在发展阶段,我们希望能够将零信任的理念在得物充分实施,切实保障企业安全与得物用户数据安全!