网络信息内容审计系统的研究与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络信息内容审计系统的研究与实现
作者:付沙
来源:《中国教育信息化·高教职教》2011年第01期
摘要:网络信息内容审计是一种对网络中传输的信息内容进行分析与审计的技术,是网络安全技术中非常重要的组成部分,通过内容审计可实现网络信息内容的可控性。本文阐述了网络信息内容审计技术,研究并构建了一种网络信息内容审计系统,且对其主要功能模块的工作流程及其实现进行了详细说明。
关键词:内容审计;数据采集;特征匹配;负载均衡
中图分类号:TP393.08文献标识码:A 文章编号:1673-8454(2011)01-0043-03
一、引言
随着我国信息化建设的不断推进和计算机网络的飞速发展,信息的发布与共享更为简捷方便,网络信息日益丰富;与此同时,许多非法和不健康的信息也出现在互联网上,严重影响广大网络用户的日常生活与工作,给整个社会的和谐稳定造成恶劣影响。如何保证网络行为、信息内容的合法性、合规性及健康性已成为网络与信息安全领域研究中的热点问题,在此背景下网络信息内容审计技术得到快速发展,网络信息内容审计系统逐渐成为整个安全系统中不可或缺的重要组成部分。
网络信息审计系统包括对网络信息报文格式的完整性、合法性进行形式化审查和对报文的类型、内容进行审查两大部分。目前,对审计系统的研究绝大部分都集中在报文完整性和合法性判别研究方面,基于内容的审计系统研究不多。因此,研究和构建网络信息内容审计系统对于网络信息的安全、网络的有效使用和对国家的安全具有重要意义。[1]
二、网络信息内容审计技术的思想
网络信息内容安全的主要技术包括基于内容的防火墙和网络信息内容审计。[2]基于内容的防火墙虽能最大限度地保障网络信息内容的安全,但在网络犯罪取证和网络行为监控方面却无能为力,还只能依赖于网络信息内容审计技术。该技术针对网络流量中不良信息传播的问题,综合运用网络数据包获取、协议分析、信息处理、不良流量阻断等方式实现对网络信息内容传播的有效监管。能够帮助用户对网络进行实时监控,记录网络上发生的一切,寻找非法和违规行为并为用户提供事后取证。
文献[3]中指出网络信息内容审计技术是采用一些智能化的处理技术及网络信息报文采集、组合、判别等方面的技术,对通过网络的报文内容进行实时处理和识别,凡是发现包含有
害、非法、敏感信息的报文就记录其源/目的IP地址、源/目的端口号、服务类型等相关信息,形成系统访问日志并提供给系统管理人员和其他有关用户进行事后审计和分析,进而采取相应的安全管理措施,包括对非法及不健康信息进行追查等处理。
三、网络信息内容审计系统的必要性
网络信息内容审计系统是指从计算机网络系统中的若干个关键点收集数据包,对其传送的内容进行审计分析,检查其中是否含有违反信息安全策略的行为迹象,实现对网络信息内容的监控,防止机密文件或敏感信息的非法泄漏及传送,对可疑行为或内容采取措施并为查证提供有力证据。[4]网络信息内容审计系统作为保障网络信息安全的实时审计工具,可以高速有效地对进出内部网络的电子邮件、网页(BBS)、P2P软件、上传下载文件和远程登录等各类传输信息进行数据截取和还原,并可根据用户需求对通信内容进行审计,提供高速的敏感特征关键词检索和标记功能,从而防止内部网络敏感信息的泄漏以及非法信息的传播。
四、网络信息内容审计系统的结构
在网络信息内容审计系统中,网络内容采集模块从互联网上取回内容之后,内容分析模块对内容进行分析处理。在拥有足够的网络带宽情况下,内容分析模块对大流量网络数据的处理速度将成为系统性能的瓶颈。而内容分析模块的处理速度和对敏感信息的识别准确率又是一对矛盾,难以兼顾。如果采用简单高速的分析算法则会降低识别准确率;而采用复杂准确的分析算法又难以保证处理速度。[5]
基于该因素,除了在系统中运用高性能的计算设备之外,在系统结构方面可以采用两层分析结构:第一层采用简单高速的分析技术进行数据包获取和内容过滤,着重系统的效率,对采用的算法时间复杂度有严格要求;第二层采用复杂准确的分析技术对第一层过滤的结果进行精确处理,着重系统的准确率和功能的全面性。通过将两层分析结构分步实现,从而增强对敏感信息的识别准确率,提高整个系统的性能。[6]
五、系统主要功能模块及其实现
网络信息内容审计系统主要由四个功能模块组成:数据采集模块、数据包还原重组模块、特征匹配模块和集群及负载均衡控制模块。整个系统采用网络探针技术进行数据采集和分布式集群技术实现数据包还原重组,能较好地解决传统网络信息内容审计系统在高速网络环境下丢包率高、性能低下、无法支持多种协议的问题。系统的主要功能模块如图所示。
1.数据采集模块
数据采集模块是网络信息内容审计系统的基础组件。该模块通过截获整个网络所有的信息流量,根据信息源主机、目标主机和服务协议端口等信息简单过滤掉不需要关心的数据,再将用户感兴趣的数据发送给更高层的应用程序进行分析。在不同的操作系统平台需要使用不同的
数据包获取技术,目前常用的是网络数据包捕获函数库Libpcap(Packet Capture Library)和信息包捕获与网络分析模型包WinPcap(Windows Packet Capture)。
在Unix或Linux操作系统平台下进行网络数据包采集时可采用Libpcap,它是一个由与实现无关的访问操作系统所提供的分组捕获机制的分组捕获函数库。该函数库提供的接口函数主要实现和封装与数据包截获有关的过程,同时所提供的C函数接口可用于需要捕获经过网络接口数据包的系统开发中。目前有许多流行的工具都使用了Libpcap来进行数据采集,如tcpdump、snort等。而WinPcap是Windows操作系统平台下一个免费、公共的网络底层访问系统,可用于进行捕获、发送原始数据包,它是Unix系统平台下广泛使用的Libpcap的Windows版本。
本文所构建的系统在Windows系统平台下运行,选用WinPcap来完成数据采集。WinPcap 采集相关数据后提交数据帧给数据采集模块,该模块接收并分析记录数据帧的源和目的MAC 地址,分析数据帧的上层协议类型。WinPcap不仅提供了一套与Libpcap兼容的标准报文捕获接口,以便于将程序移植到Unix系统平台下,还考虑了各种性能和效率的优化,收集网络通信过程中的统计信息并提供了内核态的统计模式。在数据采集模块中,首先可通过以太网的广播特性对网络底层信息进行监听并获取网络上传输的数据流,包括协议端口、子网主机的所有交互数据等。在这些交互数据中存在着大量用户不需要关心的非敏感信息(正常信息),对非敏感信息的监听工作严重影响到系统的工作效率,因此,建立高效的信息过滤机制是提高信息监听工作效率的重要环节,它使用户可指定特定的协议端口及子网主机,如对电子邮件、网页(BBS)、远程登录等各类传输信息进行过滤,只将用户关心的敏感信息向更高层提交,从而提高系统工作效率。
2.数据包还原重组模块
数据采集的目的是为了分析网络数据包内容,对于网络信息内容审计系统来说,仅分析零碎数据包的价值非常小,必须将一个会话中双向传输的所有数据包进行拼接,并排除协商、应答、重传、包头等网络附加信息以实现还原与重组,只有这样才能实现网络内容的监控与审查。按照TCP/IP协议以及应用层协议的规范,此模块对采集的IP数据包在进行预处理之后逐层还原并将数据包进一步重组为应用层数据。根据数据物理帧的帧头,模块可以识别出所有的IP数据包;根据IP数据包头中的信息(信源端IP地址、信宿端IP地址、协议类型号等)则可以识别出哪些IP数据包属于同一个TCP或者是UDP的数据分段,并将它们重组为数据分段;再根据TCP或者是UDP段头中的信息(源端口号、目的端口号、序列号、确认号等)可以恢复原始会话的内容,经过进一步处理可以完成应用层协议的重现并对内容还原分析。
以电子邮件为例,电子邮件通常是以编码的方式在网络上进行传输,RFC1341-MIME(多媒体因特网邮件扩展)中有详细的说明,邮件的内容编码标志域指出了相应的编码方式,主要分为五种:7bit、8bit、Binary、Quoted-printable和BASE64编码。7bit、8bit和Binary编码方