当前位置: 魅力文档网 > 教案设计 >

简单校园网蠕虫病毒报警系统的设计与实现

| 来源:网友投稿

摘要:针对蠕虫病毒会引起网络流量急剧增加这一特征,开发了一个简单的基于流量分析的校园网蠕虫病毒报警系统,介绍了该系统的设计与实现过程。

关键词:蠕虫病毒;校园网;报警系统

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)10-2258-03

Design and Implementation of the Simple Campus Network Worm Virus Alarm System

JU Shui, QU Yan-feng,

(Henan Polytechnic University, Jiaozuo 454000, China)

Abstract: Aiming at the feature that worm virus may cause the rapid increase of the network traffic, a simple campus network worm virus alarm system based on traffic analysis is developed. The design and implementation of the system are introduced in the paper.

Key words: worm virus; campus network; alarm system

目前,多种病毒通过互联网大肆传播,其中蠕虫病毒是目前计算机病毒中危害最大、破坏能力最强的一种病毒。它不仅攻击网络用户,导致本机系统崩溃,更严重的是会产生大量无用报文最终造成网络的拥塞直至瘫痪。红色代码、蠕虫王、冲击波、震荡波、Santy、Zotob、熊猫烧香及各种变种等蠕虫的大规模爆发,不仅造成了难以估计的经济损失,而且对整个互联网的正常运行造成严重威胁[1]。随着蠕虫病毒的日益更新,它已经从被动查找感染目标发展到现在的主动查找感染目标,这种病毒的感染能力极大、感染速度极快,可以在短时间内造成大规模爆发。当蠕虫病毒爆发时,网络一般马上瘫痪;计算机则表现出运算速度极慢、系统资源被耗尽、死机、鼠标移动速度极慢、键盘失灵、莫名其妙的计算机提示等等。

但是蠕虫病毒有一个重要的缺陷,其爆发带有极显著的特征,即网络流量急剧增加。针对这一点,为了满足校园网管理中的实际需求,开发了一个简单的基于流量分析的校园网蠕虫病毒报警系统。

1 系统功能描述

1.1 用例模型

系统需要完成的基本功能是从校园网核心交换机上取回日志文件的内容,对其中记录的信息进行分析,统计在某个时间段内各IP地址对应的数据包的数量,当某个IP地址在该时间段内的数据包数量超过给定阈值时,则认为该校园网用户已经感染带有攻击代码的蠕虫病毒。根据这个IP地址找到相应用户,暂时取消该用户访问网络的权限,并用短信通知该用户染毒信息,请用户及时查杀病毒,同时记录下这些相关信息,并以系统消息方式通知网络管理员。

在系统的分析和设计阶段本文使用UML(Unified Modeling Language,统一建模语言)进行建模[2]。它是对使用面向对象方法开发的产品进行说明、可视化和编制文档的一种标准语言,使开发人员能够专注于建立产品的模型和结构,而不需要过多关心选用什么程序语言和算法实现。当模型和结构建立完成之后,可以用UML工具转化成指定的程序语言代码。常用UML工具有IBM的Rational Rose和MS的Visio,本文使用前者。

UML中一般用视图来划分没有明显界限的各种组件。视图是一个用来表达系统某类特征所需要的UML建模组件的子集。用例视图即是系统功能的模型图,是被称为参与者的外部用户所能直接感知到的。它仅包括一种描述工具——用例图,其中的元素主要是用例和参与者。用例是系统中用来描述每个基本功能的单元,可以理解为系统与参与者之间的一次交互过程。用例图的作用是列出系统中的所有用例和参与者,并显示参与者与用例执行的关系。

根据系统需求我们抽象出三个用例(如图1所示):分析日志、短信通知和数据库维护,其中分析日志包含取日志记录用例,短信通知包含获取手机号码用例,数据库维护包含登录用例。系统需要能按照设定时间自动实行对网络状况的监控,因此定时器成为一个抽象的参与者。

1.2 事件流

