物理隔离与数据交换-网闸的设计原理

一、什么是网闸

网闸技术的需求来自内网与外网数据互通的要求,比如政府的电子政务是对公众服务,与互联网连通,而内网的政府办公网络,由于保密的要求,内网若与网连通,则面临来自公网的各种威胁。安全专家给出的建议是:由于目前的安全技术,无论防火墙、UTM等防护系统都不能保证攻击的一定阻断,入侵检测等监控系统也不能保证入侵行为完全捕获,所以最安全的方式就是物理的分开,所以在公安部的技术要求中,要求电子政务的内、外网络之间“物理隔离”。没有连接,来自外网对内网的攻击就无从谈起。

但是,网络的物理隔离,给数据的通讯带来很多不便,比如工作人员出差只能接入互联网,要取得内网的文件就没有办法,只能让办公室的人把文件放在外网上。另外,内网办公系统需要从外网提供的统计数据,由于服务隔离,数据的获取也很困难。因此,随着网络业务的日益成熟,数据交换的需求提议强烈。

最初的解决办法就是人工的“传递”,用U盘或光盘在内外网之间倒换数据。随着业务的增多,数据量的扩大,人工的方式显然成为很多业务的瓶颈,在内、外网之间建立一个既符合“物理隔离”安全要求,又能进行数据交换的设备或解决方案,这就诞生了网闸技术。

网闸实现的是个安全的概念,与防火墙等网络安全设备不同的地方是他阻断通讯的连接,只完成数据的交换,没有业务的连接,攻击就没有了载体,如同网络的“物理隔离”。网闸其实就是模拟人工数据倒换,利用中间数据倒换区,分时地与内外网连接,但一个时刻只与一个网络连接,保持“物理的分离”,实现数据的倒换。这就象从前长江上的摆渡船,既没有“物理的连接”大桥,也实现了货物的交换。

其实,除了电子政务内外网的交换需求,其他各种涉密网络与公用网络的互联都有这种需求,比如:广电的编播网和互联网、电力的控制网与办公网、海关的运行网和报关查询网络、银行的业务网与网上银行网络等等。

二、网闸的实现原理

网闸是实现两个相互业务隔离的网络之间的数据交换,通用的网闸模型设计一般分三个基本部分:

?         内网处理单元

?         外网处理单元

?         隔离与交换控制控制单元

三个单元都要求其软件的操作系统是安全的,也就是采用非通用的操作系统,或改造后的专用操作系统。一般为Unix BSD或Linux的变种版本,或者其他是嵌入式操作系统VxWorks等,但都要对底层不需要的协议、服务删除,使用的协议优化改造,增加安全特性,同时提高效率。

?         内网处理单元:包括内网接口单元与内网数据缓冲区。接口部分负责与内网的连接,并终止内网用户的网络连接,对数据进行病毒检测、防火墙、入侵防护等安全检测后剥离出“纯数据”,作好交换的准备,也完成来自内网对用户身份的确认,确保数据的安全通道;数据缓冲区是存放并调度剥离后的数据,负责与隔离交换单元的数据交换。

?         外网处理单元:与内网处理单元功能相同,但处理的是外网连接。

?         隔离与交换控制单元:是网闸隔离控制的摆渡控制,控制交换通道的开启与关闭。控制单元中包含一个数据交换区,就是数据交换中的摆渡船。对交换通道的控制的方式目前有两种技术,摆渡开关与通道控制。摆渡开关是电子倒换开关,让数据交换区与内外网在任意时刻的不同时连接,形成空间间隔GAP,实现物理隔离。通道方式是在内外网之间改变通讯模式,中断了内外网的直接连接,采用私密的通讯手段形成内外网的物理隔离。该单元中有一个数据交换区,作为交换数据的中转。

在内外网处理单元中,接口处理与数据缓冲之间的通道,称内部通道1,缓冲区与交换区之间的通道,称内部通道2。对内部通道的开关控制,就可以形成内外网的隔离。模型中的用中间的数据交换区摆渡数据,称为三区模型;摆渡时,交换区的总线分别与内、外网缓冲区连接,也就是内部通道2的控制,完成数据交换。

还有一种方式是取消数据交换区,分别交互控制内部通道1与内部通道2,形成二区模型。

二区模型的数据摆渡分两次:先是连接内、外网数据缓冲区的内部通道2断开,内部通道1连接,内外网接口单元将要交换的数据接收过来,存在各自的缓冲区中,完成一次摆渡。然后内部通道1断开,内部通道2连接,内外网的数据缓冲区与各自的接口单元断开后,两个缓冲区连接,分别把要交换的数据交换到对方的缓冲区中,完成数据的二次摆渡。

