初探零信任模型——就是假设所有的设备、人员等都是不可信的,在此基础上构建安全策略
一、初探零信任模型
传统的基于边界的网络安全架构通过防火墙、WAF、IPS等边界安全产品/方案对企业网络边界进行重重防护。它的核心思想是分区、分层(纵深防御)。边界模型专注防御边界,将坏人挡在外面,假定已经在边界内的任何事物都不会造成威胁,因而边界内部基本畅通无阻。
几乎所有网络安全事故的调查都指出,黑客在完成攻击之前,甚至之后,曾长期潜伏在企业内网,利用内部系统漏洞和管理缺陷逐步获得高级权限;另一方面,内部人员的误操作和恶意破坏一直是企业安全的巨大挑战,长期以来都没有好的解决方案。也就是说,认为企业内网是可信区域的传统看法是站不住脚的。
除了外部威胁和内部威胁导致基于边界的安全体系失效,移动办公和云服务的增长,也令很多公司企业难以确立起网络边界。传统筑起边界长城守护内部资源的做法,随着企业数据的分散化和数据访问方式的多样化而不再有效。现实情况是,企业应用一部分在办公楼里,一部分在云端——分布各地的雇员、合作伙伴和客户通过各种各样的设备访问云端应用。
零信任安全就是在这样的背景下诞生的,其目的是基于身份和访问控制从0构建企业新的逻辑边界。
(二)零信任模型
零信任安全最早由著名研究机构Forrester的首席分析师约翰.金德维格在2010年提出。零信任安全针对传统边界安全架构思想进行了重新评估和审视,并对安全架构思路给出了新的建议。
其核心思想是,默认情况下不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础。诸如IP地址、主机、地理位置、所处网络等均不能作为可信的凭证。零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化”走向“身份中心化”,其本质诉求是以身份为中心进行访问控制。
在Evan Gilman《零信任网络》一书中,零信任网络被描述为建立在以下五个基本断言上:
1. 应该始终假设网络充满威胁。
2. 外部和内部威胁每时每刻都充斥着网络。
3. 不能仅仅依靠网络位置来建立信任关系。
4. 所有设备、用户和网络流量都应该被认证和授权。
5. 访问控制策略应该是动态的基于尽量多的数据源进行计算和评估。
由此可以看出,零信任的理念,已经从边界模型“信任但验证”转换到“从不信任,始终验证”的模式。
根据以上五个断言,零信任模型被认为遵守以下4个基本原则:
1. 验证用户:基于位置、设备和行为来评估用户安全情况,确定用户是否是其所声称的身份。采取恰当的措施(比如多因子身份验证)来确保用户真实性。
2. 验证设备:无论是公司设备、BYOD还是公共主机、笔记本电脑或移动设备,基于设备身份和安全情况实施访问控制策略。只允许受信终端访问公司的资源。
3. 限制访问与权限:如果用户和设备通过了验证,对资源实施基于角色的访问控制模型,赋予其仅供完成当次工作的最小权限。
4. 自适应:各类源(比如用户、其设备、与之相关的所有活动)总在不断产生信息。利用机器学习来设置上下文相关访问策略,自动调整并适应策略。
(三)零信任解决的问题层次
根据攻击者威胁模型,可以按攻击者的能力由弱到强划分为五类:
1. 乐观攻击者(Opportunistic attackers),即脚本小子。
2. 针对性攻击者(Targeted attackers),能够向特定目标发起针对性攻击,如鱼叉式钓鱼、商业间谍。
3. 内部威胁(Insider threats),拥有访问凭证的日常系统用户。如承包商、没有特权的员工。
4. 可信的内部人员(Trusted insider),如高度可信的系统管理员。
5. 国家级角色(State-level actor),受国外、国内政府支持,拥有巨大的资源和定位能力,如APT。
防范APT攻击一般要求在同等级别进行对抗,任何单一的企业,无论是资源还是技术能力,都无法比肩专业的APT组织,一般的企业可以不考虑。除此以外,零信任网络致力缓解包含可信内部人员在内的其他四类攻击者(恶意或是无心),而现有的边界模型只关注乐观攻击者和针对性攻击者此类外部威胁。
(四)实施零信任的关键技术与难点
首先是建立资产清单库,至少包括用户清单库、设备清单库。且能够根据企业组织架构调整、人员变动、设备丢失等情况对资产进行生命周期管理,且动态维护相关联的属性特征。如人员职级、角色,设备证书状态、设备是否安装了最新的补丁等。
身份认证可以对现有技术进行融合,如多因子身份验证(MFA)、可信身份认证(FIDO)、身份与访问管理(IAM)、SSO等。
零信任要求细粒度的访问控制,如基于单一请求的服务级别的访问控制。这里的要点有两个:a)每次请求都必须要求访问控制策略;b)一次请求是由众多不同的服务(最小逻辑单元)共同完成的,访问控制策略的粒度必须到服务级别,而不能仅停留在请求级别(url或method)上。
配置管理,用于维护资产、策略等,且有利于自动化。如Chef,Puppet等。
内网流量也要求全部加密。通过TLS、IPSec等技术创建安全通道,并通过PKI/CA/X.509等基础设施实现流量的保密性和完整性。同时,所有流量必须被记录和监控。
自学习、自适应的动态模型。利用机器学习,通过用户及实体行为分析(UEBA)识别异常行为等。
除了技术方面,人的观念转变和高层支持更加重要。否则,零信任根本难以起步。
(五)案例之BeyondCorp
作为零信任网络的先行者,谷歌花了6年时间才从其VPN和特权网络访问模式迁移到BeyondCorp零信任环境。期间谷歌不得不重新定义和调整其职位角色及分类,建立起全新的主控库存服务以跟踪设备,并重新设计用户身份验证及访问控制策略。从2014年起,Google连续在《;login:》杂志上发表了6篇BeyondCorp相关的论文,全面介绍BeyondCorp和Google从2011年至今的实施经验。
Google将BeyondCorp项目的目标设定为“让所有Google员工从不受信任的网络中不接入VPN就能顺利工作”。在这个新方案中,Google平等对待位于外部公共网络和本地网络的设备,在默认情况下都不会授予任何特权。用户必须:1)使用由公司提供且持续管理的设备,2)通过身份认证,3)符合访问控制引擎中的策略要求4)通过专门的访问代理5)访问特定的、允许的公司内部资源。
上图中,Device Inventory Database负责维护设备信息,对设备进行生命周期管理;User/Group Database对用户管理并进行分组。无论所处什么类型的网络(Public or Unprivileged),所有用户通过任何设备访问内部资源,都必须经过Access Proxy,由其代理请求。Access Proxy拥有全局可达(global reachability,也称end-to-end reachability)、TLS处理、负载均衡、认证、访问控制、集中日志记录、应用健康检查、拒绝服务保护等功能。其中,用户认证由SSO完成,基于请求的服务级别的细粒度访问控制由Access Proxy内部的Access Control Engine完成。Access Control Engine根据Pipeline汇聚的用户信息、用户所属组、设备信息、设备证书以及Trust Inference综合不同数据源动态推导的用户、设备信任等级作出是否授权本次访问请求的最终决定。
参考材料
如何打造一个“零信任”网络:
https://www.aqniu.com/learn/36127.html
“零信任”安全架构将成为网络安全流行框架之一:
https://www.aqniu.com/learn/31075.html
摒弃信任验证模式 走向零信任安全:
https://www.aqniu.com/learn/32620.html
零信任安全的4W1H:
https://mp.weixin.qq.com/s/yBzdo9qHacTajQFNpmjvpQ
谷歌的零信任安全架构实践:
https://www.secrss.com/articles/627
六篇BeyondCorp系列论文:
https://www.usenix.org/publications/login/
《Zero Trust Networks: Building Secure Systems in Untrusted Networks》