防火墙与入侵检测课程设计报告Word文档下载推荐.docx

上传人:b****1 文档编号:3104319 上传时间:2023-05-01 格式:DOCX 页数:17 大小:556.48KB
下载 相关 举报
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第1页
第1页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第2页
第2页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第3页
第3页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第4页
第4页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第5页
第5页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第6页
第6页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第7页
第7页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第8页
第8页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第9页
第9页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第10页
第10页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第11页
第11页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第12页
第12页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第13页
第13页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第14页
第14页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第15页
第15页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第16页
第16页 / 共17页
防火墙与入侵检测课程设计报告Word文档下载推荐.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

防火墙与入侵检测课程设计报告Word文档下载推荐.docx

《防火墙与入侵检测课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《防火墙与入侵检测课程设计报告Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。

防火墙与入侵检测课程设计报告Word文档下载推荐.docx

主要分工

组长

090420115

张洋

数据源模块,响应模块,部分界面功能

组员

090420102

韩晓琰

数据分析模块,规则设置模块,部分界面功能

设计开始日期

2012-11-12

项目完成日期2012-11-22

文档评审成绩(共50分)

评审项目

评审内容

成绩标准

评审成绩

课题是否从实际出发,是否具有创意等

10

文档格式

文档格式是否规范;

文字是否规范;

图表是否规范;

术语是否准确等

20分

文档质量

程序设计思想与整体框架是否清晰等

文档总体评价

总成绩

程序功能完备性评审成绩(共50分)

评审内容

程序运行状况

程序是否能正常运行;

是否出现死锁;

是否遇到错误而中止运行

10分

程序正确性

对于给定的输入数据,是否能得到正确的输出结果

15分

程序与文档的一致性

程序与各种文档的内容是否一致

5分

程序的代码量

程序代码量的大小

实现方法

图形界面或命令行界面,美观程度

5分

实现语言

面向过程或面向对象

程序总体评价

哈尔滨工业大学(威海)课程设计任务书

姓名:

张洋、韩晓琰

090420115、090420102

院(系):

计算机科学与技术学院专业:

信息安全

任务起止日期:

2012-11-12至2012-11-22

课程设计题目:

轻量级入侵检测系统的设计与实现

问题阐述与分析:

背景及意义:

局域网安全防护系统,需要使用主动地安全防护技术,以达到对内部攻击、外部攻击、误操作的实时性保护。

而其中后以防火墙和入侵检测技术使用最多。

即在网络系统受到危害前进行分析并积极的响应。

现在,局域网被攻击、瘫痪事件屡见不鲜。

防火墙和入侵检测应该受到人们的高度重视。

但是,现在的防火墙和入侵检测仅仅停留在研究、实验阶段。

可见,防火墙和入侵检测产品仍具有较大的发展空间。

本文使用入侵检测技术设计了一个能够进行局域网安全防护的轻量级入侵检测系统。

主要问题:

输入数据的选择是首先需要解决的问题,目前有基于主机的入侵检测系统和基于网络的入侵检测系统。

两种基本的入侵检测方法由于其采用的数据来源不同,而呈现不同的特点。

基于网络的入侵检测系统有很多优势,它能检测只能通过分析网络业务才能检测出来的网络攻击,可以检测出绝大多数的外部攻击行为,如拒绝服务攻击等。

不存在基于主机的入侵检测系统在网络环境下遇到的审计踪迹格式异构性的问题。

所以,本系统基于网络进行入侵检测。

使用Libnids进行数据包捕获、重组、分析。

另外,快速高效的进行规则匹配也尤为重要。

系统使用SQLite3轻量级关系型数据库存储规制数据。

而当分析出可疑的数据包时应积极做出响应。

系统使用Libnids库对基于TCP的各种协议进行阻断。

主要研究内容:

此次课程设计主要研究基于网络的入侵检测系统的各个功能模块及其特点,并设计实现了网络监听程序。

即实现扫描器、分析器、响应器。

工作量:

(本项主要说明课程设计的工作量体现之所在,具体的设计模块)

系统主要分为信息源获取模块(扫描器)、分析引擎模块(分析器)、响应模块(响应器)。

附加功能有规则设置模块。

可能用到的技术:

QT制作界面,与C程序通信,Libnids库使用、SQLite3数据库。

工作计划安排:

(张洋)

2012-11-12至2012-11-13:

查阅相关论文资料,相关开源代码进行学习。

2012-11-14至2012-11-16:

实现信息源获取模块。

2012-11-17至2012-11-19:

实现响应模块模块(警告及阻断)。

2012-11-20至2012-11-21:

测试所有模块,修复检测到的各种问题。

2012-11-22至验收前:

美化UI,不断测试系统。

同组设计者及分工:

(韩晓琰)

实现分析引擎模块(规则匹配)。

不断优化匹配算法,完成规则设置模块。

合并及测试所有模块,修复检测到的各种问题。

一、软硬件运行环境

●硬件推荐配置

CPU:

Pentium(R)Dual-Core

内存:

2GB

硬盘:

320GB

●软件运行环境

操作系统:

Ubuntu12.04(推荐使用64位系统)

相关函数库:

Libpcap、Libnet、Libnids、SQLite3、QT

●软件编译环境

编译器:

GCC4.6.3

Libpcap、Libnet、Libnids、SQLite3、QT、QTCreator

二、

项目研究背景与意义

(1)背景意义

(2)需求分析

三、

关键技术及解决方案

(1)界面、可执行程序通信

由于系统提供命令行和界面两种接口。

而命令行为原生接口,故需要将命令行输出映射到界面,或者将界面事件传递给应用程序。