在整个系统中,核心部分是日志记录的获取及分析。因此,本文以下主要对这一部分进行详细介绍。取日志记录的事件流比较简单,这里主要给出分析日志用例中的事件流:从日志文件syslog中逐行读取记录,通过统计和分析,判断是否存在蠕虫病毒感染。如果有,则将相应IP地址等信息作为一条记录写入数据库。在写入前,需要先查询数据库,看是否已经存在该IP地址的记录,如果存在,则仅更新库中记录的统计类字段,否则,把该记录作为一条新记录写入数据库。详细描述事件流如下:

主事件流:系统提取异常日志记录(时间、IP),写入数据库。

1) 系统定时打开syslog文件,从上次读的偏移量开始读取新的日志。

2) 取有病毒特征的日志行。

3) 提取关键数据(时间、IP),形成异常记录。

4) 添加异常记录到数据库。

其它事件流1:无新日志,不做添加记录操作。

1) 系统定时打开syslog文件,从上次读的偏移量开始读取新的日志。

2) 无新日志行,系统不作提示。

其他事件流2:记录重复,修改合计和记录时间。

1) 系统定时打开syslog文件,从上次读的偏移量开始读取新的日志。

2) 取有病毒特征的日志行。

3) 提取关键数据(时间、IP),形成异常记录。

4) 试图添加一个异常记录到数据库,在此项中,记录已存在。

5) 修改该记录的合计项和最后记录时间。

错误事件流:记录无法添加进库。

1) 系统定时打开syslog文件,从上次读的偏移量开始读取新的日志。

2) 取有病毒特征的日志行。

3) 提取关键数据(时间、IP),形成异常记录。

① 由于系统或通信错误,系统无法添加记录入库

② 系统打印错误及详细信息。

2 系统开发

校园网中涉及多种不同的系统平台,为了保证所开发系统能跨平台运行,我们采用JAVA语言进行开发,遵循J2EE标准[3]。

2.1 系统部署

系统中定时自动运行的后台程序使用JAVA开发,管理员界面采用浏览器/服务器结构,使用JSP实现,系统组件的部署情况可以用UML的物理视图表示,如图2所示。

图2 物理视图

其中将与交换机相连,存放日志文件的计算机称为日志服务器,定时自动运行的两个组件部署在该处,管理员界面部署在Web服务器上,它们全部通过JDBC来访问数据库服务器。管理员可以通过任何一台计算机上的Web浏览器访问管理员界面,对数据库进行维护操作。

2.2 开发环境

系统使用Borland JBuilder 2008开发,操作系统为Windows 2003,建模工具使用Rational Rose 2003,数据库为SQL Server 2008,Web服务器上安装支持JSP的tomcat6.0。

2.3 数据库设计

数据库中主要包含用户信息表和异常记录表。用户信息表记录网络用户信息,包括用户名称,用户标识,手机号码等。对于校园网内的单位用户,通常分配若干连续的IP地址段,在某个单位用户IP范围内的异常只需要按其提供的有效手机号码发送一次短信,所以表中设有“起始地址”和“终止地址”两个字段,用来表示单位用户的IP地址范围。异常记录表记录经过统计分析后获得的异常信息,包括IP地址,数据包统计等。其中“短信发送时间”字段,是在给记录中的IP地址对应用户发送短信后根据系统时间写入的,通过个字段管理员可以掌握向用户发出杀毒通知(同时注销该用户有效访问校园网权限)的有效时间。

3 主要模块测试

通过对各个组成模块的测试,均能正常完成相应功能,其中取日志记录这一模块虽然事件流简单,测试时却遇到一些问题,对系统功能实现造成一定影响,这里主要对这一模块的测试加以描述。

3.1 模块功能描述

取日志记录模块是从日志文件中逐行读出日志记录提交给分析日志模块,要求保证日志记录无遗漏、无重复。

3.2 模块实现

类logAnalysis中封装的类构造方法logAnalysis ()和方法getline()实现模块功能。类构造方法logAnalysis ()功能是进行初始化工作:从记录上次读取结束时的日志文件指针偏移量的文件offset.txt中获得数据(第一次运行时自动创建offset.txt,偏移量数据设定为零),然后与日志文件建立连接,设定其文件指针的位置,此方法只在系统启动时运行一次。getline()功能是按照设定的文件指针从日志文件中逐行读出日志记录,到达日志文件结束时将此时的文件指针偏移量保存在offset.txt中,此方法需要在系统中定时地多次运行,对日志文件中的记录进行接近实时的读取。

