武汉大学图书馆上网管理建设方案
户及机器匹配的内容记录审计功能。
● 操作日志记录
详细的记录操作者的使用情况,加强了对使用者自身进行审计。
● 网络工具
提供网络工具帮助发觉网络中的异常机器,异常流量。能够发现网络中的私接代理,网络中的SNIFFER探器,有效地规范网络的管理。
● B/S结构
B/S结构,无须安装客户端,可通过局域网内的任意一台终端即可登陆到系统中查看系统运行及管理互联网使用。
● 多语言支持
提供简体中文,繁体中文,英文等多个语言版本,并可动态切换。
5.3 产品关键技术
任天行是真正的百兆和千兆内容审计系统,在国内外处于领先水平。为了达到稳定,高效的互联网审计管理,系统分为多个模块,采用了多种关键技术。系统模块框架如下图所示:
查询、配置、显示、浏览YahoBFoBT SPMSG网页分析 网上音视频网络游戏POP3SMTPP2P下载WTeEbMQLMSQNaNEiTl分类站点库策略控制存储管理日志分析日志检索状态管理网络诊断远程连接并行协议栈捕包引擎过滤引擎内容匹配引擎升级引擎专用的网络设备驱动基于Linux内核的专用操作系统
图3.1.1.2 系统模块框架图
第15页 共26页
武汉大学图书馆上网管理建设方案
5.3.1专用操作系统
Linux操作系统是一个安全的,高效的操作系统。任天行中的操作系统经过内核裁减,只保留了少数相关的服务与功能,系统内核达到最小化,使操作系统的额外开销与不稳定因素减至最小化。另外,采用特有的文件系统,使系统能抵御突然掉电等物理灾害造成的对系统的损害。
5.3.2专用网络设备驱动
网卡的性能对于网络安全审计系统非常重要,因为它直接关系到数据采集(捕包)的速度。任天行通过硬件,软件两种方法来提高网卡的性能:一、任天行采用基于INTEL架构的网卡,速度快且稳定。二、开发专用的驱动程序,减少数据在网卡驱动不同模块间的传递环节,使数据通过DMA的方式直接传递给应用程序空间,减少CPU的参与,与及数据拷贝的次数,提高处理速度。
5.3.3捕包引擎
对于基于旁路监听的网络安全设备来说,系统捕包的效率对整个系统的性能至关重要。如果系统产生丢包现象,则相应的网络访问将不会被审计监测,网络管理就会不全面。当网络带宽向着千兆、万兆线速迈进时,完整地捕获并记录网络中流过的数据对系统是一个很大的考验。
传统上,Linux,FreeBSD等操作系统自带的TCPDUMP,ETHERREAL等捕包工具都是建立在Libpcap平台上。由于Libpcap是通过原始套接字得到指定网卡接收到的全部数据包,所以Libpcap的性能受到传统驱动程序的限制,例如在核心态进行多次内存操作,比如数据包校验,控制顺序等。这些操作会占用大量的CPU运算资源,内存资源,并且导致时延而效率不高。新的捕包引擎就是通过减少这一系列的中间环节而实现的一种高性能报文捕获平台。通过实现网络接口设备直接将数据报文以DMA方式存储到应用程序可以访问的地址空间,避免数据报文在内核态里传输时的内存操作,缩短数据报文行走路径;通过环策略管理数据报文缓冲区,实现网卡和应用程序无冲突访问共享资源。这两点有效地降低网络通信的延迟,极
第16页 共26页
武汉大学图书馆上网管理建设方案
大地节省CPU开销。
通过性能分析比较标明,接收64Byte和1500Byte的报文时吞吐量分别达到90万pps(439Mbps)和8.2万pps(938Mbps),与传统的报文传输机制相比,报文捕获能力有 较 为显著的提高。为了进一步比较Libpcap和零拷贝的性能,搭建测试环境如下:用 smartbits控制发包速率和数据包长,捕包机硬件配置CPU P4 2.0GHz * 2;内存 4G;高速缓存512KB/CPU;网卡Intel(R)Pro/1000。测试结果如下表3.2.3所示。可以看出,新捕包引擎无论对小报文还是大报文,其处理能力都得到极大的提高
IP包长 Byte 64 512 1500
5.4.4过滤引擎
基于旁路监听的设备由于并非串接在网络中,所以在封堵许多网络应用时,不能如网关型串接设备一样,简单地判断出包的应用类型后把包丢弃即可,而是通过过滤引擎发送伪造数据包以打断(过滤)真实的通讯。在网络通信过程中,通讯双方都有各种的较验机制,对于任何不符合较验的伪造数据包,都会丢弃而不做处理,这要求发送的伪造数据包足够真实,达到乱真的效果,同时速度很快,远在真实的响应数据包返回前,即已欺骗成功,从而打断了原有的网络通讯。任天行准确分析各种应用协议,解包,组包都在几毫秒以内,能有效地封堵现流行的各种网络应用。其中对QQ所有版本的全面封堵为国内特有。
第17页 共26页
传统捕包引擎最大速率 *104pps 17.0 16.0 1.5 Mbps 83 625 172 新捕包引擎最大速率 *104pps 90.0 23.0 8.2 Mbps 439 911 938 武汉大学图书馆上网管理建设方案
5.5.5内容匹配引擎
内容匹配技术在信息外泄的控制,网络行为分析等方面有重要的作用。对于一个大型组织的互联网来说,每时每刻外发的信息都浩如烟海,要依靠人工去从这些如山的数据中发现和匹配是否有敏感受信息被外泄了无疑是不现实的,因此系统提供的内容匹配功能就必不可少了。而根据每次扫描最多可以发现的关键字的数目,内容匹配算法可以分成单模匹配和多模匹配两种。二者之间的区别在于前者每次扫描后最多可以发现一个关键字,后者则可以发现所有出现的关键字。现今主要有三种单模匹配算法:KMP、BM、KR。这三种算法的复杂度可以达到O(NM),N是数据长度,M是关键字数量。
单模匹配算法虽然可以线性地发现数据出现的关键字,但因为其单模的特点,不满足内容审计系统的需要。内容审计系统允许用户配置多个关键字,需要在数据中找到所有出现的关键字的位置,这也是多模匹配算法的长处。因此我们采用了基于状态机的多模匹配算法,只需对数据扫描一遍,就可发现所有出现的关键字。过滤时间与数据长度成正比,和设定的关键字数目无关,算法分析复杂度是O(M+N),N是数据长度,M是关键字数量。可见此算法对数据长度与及并键字数量具有线性复杂度,比起传统的单模匹配算法大大提高了效率。
5.6.6升级引擎
网络应用越来越复杂,新的应用协议、新的管理功能需求不断地出现,为了保证用户已购买的任天行系统能适应这些需求,系统内置的升级引擎能根据用户的设定,定时获取更新信息并自动安装。升级过程中,用户的配置,日志等信息与系统程序分离,保证平滑无缝升级。升级引擎保存着程序的多个副本,只有经过完整的较验确认新的升级包能稳定运行后,程序才删除原有副本,否则会自动切换回未升级前状态,防止升级过程中的任何出错。
第18页 共26页
武汉大学图书馆上网管理建设方案
5.7.7并行协议栈
对于互联网审计产品来说,数据捕获、协议栈,协议分析等过程中的效率对系统的最后性能起着决定性的因素。
传统协议栈接收一个UDP数据包的流程是:以太网设备驱动程序首先响应中断,假定该中断表示一个正常的接收已完成,数据从设备读到一个缓冲链表中。这个链表除了记录数据内容、还保存一个指针指向接收数据的接口结构。然后把链表传给一个通用以太网输入例程,它通过以太网帧中的类型字段来确定哪个协议层来接收此分组。在这个例子中,类型字段标识一个IP数据报,从而该链表被加入到IP输入队列中。接着产生一个软中断来执行IP输入例程。接着IP输入例程响应软中断,它验证I P首部检验和,处理I P选项,验证数据报被传递到正确的主机(通过比较数据报的目标IP地址与主机IP地址),并当系统被配置为一个路由器,且数据报被表注为其他的IP地址时,转发此数据报。如果IP数据报到达它的最终目标,调用IP首部中标识的协议的输入例程:ICMP,IGMP,TCP或UDP。在这个例子中,调用UDP输入例程去处理UDP数据报。最后UDP输入例程验证UDP首部的各字段(长度和可选的校验和),然后确定是否一个进程应该接收此数据包。
很明显,传统协议栈采用类似函数链的串行处理方式,依次处理IP输入例程和UDP输入例程,这种软件结构不能充分利用现有SMP架构的性能,经常出现一个CPU的占用率达到100%,其他CPU还无事可作的情况。因此我们用并行协议栈取代传统协议栈,充分发挥SMP架构的性能,给多路CPU、多内核CPU、超线程CPU足够的施展空间。为了解决并行处理中不可避免的负载均衡的问题,选取硬件分流器中流行的IP+PORT分流策略,保证在大流量的情况下处理线程之间工作量均等,有效避免过载线程的出现。配合大流量数据捕获模块,取消传统协议栈软中断的开销,可以进一步地提高系统的性能。
第19页 共26页