一、前期回顾
“美军网络安全”系列第一篇(美军网络安全 | 开篇:JIE(联合信息环境)概述)介绍了美军JIE(联合信息环境)的总体情况。其主要目标是实现“三个任意”的愿景——美军作战人员能够基于任意设备、在任意时间、在全球范围的任意地方获取所需信息,以满足联合作战的需求。
JIE的9大关键领域如下:1)网络现代化(网络规范化);2)网络安全体系架构(单一安全架构-SSA/CCA);3)身份和访问管理(IdAM);4)企业运营;5)企业服务;6)云计算;7)数据中心整合;8)任务伙伴环境(MPE);9)移动性。
本系列第二篇(美军网络安全 | 第2篇:JIE网络安全架构SSA(单一安全架构))介绍了网络安全体系架构,即单一安全架构(SSA/CCA),主要是从安全思想和理念层面描述。
本系列第三篇(美军网络安全 | 第3篇:JIE联合区域安全栈JRSS),从更落地的层面,介绍SSA的落地架构JRSS(联合区域安全栈)。
这一篇(也就是第四篇),将介绍SSA中关于跨域连接的解决方案——CDS(跨域解决方案)。它在JIE框架中的地位如下图所示:
我们曾经提到过,在下面的JIE框架图中,所有深红色部分都属于网络安全内容,即SSA(单一安全架构)涵盖的范畴。所以,CDS也属于SSA的内容。
如果没有CDS,美军不同密级的网络就不可能联通成“一张网”,更不可能实现美军“三个任意”的愿景了。
二、问题的起因
熟悉涉密网络的童鞋大都知道基本法则:涉密网络与互联网是不能直接或间接连接的,必须实行物理隔离。
这条法则,本来在国内和国外都是适用的。
不过,很早以前,美国、以色列的军方,就搞出了网闸产品,专门用来解决涉密网络与公共网络连接时的安全。网闸产品的学名,在美国叫做“跨域解决方案(CDS)”;在国内称为“安全隔离与信息交换产品”,顾名思义,是既要“隔离”又能“交换”。
但国内方面,一直是要求物理隔离,不存在信息交换。直到后来,电子政务的蓬勃发展,终于从铁板中撬开一条缝隙,允许“电子政务涉密信息系统和与互联网逻辑隔离的电子政务非涉密信息系统的单向导入”。如果觉得这句话理解起来费劲的话,看下图即可:
这条原则的确是一项重大突破,不过千万别忘了:在真正实施的时候,还需要相关部门审批,也就是大家谈之色变的“一事一议”了。这个“一事一议”,不知阻挡了多少有梦想的青年!
好了,至此已经引出我想解释的两个关键概念:物理隔离vs.逻辑隔离。
逻辑隔离:
物理隔离:
现在做道选择题:前面提到的“安全隔离与信息交换产品”名称中的“安全隔离”指的是逻辑隔离,还是物理隔离?
如果你回答的是物理隔离,就可以继续回答下一个问题:“安全隔离与信息交换产品”名称中的“信息交换”采用的是哪个层面的信息交换?IP层、传输层,还是应用层?为什么?
这里给出的安全隔离与信息交换系统的总体架构图,已经表明了答案:必须是应用层交换。
其本质原因在于:信息交换的层次越高,数据就越原始,其中隐藏的安全威胁就越少,相对来说就越安全。
当然,即便是剥离了应用层协议,剩下的应用层数据中,仍然可能包含恶意代码(如基于邮件内容的计算机病毒、基于Word文档格式的宏病毒等)或机密信息。所以,通常还需要对应用层数据执行恶意代码检测和数据防泄漏检测。如果能将应用数据中有格式的内容进一步原始化,并进行语义检查,然后在两个网路之间只交换这种数据,则安全性更佳。
下面给出了安全隔离与信息交换系统的系统架构图,包含了一个合格的网闸产品所应具备的所有功能模块,而且一个也不能少!
综上,“安全隔离与信息交换产品”的最本质要求是:最强化的隔离+最小化的交换。正是这种要求,使得这种产品成为最难搞的产品之一。
三、CDS概念和澄清
我们看看美国人是怎么定义网闸类产品的。
CDS(Cross Domain Solution,跨域解决方案):是一种受控接口,提供在不同安全域之间手动和/或自动访问和/或传输信息的能力。简言之,是在两个安全域之间运行的受控接口。
从这张图,可以看出:CDS和防火墙都是所谓的控制接口。只是单看前面的定义,真是看不出CDS和防火墙之间有何区别。
所以,我认为前面的CDS定义并没有准备反映CDS的特别之处。而国内很多人直接使用这个定义来界定CDS,自然就会把防火墙也框定到CDS的范畴中,产生了本系列第3篇末尾我提到的概念混乱问题。
下图这张图可以解释地清楚这一点:
如果还看不明白,美国人也直接给出了CDS与防火墙的对比:
结合前一节中给出的物理隔离和逻辑隔离的概念对比,现在可以确信:CDS就是指网闸类产品。
四、CDS是方案而非产品
刚才提到美军的CDS就是国人常说的网闸。但是,并不仅仅如此,美国人用他们的严谨性证明了CDS是一种解决方案,而不仅仅只是个产品。
简单地说,美军CDS并不是在功能上比我国网闸多些什么,而是说CDS根本就不和网闸在一个层面!他们早已跳出产品思维,而从解决方案的高度来看待跨域问题。
为了更有力地支撑我的观点,我搬出国内两个标准:
看出来没?旧标准中称为“隔离部件”,只是“部件”而已!连产品都算不上;2015年的新标准中总算改称为“隔离产品”了。
即便如此,这距离人家提的“解决方案”还是有不小的差距啊!
你不懂“解决方案”和“产品”的区别?好吧。让美国人用CDS教教你。
产品最大的特点是功能;方案最大的特点是场景。
美军首先一上来对场景进行了分类,定义了CDS的三种类别:
传输方案、访问方案、多级方案,分别对应下面左、中、右三张图:
老美大概觉得理论高度还不够,又整出下图,彻底解释了所有物理隔离场景的不同之处。其中,左上象限是我国最擅长的物理隔离场景,其它三个场景分别对应于CDS中的传输、访问、多级场景。
下面这张功能比较表就更牛了,我已经没法再做进一步解释了。
语言文字表达了一堆,可能还是不如一张网络部署图效果更好。老美在下图中把访问型、传输型CDS的区别展示得淋漓尽致:
老美进一步对访问型CDS和传输型CDS进行模型化。
访问型CDS架构:
传输型CDS架构:
对于这些模型的具体含义,我就不解释了,大家望图生义吧:
我相信你已经眼花缭乱了。其实每一张图都值得玩味~
五、CDS需要理论深度
上面简单讲了CDS的各种场景,一定程度上反映了广度。
其实,CDS可以毫不害羞地说:我也是很有内涵和深度的。
CDS确定了两种安全理论模型:MILS(多独立级别安全)和MLS(多级安全)。其中,访问CDS和传输CDS都属于MILS体系结构;多级CDS属于MLS体系结构。
1)MILS体系架构
MILS体系架构如下图所示:
图中,步骤1-6展示了MILS体系结构中从发送进程(A)到接收进程(B)的消息路径。
MILS体系结构:是专门为EAL 5-7认证而设计的一个系统,是一种可验证、安全的体系结构,用于在同一个高保障系统上执行不同的安全级过程。
guard(卫士)或mediator(传递者):是一个应用程序级消息过滤器,是MILS中间件安全组件的一个例子。
MILS体系结构提供两种类型的隔离:
分离内核(SK,separation kernel):是MILS的基本组成部分。SK将进程及其资源分离到称为分区的独立执行空间中。除非SK明确允许,否则在不同分区中运行的进程既不能通信,也不能推断彼此的存在。SK通过MILS消息路由(MMR)组件强制遵守信息流策略。
MILS消息路由(MMR,MILS message routing):如果系统策略允许通信,则在不同分区中的应用程序之间路由通信。否则,MMR将不允许分区之间的通信。
MILS体系结构通过内置于内核中的机制以及中间件组件,来实施系统范围内的信息控制策略,这些组件创建应用程序之间的授权通信路径。
卫士(guard)与MMR一起,强制执行详细的特定于协议的策略。MILS系统中支持的每个应用程序级协议都有一个卫士。如果卫士确定消息的内容不符合信息流策略,则卫士将通知MMR,MMR随后将禁止通信尝试或根据安全策略采取措施。
2)MLS(多级安全)体系架构
MLS(多级)CDS:不同于MILS体系结构,它将所有数据存储在一个域中。它使用可信标签和集成的强制访问控制(MAC)模式,根据用户凭据和权限分析数据,以验证读取权限和权限。可将MLS视为包含访问和传输能力的一站式CDS。
MLS优势:与其它CDS模型相比,多级(MLS)CDS可以大大降低访问和操作数据所需的过程,从而带来显著的性能优势。因为可信数据标记和域的合并,消除了内容检查、过滤、净化操作的需要。同步和复制错误也会消除,因为所有客户端都可以访问同一服务器。
MLS基础:MLS是基于强制访问控制(MAC)的。目前,两种被广泛使用的MAC强制访问控制安全模型是BLP模型和Biba模型。
BLP模型和Biba模型的原理示意图如下所示:
真正的强制访问控制操作系统并不多见。目前,SELinux(增强Linux操作系统)和PitBull(美国通用动力公司操作系统)是Linux内核唯一经过验证的强制访问控制系统。
正因为MLS架构必须基于强制访问控制操作系统,而这样的操作系统又屈指可数,所以,MLS的开发非常困难,而且成本高昂。
而且,MLS在获得资质认证之前必须进行严格的安全分析。即使有了可信计算基架构或参考监视器,也有太多东西需要评估。
相比之下,MILS体系结构的开发,将安全机制和关注点分离成可管理组件。这种分而治之的方法,以指数形式减少了安全系统的验证工作。从而避免了MLS系统认证的困难。
六、CDS服务化
美军一直有着非常强烈的安全服务化的思想,对于CDS也不例外。在CDS场景中,DISA的CDS企业服务被称为CDES(跨域企业服务)。
CDES(Cross Domain Enterprise Service,跨域企业服务):CDES通过实施、部署和提供CDS技术的生命周期支持,为作战指挥、军种和机构提供支持,这些CDS技术在整个国防部提供安全互操作能力。
任务:代表国防部各部门运行统一的CDS,开发强大的跨域部署能力。
愿景:在一个安全、统一的企业环境中,促进不同安全域之间的数据传输,为DOD和其他政府机构客户提供企业、企业托管、特定于任务的跨域服务。
作用:CDES促进了点对点CDS的整合,并提供了可移动媒体和人工跨域传输的自动化替代方案,降低了国防部信息网络的总体风险。
从下图中,我们还注意到:跨域访问过程的指标、警报、日志、流量收集等信息,都会收集并传送给国防部的态势感知系统中。这一点与本系列第二篇中描述的SSA(单一安全架构)与态势感知的关系是一致的。
七、美军跨域政策
美国国防部出台了专门的CDS政策文件,洋洋洒洒近60页。虽然我们已经全文翻译,也只打算摘录两页:
国防部政策:
国防部CDS连接流程图如下:
而且,一张详尽的CDS运行环境场景表也是必填的:
总之,美国国防部为CDS的认证、评估、实施、部署,配套设置了标准化的制度和流程,而且努力压缩评估周期,才使得CDS产品成为美军不同密级网络间联通的标准配置,而非“一事一议”。
八、美国CDS产品
说了这么多,大家应该相信:美军在CDS方面是做到家了。但如果不展示一下老美的CDS产品,大家还是很难想象它的品类有多么丰富。我就挑选几个吧:
1)通用动力公司(General Dynamics )多级安全产品
通用动力公司有非常完整的CDS产品线,包括传输、访问、多级CDS产品。如下图所示:
最有特色的是TNE(可信网络环境),它是经过UCDMO(国防部跨域办公室)认证的唯一MLS(多级安全)桌面企业解决方案。TNE多级安全产品线包括:
从TNE资源管理器的截图界面中,可以看出,资源管理器已经内置了密级标识,并且用各种颜色标识。很明显,红色都是高密级的对象。
可惜,到现在,我都没亲眼见过这种资源管理器。切记,这是非常罕见的多级安全产品。
前面已经提到过的强制访问控制操作系统Pitbull可信操作系统,也是通用动力公司的杰作。正是Pitbull为其多级安全(MLS)产品提供了实现基础。
通用动力的TVE(可信虚拟环境)产品,如下图所示,属于访问型CDS,可以在单台计算机上,同时查看多个安全级别。TVE使用VMware虚拟化技术,在一台计算机中创建虚拟机(VM)。每个虚拟机可以在共享计算机和监视器上的单独窗口中运行不同的操作系统和安全级别。这些窗口可以单独或同时查看。这个很像我们常用的VMware虚拟机,不过它已经通过国防部和情报界认证,并被列入国防部跨域办公室的CDS基线列表。它的安全性是有足够保障的,不像我们常用的虚拟机轻而易举就可以在不同虚拟机之间传递文件。
通用动力的多级桌面就更厉害了,如下图所示,打开的不再是一个个的虚拟机,而是直接在每个应用程序窗口栏上显示密级颜色,应用程序之间可以实现了应用隔离。这种能力也是建立在Pitbull可信操作系统之上的。普通操作系统无法实现。
2)OWL公司单向传输产品
OWL是美国数据二极管网络安全解决方案的市场领导者。它的所有产品都是基于数据二极管的单向传输原理。
其传输型产品也很丰富:
比如OCDS-ST06全动态视频传输解决方案,可以使用非涉密环境中的波音无人机,远程收集流媒体视频信息,再单向传输给涉密地面站。实现战场环境侦察。
最有特色的是它的小型化跨域解决方案(MCDS),号称是“硬币大小”的解决方案, 应该是市场上最便携的CDS。它也可以实现从非密网连接到机密网,由于非常便携,非常适合徒步士兵、嵌入式车辆计算机或任何其他需要考虑尺寸和重量的环境,可满足高度机动、战术任务的要求。
2018年,OWL还推出了基于云的“云到云”高速跨域解决方案。可以将大量数据从一个云快速移动到另一个具有不同安全等级的云,最大能满足25 Gbps的吞吐率。
为了保证安全性,这种云跨域解决方案,需要3种管理员(系统管理员+清单管理员+流量管理员)共同完成。而且,全程只有文件清单会落盘,所传输的文件都不会落盘。
3)Oracle多域数据库
Oracle多域数据库是第一个也是唯一一个经过认证的多域数据库。千万不要小看它,全世界独此一家!
4)空军研究实验室SecureView(安全视图)
SecureView是空军开发的访问型CDS产品,使用单台计算机承载在不同分类级别上运行的多个来宾虚拟机(VM)。其架构如图所示:
其操作界面和键盘如下图所示:最有趣的是彩色键盘,可以自动识别当前操作焦点的安全级别,并显示对应颜色,以提醒操作人员。
每个物理网络接口都有一个专用的网络驱动服务虚拟机(Network Driver VM),专门管理该接口的流量。客户虚拟机可以配置为使用单个或多个VPN服务虚拟机,以便在单套或双套配置中以加密方式将数据与其他域分离。
下图是在高安全级网络(黄色)上,建立低安全级网络(红色)连接。只需要使用单套配置(即单层加密隧道)。
下图则是在低安全级网络(绿色)上,建立高安全级网络(红色)连接。必须需要使用双套配置(即双层加密隧道)。
九、美军下一代CDS
即便做了这么多,美军仍然不满足现状。他们对安全的追求,看来是无止境的。
2019年,DARPA提出了下一代CDS计划——GAPS(物理安全保证体系结构)项目。将专门开发硬件和软件体系结构,并提供物理上可证明的保证,以隔离高风险事务,并使系统具有多级数据安全断言。
GAPS计划通过改变体系结构来保证数据安全。以前的ERI体系结构探索主要关注性能,而GAPS体系结构将从设计开始就考虑完全。
GAPS项目目标是开发具有可证明安全接口的硬件安全和软件体系结构,以物理隔离高风险事务。GAPS将创建安全的硬件和软件协同设计工具,在系统设计和系统构建期间物理隔离高风险事务,并跟踪这些在运行时物理强制执行的保护。如果用户想要对敏感数据进行计算,唯一真正的保证就是物理地跟踪数据的位置并保护所有高风险事务。
如果GAPS研究成功,安全地启用这些高风险事务的障碍将大大降低,从而允许:
GAPS项目的招标价格为5440万美元。计划分为三个技术领域(TA),共分为三个18个月的阶段组成。进度安排如下:
十、总结和预告
CDS的实现是很困难的,主要有几个原因:
CDS启示:
对于CDS的介绍,就此打住吧。
至于下一次的议题,请等待下次揭晓~