网闸
网闸,也称为网络安全隔离设备,是一种专业硬件,架设在两个不连通的网络之间,按照需求在一定的限制条件下,完成网络间的数据资源的安全传输。
网闸的实现
图1反向隔离网闸示意图
如图所示:典型的网闸由硬件设备和软件客户端组成,软件只能运行在特定的主机上,一般这样的主机被称为节点机。网闸设备内部由两台设备和专用的摆渡硬件组合而成,这两台设备可以称为接口机A和接口机B。两台接口机分别与外网和内网相通,但由于接口机取消了所有系统自带网络功能,例如ICMP和所有TCP等功能,使得内外网通常的网络用户不可能感知到网闸的存在,甚至普通的网络扫描也无法发现设备。只有节点机能通过预设的端口与网闸设备单向通信。接口机之间不采用TCP/IP 方式联通,而是通过特定的硬件卡或存储等方式构建一个数据交换区,实现数据的摆渡。
网闸设备的基本特性主要包括:无完整网络连接,单向传输,数据格式认证:
无完整网络连接:通过网闸的摆渡控制,让数据交换区与内外网在任意时刻不能同时连接。这样的设计中断了内外网的直接连接。使得内外网达到物理隔离效果。一般的网络应用,包括病毒,木马等都无法经过网闸建立所需的网络连接。
单向传输:网闸硬件与软件之间采用特定的私有协议,保证与预设方向相反的方向无法传输数据,HTTP,FTP,SMTP等协议均无法通过。如果内外网需要数据交互,一般需要部署正向反向两套网闸,采用不同的策略,通过内外网不同的节点机分别执行数据发送。
数据格式认证: 不支持协议解析,不透传业务应用,只对认证后的特定文件格式的数据文件进行摆渡。
由于网闸具备以上特性,网闸可以杜绝两边网络建立任何TCP/IP网络连接,保证物理隔离,同时达到传输特定数据的目的。
网闸中一些可能存在的问题
经过对一些网闸设备的检测,威努特安全团队发现了一些问题,举例如下:
1:私有文件格式
在某典型行业应用环境中,网闸被配置为仅允许行业特定私有格式文件通过。该格式为一种类似于xml的纯文本格式,具有特定格式要求,而且不允许文件中包含0x01,0x02等字符。这种方式有效防止了exe,rar,doc等常见二进制文件格式的传输,并且,普通的文本文件或脚本文件也确实无法通过文件格式校验,从而无法经由网闸传输。但是,任意文件都可以通过方式编码为纯文本,然后构造在该特定格式文件中,达到通过网闸的目的。当然,这种方式也具有一定局限性,如果接收端的处理程序不执行解码操作,被传入的文件无法还原成本来的形式,则暂时无法发挥作用。
2:准明文传输问题
根据设计原则,网闸软件与硬件之间的数据通道应采取足够强度的加密。但实际通过数据包分析发现,某网闸采用了UDP协议单向传输数据。数据仅经过简单的编码,而并未加密传输。这种问题可能发生在传输隧道建立和协商的过程中,由于一定的策略或环境限制,导致的安全性降级。
图2 可视为明文的网络数据截包
如图,所有字符异或0x88后即可得到明文内容。
3:仅采用软件过滤的逻辑绕过
网闸对文件格式的检查在软件环节完成,硬件接口机不作再次检查。这种情况下,可以从逻辑上绕过发送节点机的软件检查,直接将任意格式文件通过建好的隧道发送给网闸硬件接口机,从而达到传输任意文件的目的。
总结:
网闸的防护效果,强烈依赖于未公开的文件格式和未公开的自有协议。目前的网闸对已知的病毒,木马和远程攻击工具都有比较不错的防御效果。但如果攻击者在理解网闸的工作原理的前提下,有针对性地构造恶意程序,就有可能削弱网闸的防护能力,甚至穿透网闸,进而借助网闸设备构建起一条攻击路径。
防火墙和网闸的区别:
防火墙最终目的是为了内网的安全防护,防止外网对内网的攻击,同时对内网访问互联网的行为进行控制。而网闸的工作原理是信息摆渡,也就是可以实现完全隔离的不同网段之间的有条件访问,这是防火墙实现不了的。举个例子说,如果你有两个网段想互相访问,通过防火墙设置的话只是通过策略和路由实现,而通过网闸的话是用它自己的协议重新封装ip包再进行访问。网闸因为是用自己的协议重新封装ip包,所以处理数据多,速度慢。