数据经过明确定义列入“白名单”,在网络的边界仅允许“白名单”所定义的应用数据通过,任何其它未知的数据传输一律阻断,并把这一机制用可信的防篡改的专用硬件固化下来。
这一采用“白名单”思路进行积极防御的技术即为GAP技术(也叫安全隔离与信息交换技术)。
GAP技术最初来源于物理隔离。为了防范网络、信息系统受到安全威胁,物理隔离禁止网络和信息系统与外界非信任网络的所有数据交换。这种手段固然能够最大程度地保证内部网络和信息系统的安全性,但是网络和信息系统的一些优点也都不复存在。这是背离信息化方向的,是消极的,与“积极防御”的指导方针背道而驰。另外,物理隔离的消极影响还在于可能会导致内部网络用户出现通过电话线外连、移动计算设备一机多用、用移动存储介质在网络间交换未知数据等潜在威胁。从业界出现的各种关于“主机非法外联监控”技术和相关产品的情况来看,这种潜在威胁已经浮出水面。认为物理隔离能保证高度安全无异于把头埋在沙堆里的鸵鸟。
物理隔离产生消极影响的原因是:用户希望根据业务和应用需求,在物理隔离的网络之间进行安全适度的信息交换。设想,用户需要在相互隔离的网络之间传输一些指定的文件,比如甲部门需要向乙部门定期提供的汇报、审计、总结等信息和数据,那么很自然的方式是采用移动介质,将所需要的文件从一个网络的服务器上拷贝到另外一个网络的服务器上。这种数据交换方式如果加上内容检查(包括病毒查杀在内)机制,
保证对所需传输的数据来源、格式和内容的确认,并确保其它未知数据不能在网络之间交换,即可在进行了数据交换的同时保持物理隔离手段所提供的高安全性。
GAP技术按照以上思路,在物理隔离的基础上,发展了安全信息交换的技术。就像上面描述的信息交换过程一样,GAP方式的信息和数据交换过程为:首先保证网络之间的隔离,然后根据业务需求,以“白名单”方式定义在网络间需要交换的数据,再通过主动请求或专用接口的方式获取数据,并且对所交换数据进行格式和内容的检查,最后将数据安全发送到目的地。从而在保持物理隔离的高安全性基础上提供信息交换的功能。
基于对实际应用系统的安全需求分析和风险分析,GAP技术采用了独特的软硬件设计架构,保证“白名单”策略的实施。
首先,GAP硬件采用多主机架构。GAP设备需要对在网络间交换的数据进行预处理。预处理过程包括:将网络上传送的数据还原为应用层数据;对这些数据进行由用户所定义的检查;读取和发送这些应用数据。这些预处理操作在进行数据交换之前必须在独立的主机系统中进行,保证数据的隔离。另外,多台主机用专用硬件串联的架构形成纵深防御,既使外部主机被攻击,也可以保证内部主机的安全。
第二,GAP硬件架构中采用专用防篡改硬件隔断TCP/IP协议通信,保证数据传送和检查机制固化、防篡改,保证网络隔离的有效性。
第三,GAP的“白名单”策略面向应用数据,并对未知来源的主动请求一律拒绝。因为用户对所传输的数据的定义只能是面向应用而不可能面向网络会话或者IP报文。读取和发送这些数据时,GAP采用主动请求(Pull & Push)或者专用安全接口或专用安全客户端的方法。内部网络的服务端口暴露在各种各样的未知请求面前时,很难避免遭受堆栈溢出、绕过安全检查、拒绝服务等的攻击。通过主动请求的方法可以避免开放服务端口;通过专用安全接口或者专用安全客户端进行数据读取和发送可以避免接收未知数据。这样可以避免绝大多数隐患
最后,GAP提供内容检查机制。内容检查机制首先采用病毒查杀引擎对已知病毒进行查杀。其次内容检查根据用户对数据的定义检查数据的格式和内容。
综上所述,GAP技术隔断了从物理层到应用层所有网络层次的协议通信,因此,可以把GAP理解成“the Gap of All Protocol”的缩写。 3.1 网闸的定义
网闸是使用带有多种控制功能的固态开关读写介质连接两个独立主机系统的信息安全设备。由于网闸所连接的两个独立主机系统之间,不存在通信的物理连接、逻辑连接、信息传输命令、信息传输协议,不存在依据协议的信息包转发,只有数据文件的无协议“摆渡”,且对固态存储介质只有“读”和“写”两个命令。所以,网闸从物理上隔离、阻断了具有潜在攻击可能的一切连接,使“黑客”无法入侵、无法攻击、无法破坏,实现了
真正的安全。
3.2 网闸的信息交换方式
我们知道计算机网络依据物理连接和逻辑连接来实现不同网络之间、不同主机之间、主机与终端之间的信息交换与信息共享。网闸既然隔离、阻断了网络的所有连接,实际上就是隔离、阻断了网络的连通。网络被隔离、阻断后,两个独立主机系统之间如何进行信息交换?网络只是信息交换的一种方式,而不是信息交换方式的全部。在互联网时代以前,信息照样进行交换,如数据文件复制(拷贝)、数据摆渡,数据镜像,数据反射等等,网闸就是使用数据“摆渡”的方式实现两个网络之间的信息交换。
网络的外部主机系统通过网闸与网络的内部主机系统“连接”起来,网闸将外部主机的TCP/IP协议全部剥离,将原始数据通过存储介质,以“摆渡”的方式导入到内部主机系统,实现信息的交换。说到“摆渡”,我们会想到在1957年前,长江把我国分为南北两部分,京汉铁路的列车只有通过渡轮“摆渡”到粤汉铁路。京汉铁路的铁轨与粤汉铁路的铁轨始终是隔离、阻断的。渡轮和列车不可能同时连接京汉铁路的铁轨,又连接到粤汉铁路的铁轨。当渡轮和列车连接在京汉铁路时,它必然与粤汉铁路断开,反之依然。与此类似,网闸在任意时刻只能与一个网络的主机系统建立非TCP/IP协议的数据连接,即当它与外部网络的主机系统相连接时,它与内部网络的主机系统必须是断开的,反之依然。即保证内、外网络不能同时连接在网闸上。网闸的原始数据“摆渡”机制是原始数据通过存储
介质的存储(写入)和转发(读出)。
网闸在网络的第七层将数据还原为原始数据文件,然后以“摆渡文件”的形式来传递原始数据。任何形式的数据包、信息传输命令和TCP/IP协议都不可能穿透网闸。这同透明桥、混杂模式、IP over USB、代理主机、以及通过开关方式来转发信息包有本质的区别。下面以内网与外网之间的网闸为例,说明通过网闸的信息交换过程。
当内网与外网之间无信息交换时,数据交换单元与内网交换单元,数据交换单元与外网处理单元,内网处理单元与外网处理单元之间是完全断开的,即三者之间不存在任何连接,如下图所示。
当内网数据需要传输到外网时,网闸主动向内网处理单元数据交换代理发起非TCP/IP协议的数据连接请求,并发出“写”命令,将写入开关合上,并把所有的协议剥离,将原始数据写入存储介质。在写入之前,根据不同的应用,还要对数据进行必要的完整性、安全性检查,如病毒和恶意代码检查等。