第一篇《零信任架构实战远程办公》发出去后,感谢大家的转发,有了1w+阅读量,也激励了从单篇文章改为系列文章的想法,也希望借此对社区做些回馈。
上篇文章发出去后,在君哥运营的金融企业安全建设实践群里引发过一些零信任和传统安全的区别,是否有价值的讨论,以及什么场景可以选择零信任架构?因此先用这篇文章把传统安全模型和零信任做些具体分析,然后再展开后续内容。
01
传统安全模型优缺点
(1)边界安全模型历史
在internet发展初期80年代时,各大学校纷纷接入internet,在87年时接入节点数已达数万,这个期间有第一届TCP/IP 协议会议召开,也有第一封中国发出的email,还有第一次的网络蠕虫事件让当时1/10的节点受到影响。
受蠕虫事件影响,在1988促使DARPA成立了CERT(计算机危机快速响应小组)来应对网络安全事件,而在89年Clifford Stoll完成了布谷鸟的蛋一书,详细讲述了德国密码破译小组通过网络入侵到美国的计算机设施中的真实故事。
1989年随着第一个包过滤防火墙面世,也正式拉开了长达数十年的边界防御安全模型思想,之后虽然防火墙一直在迭代更新,架构也在更新,但本质核心思想并没有离开。
(2)边界安全模型优点
防火墙的诞生是来自很质朴的思想,即外部发生威胁(火灾)时,通过防火墙快速切断威胁保护内部安全,也就是说它的思想核心在于边界的阻断,如下图:
(图1)边界安全模型图
在该模型中,将网络划分为不可信(untrust)和可信(trust)两个区域,记得直到2000年初期,我配置过的一些防火墙接口还是以此为区分。在这个安全思想下,安全是基于网络的位置来定义的。用防火墙或网络设备上ACL将网络切分边界,进行隔离,从不可信网络进入到可信网络的数据包,要经过防火墙的检查,规则允许下才会被放行。
这类方式在初期的时候是有效的,因为当时的网络规模不大,业务也不复杂,很好的阻断了蠕虫类攻击传播和一些未授权的访问,总的来说有以下优点:
简单可靠:结构简单没有复杂的架构,网络规划实施后,可以保持相当长时间的稳定运行;
规则清晰:根据防火墙类型,基于IP或5元组规则,允许、还是拒绝,清晰明了;
阻断彻底:基于网络层的阻断,规则明确后,可以彻底防止被阻断的流量进入网络中,实现彻底的阻拦;
业务侵入低:业务不用做过多改造,除非规则配置错误,多数情况下业务是无感的。
(3)边界安全模型的缺点
但随着时代的发展,网络节点数量爆发式增长,各类新的应用也不断涌现,对网络规则的管理成本已经越来越高,而攻击已经发展出各式各样的攻击模式出来,可以轻松越过安全边界,如下图:
(图2)边界安全模型风险
在攻击过程中,黑客可以通过邮件等方式将病毒、蠕虫或后门以正常的业务通道,绕过防火墙的检测投递到trust网络中,或是以物理潜入方式、WIFI接入等方式绕过边界的防火墙控制,直接在内部发起进攻。
即便随着边界安全模型产品的升级,例如防毒墙、WAF、下一代防火墙加入对协议内容的检测,依然无法有效阻止安全攻击。
这是因为传统的边界安全模型重点在于边界的防护,对已经通过边界的行为防御能力有限,再加上安全管理常常外紧内松,疏于内部安全管理,因此黑客一旦进入到内部后攻击难度大幅降低。传统安全模型主要的缺点有:
无法防御内部攻击:内部的攻击,横向移动在传统的边界安全模型中难以被检测到,更加难以被防护;
边界防御容易被绕过:边界防护中,基于网络层的ACL过于粗放,对于混杂在正常业务中的恶意行为,C2难以检测,并且随着全局加密趋势,检测能力被进一步削弱;
安全检测容易有盲点:边界安全模型难以完整的全面检测,无法还原所有的轨迹,导致安全检测很容易出现盲点,因为数据的缺失又会进一步影响检测的质量。
02
零信任安全模型优缺点
(1)零信任架构历史
在上面的攻防过程中,传统安全模型也在不断的自我发展,例如纵深防护理念,通过多点防护,多点检测,利用纵深空间来换取检测时间。
在对抗过程中,零信任安全模型也被演化出来,2010年的Forrester发布的Zero trust architecture,即是通过将网络尽可能的微分段,在网关处设置流量分析等检测能力,来加强防护,以及检测效率。关于Forrester的零信任架构可以参看原文,或是我上一篇:零信任架构实战远程办公,不再过多叙述。
而Google在2009年遭受过极光行动等安全事件后也意识到,传统的安全模型并不能保护企业安全,纵深防御理念虽然最终目标是可以检出事件,但主动防御能力不够,对高价值资产攻击一旦成功后,损失是难以接受的。
在此背景下Google启动了beyond corp 项目,并在2014年发布了相关项目白皮书,应该也是业界第一个真正落地零信任理念的公司,也是我们的主要参考对象,本文后续也以beyondcorp为案例进行分析。
(2)零信任架构的优点
在该模型下,Google屏弃了传统边界安全模型思想,将安全思想转入到信任关系的建立上,即安全的可信链路的建立,从终端设备通电开始,从硬件底层开始,信任链条就开始逐层向上建立,一步步直到对最终资源的访问。
而传统的边界安全模型中,信任其实是来自对你网络地址的识别,即你IP代表你的身份,IP可信你就是可信的,你的环境是否安全并不是它考虑对象。
(图3)beyond corp project架构
在新的模型下,上层的信任关系是来自人、设备、资源权限的关系,下层有设备加电后芯片级的校验、、系统完整性校验,通过TPM对到上层设备的校验,横向过程还有后端服务之间的可信校验,以及零信任强调的(never trust, always verify)理念。
(图4)零信任架构安全模型
在零信任架构下,传统的边界已经不在重要,即便你在内网同样也是处于“不可信”状态,每一次对资源的访问,都会要经过信任关系的校验和建立,即内外是一致的策略。
安全是建立在信任链之上,如果信任链被打破,那么对资源的访问权限则被自动取消。在这个模型下,有几个显著的优点:
安全可靠性更高:因为链条的信任关系是环环相扣,因此中间发生任何异常变化,会更容易被发现被检测到;
攻击难度大:信任链条是多维度组成,例如对用户的信任是通过生物校验和多因素认证,对设备的信任是通过主机准人关系,基线状态,运行状态判断,而维度越多,黑客要攻击的成本就越高,从而入侵的难度也就越大;
持续校验,从不信任:每一次对资源的请求,都是一次重新校验的过程,安全的状态是动态,因此检测也是动态持续发生,这样如果产生了异常,可以迅速感知并阻断;
除此外还有一些全链路分析、集中管控,资产容易管理,包括远程办公等等优点,但这些并不是架构核心优点,因此不再过多描述。
(3)零信任缺点
听起来挺美好的,那么零信任架构是不是完美的?
一直以来我有一个观点,即试图用一个方案解决安全风险时,一定会带来新的风险,这个方案的好坏,很大程度是依赖这个新风险是否可接受。
用人话来说,就是你引入一个新的安全方案的时候,一定会带来新的风险,而对新的风险是否能接受,它是否可控,是决定你这个方案是否可行的关键因素。
所以零信任架构必然也是有它的风险,并且风险不能有效管理,可能会带来更大的问题。在我看来零信任架构有几个缺点:
单点风险:因为对资源的控制都集中在网关上了,因此一旦单点故障会导致整个业务中断;
集中化权限风险:零信任架构实时上是把很多风险收敛给集中起来了,但并非这个风险就不存在了,比如集中化管理中,如果管理失控了会带更大风险;
复杂化风险:因为整个架构涉及多个组件,足够复杂,容易出现业务异常后问题不能及时发现和处理,以及出现业务有任何问题,都是你的责任的情况;
凭证风险:为了平衡用户体验,一般零信任架构都会内置SSO功能,这样对于身份的凭证安全、或是注册设备的凭证安全问题、这些凭证的风险都可能会破坏信任体系;
投资风险:从我们整个周期来看,零信任架构建设周期比一般架构体系要来的长,这样可能会出现项目未完工,人已经走了的情况,后续接手的人是否还认可这个理念,是否要会从头来过,这些都是建设过程的风险。
03
和传统安全模型的对比
如果将两者放到一起,就会发现,优缺点是有显著区别的,比如传统安全模型结构简单,但零信任架构复杂,可是安全防护能力强,如下表:
传统模型
零信任模型
优点
1.简单可靠
2.规则清晰
3.阻断更彻底
4.业务侵入低
1.安全可靠性更高
2.攻击难度大
3.持续校验,从不信任
缺点
1.无法防御内部攻击
2.边界容易绕过
1.单点风险
2.集中化风险
3.复杂化风险
4.凭证风险
5.投入风险
04
零信任架构的选择
快到尾声了,这个时候可以试图去探讨下,也就是文章开头的问题,什么样的场景是需要零信任架构的,我个人看法如下:
(1)建议上的场景
有高价值资产:这个应该是所有选择零信任架构的前提,只有资产有价值,需要保护才需要安全的大力投入;
业务严重依赖网络:如果你的业务严重依赖网络,有从内部被恶意破坏的可能,内部控制又很混乱,这种需求可以通过零信任来收敛权限降低风险;
需要防范内部:如果内部是要作为不可信源来进行防护,那么可以考虑零信任架构,因为它对内部权限,身份的识别以及管控会更加严格,可以全程回溯;
是APT的目标:如果有被针对性的长期攻击风险,可以考虑上零信任来加强安全防护能力,抵御攻击;
有钱有资源:土豪还有什么好说的,高大上的统统来就好,这样的公司让我们做朋友就好了!
(2)可以不用上的场景
为了远程办公:第一篇零信任远程办公文章发出去后,很多人找我咨询,因为疫情,公司需要远程办公,看了我的文章后考虑上零信任来解决远程办公需求,这里面其实有两个误区:
疫情不是常态,社会秩序必然会尽快恢复正常,为了一次性偶发场景是否要大成本投入需要衡量;
很多公司并没有很强的安全需求,用VPN已经可以很好的解决办公需求了,有安全需求的通过VPN+云桌面等扩展方案,同样兼顾安全,如果是这类需求其实也可以衡量下成本;
追求新架构和新趋势:好的安全方案应该是贴合自己的场景去设计,新的不一定适合自己,追寻新趋势同时也意味着会引入不可预料的风险,因此追新不应该为优先原因;
(3)不要去上的场景
成本投入不足:零信任架构会需要改变公司的IT基础架构,改变业务,不管是技术还是管理都需要很大的改变,如果不能坚持长期投入,比如自研方式可能做到一半人走了,商采部署的方案到一半预算就被砍了,到时都会让公司利益受损;
运营能力不足:如上个章节所说,零信任其实会引入一些新的风险,比如集中化管控带来的安全内部的风险,单点故障风险,运营人员被入侵控制的风险,都会因为零信任架构的集中化模式,大大方便了黑客,所以缺乏好的运营和管理会导致更大的风险,而安全运营能力的建设,悲观的看很多公司并不具备好的运营能力。
05
结束语
这篇可能作为零信任实战系列的开篇文章会比较好,但因为整个零信任架构相对庞大,后续的文章,我会根据反馈的问题,参考大家关注点做排序,因此不一定是线性来写,但尽量会一篇文章说明一个或多个问题或是观点。
另外对于零信任并不会太过多去参考一些“标准”,实际在建设过程中也甚少参考,而是根据实际需求和场景结合资源来做,所以内容或是观点不一定是“标准”答案,大家可以带着辩证的态度去看,也欢迎找我探讨。
注:关于Google被APT触发了零信任项目等均为臆想与推断,并无内部一手消息。
参考:
互联网发展史 https://baike.baidu.com/item/互联网发展史/4635625
beyondcorp project研究论文 https://research.google.com/pubs/pub43231.html
历史文章
如果觉得文章对你有价值,关注、转发是最好的支持,谢谢支持,素质三连!
扫描二维码
持续更新中
小议安全