内部通道一般也采用非通用网络的通讯连接,让来自两端的可能攻击终止于接口单元,从而增强网闸的隔离效果。所以内部通道一般选用网络、SCSI、IDE、USB、PCI等方式。

网闸设计的目的,是隔离内外网业务连接的前提下,实现安全的数据交换。也就是安全专家描述的:协议落地,数据交换。

三、隔离概念的变化

严格地讲,物理隔离因该没有物理通讯连接,也包括无线通讯,消除了通讯的可能,入侵就没有了载体,但同时数据交换也成了难题。

网闸在发展过程中,对隔离的定义也经历了几个过程:

1.         物理隔离:模拟人工交换的过程,必须在内外网的节点机上进行数据交换,不能实现网络上任意计算机的数据交换。

2.         网络隔离:在简单交换的基础上,对文件传输协议的数据打包交换,实现了网络上任意信息点的数据交换。

3.         协议隔离:能对文件协议代理,就可以对其他应用协议代理,如Http,实现了应用数据的直接交换。

物理隔离是指只有文件级交换的网闸,网络隔离与协议隔离是隔离概念的进一步弱化,根据要隔离网络的安全性要求,选择不同的隔离技术。但把协议隔离当作物理隔离保证安全就成了网闸产品技术的误区了。

四、网闸设计中的误区

网闸利用隔离业务连接阻断用户业务连接,完成数据的交换。但是由于网闸两端的网络出口,直接连在内外网的节点上,没有其他的中间代理,各种应用协议连接直接到达网闸的接口,从用户角度来讲,看到的是一个内外网互通服务,好像在内外网间建立了连接,只是时延大一些,也就是说建立了逻辑的连接。网闸好像是一个网络堡垒机。

大多数网闸厂家在设计网闸产品时,为了方便客户业务的方便,在内外网接口上解析各种应用协议,一方面剥离成数据,另一面有恢复成应用协议,网闸可以根据安全检测的结果,合乎要求的让通过,不合要求的就阻断。这样不仅仅实现数据的交换,而且实现了业务应用的代理访问,有些网闸产品实现了外网的访问者访问内网的服务器。这种解析不仅有覆盖常见应用协议的趋势,而且对数据库的访问也代理通过,为缓冲区溢出、SQL注入等攻击提供了生存的温床。网闸成了名副其实的集装箱摆渡。

由于应用协议的解析,应用可以通过网闸,攻击也有了载体,网闸的安全就依赖于网闸的安全检测技术。物理隔离的含义是作为攻击载体的应用协议被中断,入侵与攻击才没有进入的路径,隔离达到安全的目的。所以网闸要“破坏”是业务的协议,而不是代理。这比如:火车可以通过摆渡继续整列车行进,而网闸因该把货物的组合彻底打散,这边是用火车,到了对岸,用汽车还是马车就不一定了。基于这种方式,网络攻击行为中比较难探测的分散隐藏就不容易了。

网闸的安全检测技术与目前各种安全网关类产品的检测技术应该一致,所以若能通过网闸建立业务连接的话,网闸的功能就与用防火墙等安全网关类设备建立的网络连接是同样的安全效果了。

因此,解析应用协议,成为应用代理的网闸实际上成为一个逻辑上的安全网关,满足了数据交换的功能,但失去了网络隔离的效果。

五、网闸安全原则的定义

网闸对业务协议的解析给网闸带来新的安全问题,所以不是说功能越丰富越好,从网闸处于网络中的位置,以及要实现的目的,网闸应该有自己的安全设计原则。

使用网闸的目的是为了隔离业务的同时,进行安全的数据交换。从安全服务的角度讲,网闸开通的服务种类越少,被攻击的可能性越小,网闸可交换的数据类型越少,隐含攻击的可能越小。网闸的安全原则定义为:

?         单一服务:只完成数据文件的交换,只完成文件形式的数据交换。其他的服务一律关闭

?         定向交换:在数据交换时指定接收人、发送人

网闸不支持应用协议解析,不透传业务应用,只进行文件数据的摆渡,对于Http、SMTP、FTP等协议无法通过,数据库的访问就更加不能通过,网闸只起到数据的摆渡,不支持应用的互通,应用协议的终止,让入侵、攻击彻底失去了传播的载体。

定义了安全原则的网闸安全性分析:

?         指定内外网的发送与接收人:数据交换是提供点到点的数据交换服务,方便数据交换的审计,方便问题定位到源头。避免第三者冒充、截获信息重放等攻击的发生。