3.3 模块测试

对模块进行测试时使用的日志文件为“syslog.log”,记录其指针偏移量的文件为“offset.txt”。测试中出现的问题及解决措施如下:

1) 出现了上次系统运行时,最后通过getline()读取的所有日志行记录,在系统再次运行时重复读取的现象。这种情况的出现是因为在getline()中对“offset.txt”写入偏移量后没有关闭对此文件的连接,使得系统退出时最后写入的偏移量没有写回磁盘。必须通过getline()执行写入操作后关闭文件连接。

2) 在输出的文件记录信息中出现了空行。这种情况的出现是因为取记录时将行结尾的回车符作为一行记录读入造成的。解决的措施是对存放读入的一条记录的字符串进行长度的判断,将这种记录过滤掉。

4 结论

本文介绍了一个简单的基于流量分析的校园网蠕虫病毒报警系统的设计与实现,该系统针对蠕虫病毒会引起网络流量急剧增加这一特征,通过统计方法来发现染毒用户,自动取消该用户访问网络的权限,保证对病毒处理的实时性,用短信通知染毒用户查杀病毒,使得用户能及时获取相关信息,促使用户能够对病毒迅速处理和尽早恢复网络正常使用。

参考文献:

[1] 向郑涛,陈宇峰,董亚波,等.蠕虫检测技术研究进展[J].计算机工程与设计,2009,30(5):1060-1064.

[2] 谢星星,沈懿卓. UML基础与Rose建模实用教程[M].北京:清华大学出版社,2008.

[3] 罗玉玲.J2EE应用开发详解[M].北京:电子工业出版社,2009.


推荐访问:校园网 报警系统 蠕虫病毒 简单 设计

热门排行

2023年《你说我猜》智力游戏活动教案3篇

《你说我猜》智力游戏活动教案1  教学目的:  1、在感知物体特征的基础上,学用较准确的词语来描述事物。  2、专心倾听别人的描述,准确地猜出物体的名称...

幼儿园中班游戏揪尾巴教案三篇

2、培养幼儿能在游戏中合作意识及合作能力。  【活动准备】废旧报纸条彩色布条音乐游戏光盘  【活动过

最新中班防灾减灾教案反思,防灾减灾日教案大班(16篇)

作为一名教师,通常需要准备好一份教案,编写教案助于积累教学经验,不断提高教学质量。既然教案这么重要,那到底该怎么写一篇优质的教案呢?这里我给大家分享一...

最新忙年喽大班社会教案,地球我家大班社会教案(八篇)

作为一名教职工,总归要编写教案,教案是教学蓝图,可以有效提高教学效率。优秀的教案都具备一些什么特点呢?下面是小编带来的优秀教案范文,希望大家能够喜欢!...

部编版小学四年级语文下册第26课巨人花园优秀教案

26巨人的花园 课题 巨人的花园? 课型 讲读课文? 授课 时间 2课时? 教学 目标 1 自主学习

中班古诗山行教案

中班古诗山行教案 篇一:中班幼儿学古诗】 回乡偶书贺知章(唐) 少小离家老大回,乡音无改鬓毛衰。 儿

大班安全教案放鞭炮

大班安全教案放鞭炮 篇一:幼儿园大班安全教案】 幼儿园大班安全教案:“着火了,怎么办?” 一.设计思

硬笔书法教案撇、捺写法

哈尔滨市道外区少年之家 哈尔滨市道外区少年之家 李爽 硬笔书法教案 楷书基本笔画“撇画、捺画”的书写

大班体育教案趣味轮胎

大班体育教案趣味轮胎 篇一:大班体育活动:玩轮胎】 大班体育活动:玩轮胎 活动目标: 在玩滚轮胎的经

2023中班做风车教案6篇(2023年)

中班做风车教案6篇中班做风车教案篇1活动目标:1、学习用剪、粘贴合钉的方法制作风车。2、在用自制的风车布置教室的过程中,体验成功的快乐。活动准备:风车范例...