前端安全沙箱技术会不会成为安全的标配?
2010 年,Forrester Research 分析师 John Kindervag 提出了著名的零信任理念——“永不信任,始终验证”,随即这种创新性安全理念火遍全球,被认为是行业颠覆性创新理念,必将引领下一代网络信息安全行业。
在传统的 IT 安全模型中,一个组织的安全防护像是一座城堡,由一条代表网络的护城河守护着。在这样的设置中,很难从网络外部访问组织的资源。同时,默认情况下,网络内的每个人都被认为是可信的。然而,这种方法的问题在于,一旦攻击者获得对网络的访问权,并因此默认受到信任,那么组织的所有资源都面临着被攻击的风险。
相比之下,零信任基于这样一种信念:企业不应该自动地信任其边界内或外部的任何东西,而是在授予访问权限之前,对试图连接到 IT 系统的任何人和东西进行验证。 从本质上讲,零信任安全不仅承认网络内部和外部都存在威胁,而且还假定攻击是不可避免的(或可能已经发生)。因此,它会持续监控恶意活动,并限制用户只能访问完成工作所需的内容。这有效地防止了用户(包括潜在的攻击者)在网络中横向移动并访问任何不受限制的数据。
简而言之,零信任的原则就是“在经过验证之前不要信任任何人。”
事实上,零信任作为一种先进的安全技术理念,已经火了十几年了。零信任并没有创造和发明新技术,而是以新的思维方式和安全范式,融合已有的安全产品、技术和手段,对现有的安全防御体系进行全新升级,在不可信的环境中,以兼顾安全和体验的方式实现资源的可信任访问,提升整体安全防护能力和效果。
一个理念从产生到演进,从有规范标准到产品化,从落地尝试到大范围推广是有路径的,零信任的路径大概是这样的:
2004 年耶利哥论坛上提出无边界化的网络安全理念;
2010 年 Forrester Research 的分析师 John Kindervag 正式提出零信任网络模型;
到后面谷歌的实践提炼为论文对外发布,CSA(云安全联盟)提出 SDP 规范。随后,国内外安全公司纷纷推出零信任解决方案和产品,大型互联网企业开始自建和实践零信任架构;
到 2020 年,受美国政府和军方委托,NIST(美国国家标准与技术研究院)在连续推出了《SP800-207:Zero Trust Architecture》 两个版本草案后发布正式版本,几乎囊括了所有前人成功经验和优秀设计,在业界受到广泛的认可,成为了事实上的标准;
进入 2021 年,国内零信任市场迸发了火热的需求并呈现井喷之势。
不管是个人、企业、还是协会,都不断推出基于零信任理念的方案,今天为大家介绍安全沙箱技术在零信任领域的实践案例。
安全运行沙箱类技术的崛起
虚拟世界的“恶意”代码,也只能用虚拟的“牢笼”去“关住”它。安全沙箱(Security Sandbox),就是这么一种数字牢笼,它的形态和技术实现方式有很多种,本质上它是一种安全隔离机制,通过构建一个封闭的软件环境,隔离了它所在的“宿主”的资源包括内存、文件系统、网络等等的访问权限。运行在这个封闭环境中的进程,其代码不受信任,进程不能因为其自身的稳定性导致沙箱的崩溃从而影响宿主系统,进程也无法突破沙箱的安全管控以读写宿主系统的资源。
沙箱类技术以各种形态出现:在 BSD 等操作系统里就提供直接叫做“Jail”的虚拟化隔离;在 JVM 里为了支持 Java Applet 这里网络加载的代码的运行,实现了 sandbox 机制;浏览器里的 HTML 渲染引擎,一定程度上也可以视为一种在用户态的基于安全能力模型(Capability-based)的沙箱技术。
FinClip:前端安全沙箱技术
FinClip是一种新型的轻应用技术,在 FinClip 安全沙箱中运行的轻应用,选择了兼容互联网主流的小程序规范。这是一个非常明智的设计,FinClip 的开发团队没有重新发明自己的技术规格,而是全力支持小程序这种形态的轻应用,一方面是因为小程序类技术的体验和效果在互联网上得到充分验证、获得巨大成功,另一方面是网上积累了丰富的技术生态、开发框架、以及更重要的 - 人才资源,从而让企业 IT 几乎是无缝掌握这个技术,能迅速投入应用。
FinClip 的嵌入式安全沙箱,又被称之为小程序容器,它的本质其实是建立在 Security Capability model 基础上的浏览器内核的扩展,其沙箱的特点,体现在三个方面:
1、沙箱内小程序之间的隔离。
2、沙箱对运行其中的小程序代码,隔离其对宿主环境的资源访问。以一家银行与它的合作生态为例,银行在自己的 App 上引入了衣食住行各类消费场景的小程序,这些小程序均非本行开发,也不能访问到当前宿主 App 的任何数据资源。
3、沙箱隔离了宿主对于沙箱中运行的小程序所产生的数据。以一家银行与一家券商的合作为例,券商把自己的业务小程序投放到银行的 App 中,银行 App 作为宿主,并不能访问沙箱内部该小程序的运行数据(当然,这是需要有一定的行业规范、监管政策去约束,但技术上首先是完全可能)。
换句话说,FinClip 试图构建一个 Zero Trust(“零信任”)环境,不管小程序的“供应商”是谁,它们的代码都被隔离、同时也被保护在沙箱环境中。
FinClip安全沙箱还配备了云端的管控后台,让任何小程序可以被关联到指定的 App 宿主所嵌的沙箱实例中,从而能且仅能运行在某一款 App 或者某一个终端上。像互联网小程序一样,FinClip 的小程序也可以被实时上下架,对于金融机构来说,起到“实时风控”的效果,因为上下架的管理工具和权限,都由企业私有化运行、自行负责。任何有潜在安全风险的前端代码,一经发现即可瞬间下架,用户端再也无法打开使用。
这些安全管控的能力,可以说是企业尤其是金融机构数字化转型所必须。对于企业而言,内部 IT、外部合作伙伴,均可以作为“供应商”以小程序方式实现、提供数字化场景,从而形成数字生态。
安全沙箱技术的采用,不失为一个短期见效的治标方案,相信早晚会成为企业数字技术安全的标配。但是长远的治本,需要更加综合的策略!对于企业来说建立 zero trust 的原则和架构理念,利用 Capability-based 的安全沙箱技术,去隔离运行企业内外来源于 IT、开发商和商业合作伙伴的代码,是一个无需再等、值得马上开始的尝试。
版权声明: 本文为 InfoQ 作者【Onegun】的原创文章。
原文链接:【http://xie.infoq.cn/article/20fb794a21990945db873cd93】。文章转载请联系作者。
评论