?         只选择文件级的交换:采用文件级交换,而不是数据包级交换,是因为文件相对信息完整,避免蠕虫式的分片隐藏。交换的信息单元之间没有关联,无需网闸进行信息还原、重组(这需要大量的缓冲区)。

?         只选择文件交换,内外网没有通讯的连接,来自外网的黑客远程攻击因为没有遥控线路而难以实现,对内网的业务进行攻击只有发自内网本身的病毒、蠕虫,这就实现了和人工数据摆渡同样的安全效果。

?         文件的内容安全可以对发送者身份认证来保证。文件附着的病毒、蠕虫、木马等的检测是静态检测,可以通过对交换文件格式的规范,让他们难以躲藏。实际系统中,网闸可以根据应用系统对安全级别的要求,选择性交换无格式文本文件,Word等有格式的文档文件,压缩文件,可执行文件等交换文件的格式,降低交换文件隐藏病毒、木马的机会。

六、通过网闸实现业务自动交换的方法

使用网闸,只提供数据的文件的点到点交换,这对于支持内外网大量数据通讯的应用是显然不够的,如何实现应用的转换呢?

尽管网闸的安全原则定义了不做业务协议解析的原则,保障网闸隔离业务的效果。但对于业务本身可以设立自己的代理服务器,通过要交换数据的翻译,实现业务的自动交换。

?         在内外网设立业务数据交换的代理服务器,在内外网的代理服务器成对出现,目的是建立业务访问的逻辑连接代理。

?         代理服务器把业务的数据转换成可以交换的数据文件,并且指定交换的发送人与接收人为内外网的代理服务器。

从业务应用的角度来看,这种业务数据代理方式与厂家在网闸中实现的协议解析有些相似,都实现了业务访问的内外网互通,但从整个网络的安全角度上看,是有根本区别的:

?         通过网闸没有应用协议,业务应用在内外网中间是中断的。

?         业务数据交换代理是针对每个需要内外网大量数据交换的业务开发的,业务针对性强,认证、加密等方式各不相同,由于业务开发的认证、加密属于私密处理,每个应用都不相同,被攻击的可能比较小。即使有攻击,也只能针对本业务,不会扩展到内网的其他业务。

?         与进行协议解析相比,网闸解析协议开通的是一类协议的所有应用,而业务代理是针对一个应用的开通。协议原理比较公开,被利用攻击的可能性较高,即使使用安全的用户身份确认技术,也不能与应用不同而改变,当应用增多时,危险增大。而代理服务的数据转换是业务本身开发的,根据业务本身的安全级别要求,采取各自的身份确认机制,与应用的融合性好,对业务使用者本身的权限管理也比较严格,对资源的安全管理粒度也比较细。

网闸的设计目标:保证业务通讯隔离的基础上,实现数据交换,其关键是安全性的延续,所以网闸的设计重点不仅是隔离与交换的控制逻辑设计上,而且包括业务代理的实现模式上。通过网闸实现业务数据自动交换的原理模型应如下

时间: 2024-08-28 17:19:23

物理隔离与数据交换-网闸的设计原理的相关文章

数据交换平台的架构设计

序言 说到架构设计,不敢妄自牛逼.只能默默地向Linux致敬,没有强大的linux系统,我们做的架构设计,做的程序一天说不定挂几次.(windows系统就不说了,呵呵) 数据交换平台的架构发展 架构不是一蹴而就的,是随着团队技术能力的积累,随着公司数据平台的逐步完善,随着相关开源产品的深入学习,逐步形成和进化的. 不同阶段,需要不同的架构.因此,不能单纯地说,哪个架构就好,哪个架构就不好.只要适合当时的环境,就是最好的.对公司业务的发展,对其他模块的项目支撑,没有起到约束和限制的作用,就OK.如

物理隔离下的数据交换平台难点解析与实践(一)

目录 第零章.前言:为什么?做什么?怎么做? 第一章.数据交换平台的一些基本概念 目录 第零章.前言:为什么?做什么?怎么做? 最近带队做了公司的一个项目,叫数据交换平台,旨在物理隔离的情况下对多端业务系统进行数据的加密.传输.监控. 正好这个项目的架构师也在公司做了一次架构层面的技术分享,我便把此次分享和我在项目实践中遇到的一些坑一起整理出来,形成本系列文章. 本系列文章介绍在物理隔离的网络条件下进行数据交换的难点,以及如何保证文件交换的可靠性和安全性,如何与业务系统做到低耦合. 本文的目的在

跨网的数据交换解决方案