界面方面,使用QT绘制,并使用QProcess、system与应用程序进行交互。

应用程序方面,使用printf、system与应用程序或界面程序进行交互。

具体架构图,如下。

(2)数据源捕获技术

使用Libnids提供的库函数,注册分析IP、TCP、UDP、HTTP的回调函数。

nids_register_ip_frag(ip_protocol_callback);

/*注册分析IP协议回调函数,只处理非TCP、UDP协议*/

nids_register_tcp(tcp_protocol_callback);

/*注册分析TCP协议回调函数,只处理非HTTP协议*/

nids_register_udp(udp_protocol_callback);

/*注册分析UDP协议回调函数,只处理非HTTP协议*/

nids_register_tcp(http_protocol_callback);

/*注册分析HTTP协议回调函数*/

回调函数主要获得源地址和目的地址等相关信息,以TCP协议分析为例。

charsip[255],dip[255];

intsport,dport;

structtuple4ip_and_port=tcp_connection->

addr;

my_inet_ntoa(*((structin_addr*)&

(ip_and_port.saddr)),sip);

(ip_and_port.daddr)),dip);

sport=ip_and_port.source;

dport=ip_and_port.dest;

tcp_analyser(sip,sport,dip,dport,tcp_connection);

其中,tcp_analyser函数将获取的信息传递给分析器。

sprintf(cmd,"

../annalyser/pattern@@match##tcp%s%d%s%d%s"

sip,sport,dip,dport,filename);

system(cmd);

而分析器则进一步调用响应器,对可疑的TCP连接进行阻断。

nids_killtcp(tcp_connection);

所有的动作则写入日志。

__writeLog__("

TCP"

0);

__writeLog__(asctime(timenow),0);

__writeLog__(ret,0);

__writeLog__(sip,0);

__writeLog__(NULL,sport);

__writeLog__(dip,0);

__writeLog__(NULL,dport);

__writeLog__(cmd,0);

(3)规则匹配技术

规则存储于轻量级关系型数据库Sqlite3中,如下图。

id

permit

sport

sip

dport

dip

arg

100

f

172.29.142.215

80

202.102.144.56

tcp

主要通过查询语句进行匹配,例如增加一条规则。

if(SQLITE_OK!

=sqlite3_exec(db,sqlstring,NULL,&

msg))

{

returnERROR;

}

else

{

returnSUCCESS;

(4)TCP阻断技术

目前,系统实现了对基于TCP协议的阻断,主要使用Libnids提供的APIs。

if(!

strcmp(protocol,"

ip"

)||!

udp"

))

elseif(!

tcp"

http"

nids_killtcp(stream);

(5)异常检测技术

通过注册攻击函数,可以实现对各种异常数据包或者扫描攻击进行检测。

switch(type)/*检测类型*/

caseNIDS_WARN_IP:

//IP异常数据包

break;

caseNIDS_WARN_TCP:

//TCP异常数据包

caseNIDS_WARN_UDP:

//UDP异常数据包

caseNIDS_WARN_SCAN//TCP扫描攻击

default:

//未知异常

四、测试

1、在程序调试阶段遇到的问题:

问题一:

Libnids捕不到包

解决方案:

添加以下代码

structnids_chksum_ctltemp;

addr=0;

temp.mask=0;

temp.action=1;

nids_register_chksum_ctl(&

temp,1);

问题二:

程序间通信

通过使用标准输入输出流、system、QProcess解决

问题三:

混杂模式失效

使用集线器代替交换机

2、问题及难点所在:

Libnids库函数的使用、QT相关界面函数的使用、协议的基本原理和理解、入侵检测系统的设计原理和思想。

3、

运行结果与分析(测试)

系统主界面,主要提供用户交互接口。

开始检测,列表显示当前的分析结果。

Kill表示成功阻断的个数,Pass表示放行的次数,Warn表示阻断失败或者无法进行阻断的次数。

双击每一行会显示详情。

日志查看,显示所有的记录日志。

规则设置,主要进行规则的增删改查。

异常检测查看,主要显示异常的数据包或者扫描攻击检测情况。

五、总结(收获与体会)

通过接近两周的《防火墙与入侵检测》课程设计,使我受益匪浅,主要表现在以下几方面。

一、加深了我对《防火墙与入侵检测》课程内容的理解,并应用于实践。

二、掌握了局域网安全系统的架构设计方法,及相关的技术实现方法。

例如,学会了Libpcap、Libnet、Libnids库函数的使用,能够进行数据包的抓取、分析、阻断,即可以开发小型的局域网安全系统。

掌握了Sqlite3轻量级数据库的基本使用方法。

同时,学习了Linux下使用QT进行界面开发的方法。

三、进一步提高了团队协作能力。

此次课程设计要感谢我的队友对我的种种帮助。

我们从一开始不知所措,到最终实现了该系统,可谓是感慨万千。

我们提高了分析问题、解决问题的能力。

尤其是在短时间内迅速的在互联网中检索相关资料,并尽可能的吸收消化核心的思想。

从捕获到第一个数据包,到最后提供两种用户使用接口,我们相互协作,共同攻关,一起熬夜,一起吃剩饭的日子将会给我们大四毕业之际画上难忘的一笔。

感谢我亲爱的队友小琰,感谢你的鼓励、帮助、包容。

四、最后,感谢老师的耐心指导和悉心讲解。

使外面不仅巩固了对防火墙及入侵检测基本原理和基本理论的理解,掌握防火墙及入侵检测应用系统设计开发的基本方法,提高了综合运用所学知识的能力。

而且,掌握了利用现有开发工具设计完成开发一个局域网安全防护系统的基本技能。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2