前言
迄今为止,绝大多数企业都还是以防火墙为基础划分出企业内网和公众网络的边界,并基于此构建安全体
系。出差员工或者分支机构通过VP接入企业内网。Google公司在2011年之前也是如此。正是2009年
的APT攻击“极光行动”推动Google重新搭建整体安全架构,从而诞生了BeyondCorp项目。
美创安全实验室将通过本篇文章也是零信任技术系列第三篇文章带大家了解一下如何通过我们所熟知的安
全思维来看待零信任网络的落地过程,进而我们重新探讨一下零信任网络架构模型。
零信任网络主要解决的场景
①在不需要VP或DMZ的情况下向生态合作伙伴(例如分销渠道,供应商,承包商或零售店)开放应
用程序和服务。访问与应用程序和服务紧密相连。
②
③
④
⑤
⑥
ZTA消除了在公司网络内外访问企业应用的区别,让用户体验标准化。
在运营商或云厂商不受信任的情况下,将加密一直进行到端点。
为
IT
承包商和远程或移动办公的员工提供特定应用的访问,这可以替代基于
VP
的访问。
在企业并购期间将访问权限扩展到收购组织,无需配置站点到站点的VP和防火墙规则。
通过对强身份认证和端点保护来减少或消除潜在危险区域访问的风险,以允许该危险区域的用户与应
用程序和数据进行交互。
⑦
⑧
在网络或云中隔离高价值的企业应用程序,减少来自内部的威胁并使管理访问权限分离。
ZTA
可以在个人设备上对用户进行身份验证
-
通过降低全面管理要求和允许更安全的应用直接访问,
提高安全性并简化
BYOD
的程序
⑨
⑩
在IoT(物联网)网段上创建安全的物联网设备或基于虚拟设备的连接器。
可以将系统在不安全网络中隐藏,例如:因协作需求而要向公网开放的系统。
三种安全思维模型
思维模型一:
CIATriad
原则
我们先来看一个比较简单的思维模型,CIATriad原则就是一切的攻防手段都是围绕着保密性(C)、完整性
(I)、可用性(A)三原则展开的。
保密性:【保密性实际上是它的本质就是信息越界】这个边界实际上是有两类:一:时间边界;二:空间
边界。时间边界就是说还没到那个时间点,他提前给放出来。比方说我们说高考试卷,每年的高考语文试
卷不到
6
月
7
号上午
9
点,九点之前你弄出来了,这就是一个重大的泄密。再说空间边界,这个信息从你
的内网跑到外网去了,从本来是只能张三李四知道是变成了王五知道。这就是一个跨越了空间的边界,信
息它跨越了非授权、非受控的空间边界,它就是一种信息的泄密,保密性遭受破坏。
完整性:【完整性是指信息的它原本的状态,系统的原本的结构和组成】如果说这信息它原本的状态发生
了变化,它比方说从
1
变成了
2
,它的组成是从无到有或是结构要素的位置发生了变化、或比例发生了变
化,这导致了完整性遭受破坏。
可用性:这一点比较好理解,就是【我需要的时候,这个系统或信息能够去在合理的时间之内获得,就是
可用性】这就是所谓的我们说的CIA这个模型上,CIA定义的有DAD模型,所有的这些工坊都是围绕CIA
展开的,后面我会我们会看到CIA是怎么来运用。
思维模型二:访问控制模型
下面我们再来看这个访问控制模型,就是一切的控制手段,都是围绕主体、客体、信息流三个要素展开。
证信息(比如密码):这个模型当中,发起访问的一方就是访问主体,被访问的那方就叫做客体。整个访
问就会产生信息流。在任何一个访问控制系统中,都包含以下四个行为:
身份标示:访问主体在一个确定边界的系统范围被给予唯一的标示,解决你是谁的问题;
身份验证:对访问主体需要做基本的身份验证,解决你宣称就是谁的问题。
授权:用户身份验证通过后,需要确定用户可以访问哪些资源,以及对资源进行怎样的操作(读、写、删
除等)。解决用户能做什么的问题。
审计:对用户的访问行为都记录在案,以备事后追责或改进系统。
非常复杂的访问控制系统都是在此基础上构建的。这一切的手段,都是围绕着主体、客体和信息流三个基
本要素以及身份标示、身份认证、授权和审计四个行为展开的。
思维模型三:边界与隔离模型
边界和隔离是安全防御的第一手段;
与美国边界的隔离墙。无论是我们所说远古的长城还是到现在的墨西哥和美国边境之间的隔离墙,边界和
隔离都是非常有效的一种最古老、最朴素的技术手段,到现在还在运用。划定边界,以界隔离,大道至简。
接下来看一个相对来说比较复杂的一个事情。用安全思维模型来分析它,是否可以帮助我们更清楚地去看
明白?
安全思维模型,解读谷歌零信任安全体系
下面就要用安全思维模型来分析零信任安全体系,只从纯技术角度去分析零信任安全体系,不谈零信任安
全体系的部署和实施,也不谈实现零信任安全防护体系的产品节奏。也即抛开运营视角和产品视角,只从
安全设计的视角去看零信任安全体系。
对于复杂问题,我们一般会依照定义问题、模块思维和问题解构三个相互依赖、彼此促进的方法。定义问
题给问题解构和模块思维输出问题的边界;问题解构给定义问题和模块思维输出问题拆分的结果;模块思
维给定义问题和问题解构输出模块参考。这三者一般先从定义问题开始,但是也不存在绝对的先后关系。
讲了这样一种方法之后,接下来我们回来零信任体系。首先定义问题,设置问题的边界:任何时间任何位
置,设备和用户都是不可信任的,只有经过安全状态检测的设备以及使用该设备且经过身份验证的用户才
可以依照企业既定的安全策略访问企业的资源。这个问题定义其实基于以下几个重要的安全假设:
1、设备存在未公开的漏洞;
2
、设备存在已知漏洞但是没有及时打上补丁;
3
、人可能会犯错误,导致帐号、密码等敏感信息丢失;
基于这三个重要的假设,我们接下来看整个零信任安全体系,它可能够适用的安全思维模型有:
1、CIATriad原则;
2、访问控制的三要素模型;3、边界与隔离安全模型;
初步的问题解构可以把问题拆成以下三个:
1、设备与用户的身份定义以及安全状态感知;
2、业务系统访问(层级/角)分解;
3
、访问控制引擎不过绕过;
可以看得出来,零信任安全架构体系主要是跟访问控制模型相关。下面我们就套用访问控制模型来解读零
信息安全架构。
访问主体包括设备和用户,不再是以前单纯只看用户。访问主体涉及两个基本问题,一个是身份标示和身
份认证。唯一的身份标示意味着需要设备和用户注册并持续维护着设备清单库和用户/组数据库;
BeyondCorp项目中,使用公钥证书唯一标示设备身份,用户使用唯一身份ID来标示身份,在Google所
有服务上都使用这唯一id。设备的身份认证通过自身私钥签发数字签名,由对端系统(访问代理)利用设
的身份证书验证其签名来验证设备的身份。用户的身份认证可以根据要求,进行一次身份认证甚至二次身
份认证。
访问客体包括
所有的业务服务器,比如代码库,
Bug
追踪库等。访问主体与客体是边界隔离的,用
户不可直接访问这些资源;
接下来是访问授权。授权相对是最复杂的地方,基本上看三个要素,访问主体的属性和操作,访问客体的
属性以及授权策略。另外,访问授权暗含的要求是所有的访问都必须经过访问控制器授权之后才可以访问
应用系统或其它资源,这意味着访问授权控制是不可被绕过的。复杂的授权可以基于这三个要素构建细粒
度的、动态的授权机制。如下图所示。
BeyondCorp