受当前疫情影响,远程办公需求不断增加,安全运营也面临新的挑战。在众多远程办公解决方案中,零信任网络架构脱颖而出,频频出现在大众眼前。
零信任不是产品或服务,当然也不仅仅是炒作的概念,顾名思义,零信任即信任度为零,也就是“永远不信任,永远要验证”。零信任架构会对设备、身份、流量、应用等多维信任因素动态评估,给出相应的访问控制策略,并确保赋予当次工作的最小权限。网上关于零信任网络资料颇多,本文对零信任理论不再赘述,主要从构建设备信任方面谈一些想法。
一、构建设备信任流程
要构建设备信任,首先得确保设备的初始安全,通过签发设备证书等技术给设备打上身份“标识”,并对设备和其属性进行编目管理,之后结合历史访问、网络位置和用户使用等多因素对设备持续评估,最终形成有效的设备信任体系。
二、设备初始安全
设备初始安全构建设备信任的第一个环节,对于新采购的设备,其信任度取决于采购者对生产厂商的和供应商的信任度。然而并不是所有新设备都是完全可信的,通过一些底层技术将非法代码植入到设备中完全有可能。同时为了方便调试的硬编码后门和硬软件漏洞都给设备初始可信度带来巨大挑战。
设备硬编码漏洞层出不穷
某路由设备留有端口后门,无需验证直接连接获取shell
存在于显卡中的恶意程序做到操作系统无关,再怎样重装都能可长期驻留
对所有新上线的设备作详细测试确实比较困难,且不一定达到预想效果。设备的初始安全还得依赖于生产商合规要求以及安全能力,在长期合作中建立信任,并对设备持续监控。
三、设备身份“标识”
设备身份化是零信任架构的重要特点,要验证设备有效性,首先需通过技术手段让设备可以向待访问的资源标识自己的身份,这种标识不能简单的使用设备的序列号、MAC地址等等,这些信息是很容易被仿冒的,但这些可作为辅助验证因素。设备标识的典型做法是利用密码技术通过私有CA为每台设备签发单独的设备证书,在访问时验证此证书。
通过签发和验证证书的方式识别设备,自然引入了密钥管理与安全存储,证书颁发与撤销等问题,尤其是私钥一旦被窃取直接影响认证方案的有效性。
2011年,荷兰 CA DigiNotar因签名服务器被黑失去信任而宣告破产,其证书被微软删除。
一种比较好的方式是使用硬件加密技术,即利用HSM(硬件安全模块)或TPM(可信平台模块)提供执行加密操作的安全区域,以保证私钥不会离开安全模块。TPM是具有加密功能的安全微控制器,可提供涉及加密密钥的基本安全功能。TPM一般包含自己的固件,可以将其视作一种特殊的单片机,使用FPGA实现是一种常见方式。TPM生成并存储根密钥对,使用公钥加密的数据必须通过TPM私钥解密,而解密过程只能在此TPM中完成。所以只要利用TPM公钥加密设备证书的私钥,就可以实现密钥安全存储,需要使用证书私钥时通过TPM私钥解密即可。
四、设备清单管理
设备清单管理就是对设备及其属性进行编目管理。首先对设备的界定需要有一个清醒的认识,就像梳理公司资产一样,尽量不要有所遗漏。比如虚拟机和容器也可作为“设备”清单中的一员,因为在使用中这些逻辑实体与真实设备别无二致,如果只关心流量和策略管理,无疑走回了边界防护的老路。 清单管理系统可以借鉴资产管理系统或配置管理软件,此类系统提供了数据收集模式范本,可以据此逐步构建清单管理系统。市面上的配置管理软件很多,比较流行的有Chef、Puppet、Ansible、CFEngine和Salt等。
chef会在运行的节点中收集主机名、IP、服务器类型等信息并存入后台数据库中。
五、设备评估维度
可作为设备信任评分的因素有很多,除了之前提到的序列号、MAC地址等静态信息,还可通过一些动态可变因素增强信任评分灵活性和有效性。
5.1 设备还原时间
虽然系统还原无法抵挡底层驻留攻击,但某种程度上可以认为原始镜像的大部分属性和数据是可信的。随着设备经过长时间的运行和暴露,其信任度也会逐渐降低。所以一般认为距离设备恢复点时间越近,设备的可信度也相对越高。
5.2 设备历史访问
设备访问资源的频率、时间以及请求资源的历史都可以作为信任评分的依据。对于很长一段时间没有出现的设备信任度显然要比经常出现的设备低。同样,考虑设备和资源的关联也是必要的,比如某台设备突然对一个新的资源发起访问,相比其尝试访问每周都会访问的资源来的“可疑”的多。有时访问频率也可以作为重要因素,比如某台设备对某个资源在过去一个月只访问数次,但近期却突然发起数百请求,这样显然不太合理。
5.3 设备网络位置
虽然在零信任模型中,网络位置已不再是认证判定的依赖因素,但仍可以将其作为信任评分一个维度。看起来两者有些矛盾,实则不然。分析设备的网络位置可以更好的发现风险,比如一台设备在某地发起授权请求,很短时间内又在相隔万里的位置发起请求,这种行为就比较可疑(所以使用代理会对设备信任度产生一定的影响)。但如果制定某条策略规定某应用只能在办公内网进行访问,这样以网络位置为绝对依据显然和零信任模型背道而驰。
5.4 设备通信模式
通信模式指设备对资源的访问一般会采取固有的习惯,并形成一种流量范式,这种范式的突然变化是可疑的,将直接影响系统对设备的信任度。通信模式的获得可能会结合网络监控和流量采集,但与构建流量信任所关注的重点不同,设备通信模式更关注通信的行为,而前者更关注流量本身。比如,发现某个服务器频繁请求跨洋主机的DNS,或是之前从未发起过SSH连接,近来却频繁发起SSH请求,这都提高设备可疑度,相应的降低了信任评分。
上述设备的评估维度可能在某些方面有所交叉,在具体检测时不必拘泥于该因素属于哪类,只需满足评估的具体需求即可。
六、信任持续评估
没有完美的安全,也没有永远的安全。对设备的持续评估充分体现了零信任架构可变信任的思想。持续监控设备配置修改、数据更新和运行状态,作为调整设备信任评分和访问控制策略的重要依据。
6.1 被动评估
被动评估可以基于硬件和软件。基于硬件评估更加可靠,但操作难度较大;基于软件的可靠性稍弱,但操作性强。 基于硬件的方法可利用TPM实现签名响应,其中包含硬件设备生成的当前系统状态和软件运行情况的哈希值。基于软件的方法比较容易,可利用杀软、EDR或CWPP充当代理收集设备状态信息。然而两种方法都有明显缺陷,如果攻击者可以运行未授权应用,或是具备足够的权限屏蔽这些代理,那整个度量机制也会随之失效,所以要与主动评估相结合。
可利用Meterpreter清理msf日志、关闭连接,清除痕迹
meterpreter > clearevmsf exploit(multi/handler) > sessions -K
6.2 主动评估
主动评估的优势在于从完全独立的外部系统出发,对内部设备进行健康度分析和度量,尤其当前攻击->提权->隐蔽消痕的组合拳已成为黑客默认操作,被控设备上报的信息可能已被篡改。主动评估可通过设备扫描实现,周期性对设备进行端口、漏洞扫描探测,并观察和分析响应结果。通过扫描分析可以发现设备是否存在漏洞或错误配置,还可综合运用多种检测手段发现潜在风险,从而影响设备的信任度。市面上有大量的开源或商业软件可用于扫描,包括Nessus、metasploit、APPscan、Acunetix、openVAS等等,这些软件已经比较成熟,也具备一定的使用规模。
值得注意的是,近期出现了许多基于Go的扫描套件,利用Go的并发优势作扫描可能会称为趋势。
与网络安全的纵深防御类似,单一静态的设备信任评估无法满足构建零信任网络要求,只有多层面多因素联动的动态方式才能更好的实现设备信任评估。关于零信任模型涉及的策略和技术内容广泛,笔者也是抛砖引玉,更多的内容期待与大家一起学习探讨。
参考资料
零信任理论《零信任网络:在不可信网络中构建安全系统》
密码学简史https://mp.weixin.qq.com/s/R26uTLwxu22BppkV59LlzA
TPM介绍https://blog.csdn.net/health747474/article/details/17732771
chef官网https://www.chef.io/