假设漏洞、零信任与安全优先的思维模式
传统的安全方法是防止入侵。最重要的措施包括:
-
信任层次:内部网络被视为安全的,并通过防火墙保护。只有公司拥有的设备和虚拟私人网络(VPN)隧道才能访问该网络。公共互联网不被信任——而在其之间则是被称为“非军事区”(DMZ)的区域。
-
风险分析:进行威胁建模的风险分析。
-
安全审查:由安全专家进行架构和代码审查。
-
安全测试:带有特定范围的外部安全测试。
然而,在“防止入侵”的方法下,基本无法回答公司是否已经受到攻击的问题。
2012年,美国国家安全局(NSA)和中央情报局(CIA)前局长迈克尔·海登将军在一次采访中表示:“从根本上讲,如果有人想进入,他们就能进入……接受这一点。”
这就是“假设已被入侵”范式的基础:你很可能已经在遭受攻击,无论你是否知道。始终假设你已经被入侵。这种思维方式暴露了“防止入侵”方法中的漏洞。如何做到以下几点?
-
检测攻击和渗透?
-
响应攻击?
-
从数据泄露或篡改中恢复?
这转变了安全措施的方向,并加入了全新的关注点。采用“假设已被入侵”范式时,你需要以下措施:
-
中央安全监控或安全信息与事件管理(SIEM)系统来检测异常。
-
持续的在线站点测试以验证你的事件响应(IR)能力(如火灾演习)。
-
战争游戏(红队-蓝队模拟)用于检测漏洞、提高意识、学习像攻击者一样思考,并训练你的响应能力。
-
在线站点渗透测试:复杂的攻击模拟,包括钓鱼、社交工程和物理安全测试。
-
不信任任何身份和设备,即使它们在你的网络中(零信任)。
如果你的安全主要依赖于层次结构,一旦黑客通过钓鱼、社交工程或物理攻击进入你的网络,他们将能够轻松前进。在一个受信任的网络中,你通常会发现未保护的文件共享、没有 SSL 保护的未打补丁的服务器、弱密码和大多数系统中的单因素身份验证(SFA)。在以云为先的世界中,这完全没有意义。
通过对你的服务实施零信任访问,你始终验证身份——例如,通过多因素身份验证(MFA),验证设备、访问权限和交易中涉及的服务。图13.3展示了如何为你的服务实现零信任访问:

如果你在公司使用软件即服务(SaaS)云服务,你可能已经熟悉零信任。你必须通过MFA进行身份验证,但可以信任你的浏览器和设备,以便获得更多便利。如果你旅行,你会收到通知或需要批准来自不寻常地点的登录尝试。如果你安装第三方应用,你必须授予这些应用访问信息的权限,而且你可能无法从公共、不受信任的设备访问高度机密的信息。
零信任意味着将相同的原则应用于所有服务,无论你是否从内部网络访问它们。