一.什么是跨网跨网是指在互联网与局域网之间不能直接连通的网络.这些局域网可以是保密性较高的单独的局域网,也可以是公安网.军网等. 二.为什么要跨网传输以公安网为例,公安网对数据安全的要求较高,所以不与互联网直接连通.然而我们系统可能需要在互联网和公安网内都可以运行,那运行期间业务数据肯定有关联,就需要互相传递. 三.解决思路跨网的数据交换方式主要分为两种,一种是光盘摆渡机,一种是光闸. 光盘摆渡机简单来讲,先用光盘刻录需要传输信息,然后用机械臂换到需要交换的另一端网络,然后读取存储,这样就完成了

计网基础-数据交换之电路交换

Q:如何实现数据通过网络核心从源主机到达目的主机(互联的路由器网络) A:采用的方法:数据交换 网络结构包括网络边缘.接入网络和网络核心 网络核心主要解决的问题就是将源主机发送数据送达目的主机 对于一个网络,主机之间需要连接物理链路 局限性1(N2次方链路问题):因为两两主机之间连接的话,将有[n(n-1)]/2条链路数量,那么当主机数量过多?成本变高. 解决1:使用交换设备,则每台主机只需要一条物理链路, 局限性2:同样,假如主机数量过多,交换设备的端口就需要特别大.如果网络规模特别大,主机距

网神 - SIS网闸

什么是网闸? 网闸是位于两个不同安全级别的网络之间,通过链路阻断.协议转换的手段,以信息摆渡的方式实现高效安全的数据交换 是目前防护级别最高的一种技术手段 政府涉密网络.军工.电力等行业中含有大量的敏感信息及涉密数据(可能定级为涉密网或含有敏感数据的非涉密网),这些涉密数据是绝对不能流入比它密级低的网络中的,但这些网络通常又需要能从密级低的网络中获取数据.目前大多是采用人工拷盘的方式,但是人工拷盘存在安全隐患.效率较低.随着安全隔离技术的沉淀与积累,通过2年多的探索与研发,推出光单向安全隔离数据

安全隔离与视频交换解决方案

市场分析 近年来,公安以及各大企业事业单位均建设了不同规模的视频监控系统.为了最大化地利用这些视频监控资源为公安或企业集团使用,来实现"资源共享.互联互控"和"视频监管一网控",各个城市已经开始将各个分散的视频监控系统级联接入到一个或多个监控平台中. 出于安全考虑,不同单位的视频监控系统间互联大多采用传统的网络安全防护手段,如部署防火墙和IPS设备.但由于防火墙和IPS等设备不能有效地解决跨网络平台的级联问题,同时仅能防护到网络传输层,对于视频传输协议无法做到识别和

配置VirtualBox虚拟机实现Ubuntu与Windows系统间数据交换即Putty的访问

一.直接修改Ubuntu IP系统配置文件 Ubuntu IP的网络配置文件是:/etc/network/interfaces打开后里面可设置DHCP或手动设置静态Static IP.前面auto eth0,让网卡开机自动挂载,以下操作针对有线网络在Ubuntu中实现两个网卡.               1.以DHCP方式配置网卡(推荐) (1)打开要编辑的文件interfaces 它的的目录是/etc/network/interfaces                          

关于网闸原理的研究

据说国外根本没有这种东西,但为什么在国内会卖20来万??!!莫名其妙啊. 和几个朋友分析了一下它的工作原理,就像一个水闸一样,上游一个门,下游一个门,中间是一个储水池.一开始两个门都是关闭的,当有流量需求时,上游门打开,水流进来,然后在关上.接着下游门打开,水就从储水池流到下游去了.网闸原理一样,开始时内外网的连接是关闭的,当有需要时,内网连接打开,数据从内网传送到网闸里暂存.然后内网连接关闭,外网连接打开,数据传送到外网服务器上.看似很安全的机制,其实有很大的隐患. 假如外网的服务器已被攻陷,

Disruptor——一种可替代有界队列完成并发线程间数据交换的高性能解决方案

本文翻译自LMAX关于Disruptor的论文,同时加上一些自己的理解和标注.Disruptor是一个高效的线程间交换数据的基础组件,它使用栅栏(barrier)+序号(Sequencing)机制协调生产者与消费者,从而避免使用锁和CAS,同时还组合使用预分配内存机制.缓存行机制(cache line).批处理效应(batch effect)来达到高吞吐量和低时延的目标.目前Disruptor版本已经迭代至3.0,本论文是基于Disruptor1.0写就,在新版本中,相对与1.0版本,其核心设计