刘逸坚
摘要:本文详细描述了网络行为分析系统的设计实现细节,同时在真实的教育区域网络中进行了实验,验证了系统的功能。首先介绍本系统的应用背景——广州市海珠教育科研网,本系统的设计与应用完全针对该教育科研网,力求能对网内用户(主要是学生)的网络行为进行分析,并在此基础上进行一定的引导和管理。其次介绍网络行为分析系统的设计实现细节,从总体设计目标,总体结构以及主要模块的设计三个角度加以阐述。最后介绍实验环境、实验过程以及实验结果分析。
关键词:网络行为;系统设计;网络行为分析系统;海珠教育科研网
中图分类号:TP393 文献标识码:A文章编号:1673-8454(2009)10-0070-05
一、 海珠教科网概述
广州市海珠教育科研网建设项目是海珠区教育基础设施项目之一,是海珠区社会信息化的重要组成部分,具有网络管理功能及数据中心功能,此中心之上将为基础教育、职业教育、成人教育和教师继续教育等提供全方位的教育教学信息资源服务,为相应群体提供电子教学的平台及内容,并为各教育实体提供相应的管理平台。海珠区教育科研网中心将集网络管理及教育管理信息化、教育教学资源、教育行政信息、远程教育、教师培训、社区成人教育等应用项目于一体。
所有的海珠区完成校园网建设的中小学校、幼儿园与海珠教科网中心之间实现高带宽、稳定、安全的连接,广州市海珠教育科研网以1000M的裸光纤连接广州市教育科研网,教科网成为全区各中小学校、幼儿园校园网和直属单位网络的唯一出口。图1为广州市海珠教育科研网拓扑图。以下是海珠区教育信息化的建设情况:
1.基本情况
海珠区教育局下辖中学28所;小学72所;中职技校2所。学生总数10万多人;在编教师7000多人。
2.网络环境
全区各级学校中,92%可以通过宽带教科网接入互联网,8%的学校通过拨号接入海珠教科网。经过持续建设后,短时间内即可建成支持教育信息化应用的宽带网络基础环境。
3.硬件设施
全区计算机总数达16496台。实现总生机比10.88∶1,其中小学11.7∶1;初中10.24∶1;高中5.49∶1。已达到或超过“校校通”工程的要求。为全区教育信息化应用提供了基本的硬件基础。
二、网络行为分析系统总体设计
1.设计目标
(1) 功能要求
①实现海珠区教育科研网所有用户上网行为详细记录,为保障网络安全提供了审计数据基础。系统应实现对广州市“教育e时代”教育专网用户的上网行为记录、审计、统计与分析,能给教育行政部门提供了未成年人上网行为、热门网站、潮流行为及其网上兴趣爱好等重要基础信息、分析数据和具体分析结果,能在通过流行的信息网络加强未成年人思想道德教育工作上提供大量准确可靠的决策依据。
②从海量的上网记录数据中,按要求、按规则及时排查分析出不良上网行为的信息。根据海珠区教育科研网网络出口的统计数据,平均每秒在线并发连接数是12000,并发连接数峰值是16000。这样每天网络审计的记录都是海量数据,利用人工排查分析出不良上网行为几乎是不可能的。系统应能自动根据入侵检测规则、防黄规则、防毒规则和其它安全规则进行自动排查分析,从而准确地获得不良上网行为的记录信息。
③对网上不良行为、犯罪活动进行跟踪和追查。对网内用户或冒充广州市海珠区教育科研网用户,进行危害国家安全与社会稳定行为进行追查:如对信息网络中存储、处理或者传输的数据和应用程序进行删除、修改或者增加的;故意制作、传播计算机病毒等破坏性程序的;宣扬封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖、教唆犯罪等行为。我们都能利用网络行为分析系统对这些行为进行分析,并严密的监控和跟踪。
④建立市、区、校的教科网联防安全机制,形成广州市教育科研网络统一安全阵线。系统能与海珠区教育科研网中的IDS系统、网络安全审计系统和千兆防火墙实现安全联动。对多次追查并列入黑名单的用户和上网行为进行自动深入跟踪并做详细记录,发现有不法网上行为和操作时,应立即向“教育e时代”专网IDS系统、“教育e时代”专网CA认证系统和防火墙报警,必要时实现强硬安全措施,通过自动防火墙设置立即中断该网上行为和用户登录。与此同时,要将分析报告出现的网上不良行为自动报告广州市教育科研网入侵检测系统并报警,另外,能与各区教育科研网防火墙联动,实现市区联防。
(2)性能要求
①系统的稳定性和安全性。系统是面向海珠区教育科研网的所有用户,记录学生每分每秒的上网动作和具体信息。区教科网共有10万多用户,系统的记录、分析和处理并发量非常大,而且尽量避免出现错记和遗漏等现象。所以网络行为分析系统的设计必须能够根据需求,充分考虑用户的并发数量,提供高度的稳定性和安全性。
②安全联动性。网络行为分析系统发现预设的非法网上行为时,要及时向网络管理员报警,并自动进行安全联防动作,即向IDS系统和防火墙发出防范动作请求,由防火墙实施安全保护策略。
③可扩展性。学生网络行为分析系统要具备网络流量监控和各种上网行为控制功能的可扩展性能。例如:上网流量分析、上网时间分析、上网浏览网站类型分析和黄色网站、病毒、网络入侵分析等功能。
2.总体架构
网络行为分析系统的主要架构为B/S架构,无论是前台操作或是后台管理,全部操作均使用通用浏览器进行,保证系统易于操作、易于使用、界面友好。利用服务器端IIS将网站架构在Internet平台,主体程序使用J2EE、
Microsoft Active Server Page作为网站的主体编写语言,利用XML技术,结合电子身份认证系统(NETCA),并提供用户管理、系统管理、日志管理等功能,为用户提供了信息安全平台。
系统基于面向服务的架构(Service-Oriented Architecture ,SOA)使服务器作为网络行为分析系统的核心。服务器用开放式标准,并通过远程登录的后即可进行操作。系统应能与入侵检测、原有防火墙进行B/S方式的联动,是利用加密的SSL消息建立安全的连接,构建一个安全数据传输通道和基于ActiveX DLL数据库连接实现的,这个方法和基于SAML的安全性令牌不相关。通过配置不同的Credential Mapper和Identity Asserter对,可以支持其他的安全性令牌类型。
图2是针对海珠区教科网用户及管理员的数据交换图。网络行为分析系统的体系结构如图3所示。
3.模块分析
系统主要分为数据采集模块、预处理模块、数据包解码模块、主题分析模块、行为分析模块,各模块之间的关系图4所示。
(1) 数据采集模块
网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等。
网络行为分析系统的工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当服务器打开工作监听模式,无论数据包中的目标地址是什么,服务器都将接收(通过镜像口复制流经网关的所有数据)。
本模块实现的功能到Libpcap库流程的循环抓包前为止通过OpenPcap函数依次调用图5的Libpcap库中的函数。
(2)预处理模块
预处理程序的模块化,使得网络行为分析系统的功能可以很容易地扩展,用户和程序员能够将模块化的插件方便地融入网络行为分析系统之中。预处理程序代码在探测引擎被调用之前运行,但在数据包译码之后。通过这个机制,数据包可以通过额外的方法被修改或分析。使用Preprocessor关键字加载和配置预处理程序,SetPktProcessor函数实现数据包解码,根据Datalink(由上面的Libpcap库函数得到)的值来判断并关联解码,函数解码结构如图6所示。
(3)应用协议解析模块
应用协议解析模块是网络行为分析系统中的核心模块。本文实现的应用层协议识别是基于正则表达式的分组内容模式匹配。
该模块从正则表达式规则库中载入各种应用协议的正则表达式特征字,实时对分组内容进行匹配。本文目前实现的正则表达式规则库总共包含78种应用协议的特征字。
(4) 主题分析模块
主题分析功能模块主要实现的功能是,对一些统计分析主题进行常用统计、相关分析、聚类分析和判别分析等,从而得出科学的统计分析信息。这些统计分析信息主要是以排行榜和统计报表的形式显示。
一些分析主题的例子包括:学生最喜爱的网站排行、学生最喜爱的搜索引擎排行、学生最喜爱的栏目排行、学生最喜爱的论坛排行等。
1)学生网上流行前线:记录学生上网最关注的时事、体育、娱乐热点话题,在一个固定的时间(如一个星期,一个月)系统自动得出学生最关心的网上流行话题统计表,用户也可以自定义时间段得出所需要的统计报表。
2)学生最喜爱的网站排行:记录学生所有曾经浏览的网站的IP地址,统计每一个IP地址的访问总人次和访问频率。
3)学生最喜爱的搜索引擎排行:记录学生所有曾经访问的搜索引擎的IP地址、URL和引擎名称,统计每一个搜索引擎的总访问人次和访问频率。
4)学生最喜爱的栏目排行:收集学生较多关注的网站栏目,记录该栏目的网页URL,把不同网站同一类型的栏目当成一个栏目统计其访问总人次。
5)学生最喜爱的资源排行:统计学生较多关注的网络资源,如电影、动漫、连续剧、MP3等,统计每一类的访问总人次得出排行榜。
6)学生最喜爱的软件排行:统计学生所有曾经下载的软件,浏览学习或者下载过其教程的软件。
7)学生最喜爱的论坛排行:记录学生所以曾经登录、发帖的论坛的IP地址和论坛名称,统计其访问总人次和访问频率,每星期更新排行榜。
8)学生最喜爱的聊天工具排行:统计学生所有曾经使用的聊天工具名称和其连接端口。
9)学生最喜爱的下载网站排行:记录学生所有曾经访问的主流专业下载网站的IP地址和网站名称,统计访问总人次和访问频率。
10)学生最喜爱的音乐站排行:记录学生所有曾经访问的主流音乐网站的IP地址和网站名称,统计访问总人次和学生上这类网站的目的(下载音乐、关注动向等)。
11)学生最喜爱的娱乐站排行:记录学生所有曾经访问的主流娱乐网站的IP地址和网站名称,统计访问总人次和学生关注的娱乐项目(电影、音乐、八卦新闻等)。
12)学生最喜爱的游戏站排行:记录学生所有曾经访问的主流游戏网站的IP地址和网站名称,统计访问总人次、学生关注的游戏类型(网游、大型单机游戏、游戏等)和学生在线玩小游戏的频率和所使用的端口。
13)学生最喜爱的新闻站排行:记录学生所有曾经访问的主流新闻门户网站的IP地址和网站名称,统计访问总人次和学生关注的新闻栏目(体育、时事)等。
14)学生最喜爱的电子邮局排行:记录学生所有曾经访问的电子邮局的IP地址和网站名称,统计访问总人次和访问频率。
15)使用匿名代理的统计分析:统计使用匿名代理上网的数量。
16)浏览性教育相关网站栏目的统计分析:记录学生浏览性教育相关网站、栏目的IP地址或者网页URL,统计访问总人次。
17)浏览暴力相关网站的统计分析:记录学生浏览暴力相关的IP地址,统计访问总人次。
18)浏览色情/性行为相关网站的统计分析:记录学生浏览色情/性行为相关网站的IP地址,统计访问总人次。
19)对指定关键字库进行搜索的统计分析:统计学生对指定关键字库中存在的关键字的搜索人次和搜索频率。
(5) 行为分析模块
行为分析功能模块是以数据仓库为基础,运用数据挖掘的各种技术,对历史的,综合的数据进行统计,以统计报表的形式输出统计结果,方便用户进行下一步的分析(如图7)。这个功能模块主要包括三方面统计数据:一是访问人群信息统计,主要包括新访问者与重复访问者的数据统计,具体信息还包括这些人群地理分布等;二是访问行为统计分析,主要包括以单篇日志为单位的访问量分布统计、以日志分类为单位的分布统计等;三是对网志站点向外链接与来访站点分布的统计,还包括通过搜索引擎访问网志的信息分布统计等。
下面介绍粗糙集对学生上网行为数据挖掘的实现原理。假设现有8种类型的信息记录构成了一个数据集合A,记为:A={x1,x2,x3,x4,x5,x6,x7 ,x8},每种数据记录都有信息属性,按照信息安全类别的不同,我们将这些信息分成R1={安全,普通,危险}三个大类,那么所有安全的信息构成集合X1={x1,x2,x6,x8},普通信息构成集合X2={x3,x4},危险的信息是:X3={x5,x7 }。按照信息安全类别这个属性我们就把数据集合A进行了一个划分(所谓A的划分就是指对于A中的任意一个元素必然属于且仅属于一个分类),那么数据集合属性就形成了一种知识。一种对集合A的划分就对应着关于A中数据的一个知识,假如还有其他的属性,比如还有访问类别R2={学习,娱乐,数据传输},传输方式R3={Http,FTP,流媒体},这样加上R1属性对A构成的划分分别为:
A/R1={X1,X2,X3}={{x1,x2,x6},{x3,x4},{x5,x7,x8}}
(安全类别分类)
A/R2={Y1,Y2,Y3}={{x1,x2},{x5,x8},{x3,x4,x6,x7}}
(访问类型分类)
A/R3={Z1,Z2,Z3}={{x1,x2,x5},{x6,x8},{x3,x4,x7}}
(传输方式分类)
这些所有的分类合在一起就形成了一个基本系统分析的知识库。除了安全的{x1,x2,x6}、Http传输的{x1,x2,x5}、学习类型的{x1,x2}这样的概念以外还可以表达例如:Http传输的学习类型{x1,x2,x5}∩{x1,x2}={x1,x2},危险的数据传输({x5,x7,x8}∩{x3,x4,x7}∩{x3,x4,x6,x7}={x7},危险的FTP传输{x5,x7,x8}∪{x6,x8}={x5,x6,x7,x8}。而类似这样的概念可以通过求交运算得到,比如X1与Y1的交就表示安全的学习访问。所有的这些能够用交、并表示的概念以及加上上面的三个基本知识(A/R1,A/R2.A/R3)一起就构成了一个知识系统记为R=R1∩R2∩R3,它所决定的所有知识是A/R={{x1,x2},{x3},{x4},{x5},{x6},{x7},{x8}}以及A/R中集合的并。
网络行为分析系统分析型数据库(DW数据)中的二维表如表1所示。
可以看出,这个表就是上面的那个例子的二维表格体现,而最后一列是我们的决策属性,也就是说评价什么样的数据集合正常。这个表中的每一行表示了类似这样的信息:安全的学习类型Http访问正常,危险的娱乐类型FTP访问异常等等。系统把所有的记录看成是论域A={x1,x2,x3,x4,x5,x6,x7,x8},任意一个列表示一个属性构成了对论域的元素上的一个划分,在划分的每一个类中都具有相同的属性,而条件属性:安全类别、访问类型、传输方式都是可以通过管理员添加设置。系统将管理员设置的条件属性发送至内部判断机制类,自动计算决策属性(最后一项的是否正常)的近似值,最后我们得到化简后的知识库R2,R3,从而能得到下面的决策规则:安全的学习->正常,学习Http->正常,危险的数据传输->异常,流媒体数据传输->正常,危险的FTP->异常,利用粗集的理论还可以对这些规则进一步化简得到:安全->正常,学习->正常,危险->异常。这就是上面这个数据表所包含的真正有用的知识,而这些知识都是从数据库有粗糙集方法自动学习得到的。
三、小结
本文详细描述了网络行为分析系统的设计实现细节,同时在真实的教育科研网络中进行了实验,验证了系统的功能。
首先介绍了本系统的应用背景——广州市海珠教育科研网,本系统的设计与应用完全针对该教育区域网,力求能对网内用户(主要是学生)的网络行为进行分析并在此基础上进行一定的引导和管理。第二部分是网络行为分析系统的设计实现细节,从总体设计目标,总体结构以及主要模块的设计三个角度加以阐述。最后还介绍了实验的环境、实验过程以及实验结果分析。
参考文献:
[1]殷肖川,刘志宏,姬伟锋,万映辉.网络编程与开发技术[M].西安:西安交通大学出版社,2003:33-92.
[2]卢开澄.计算机密码学——计算机网络中的数据预安全[M].北京:清华大学出版社,1998:12-23.
[3]陈蕾蕾,曲保章.IP数据报重组算法及实现[J].今日电子,1998.第7期:31-33.
(编辑:隗爽)