ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:556.48KB ,
资源ID:12768668      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12768668.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(防火墙与入侵检测课程设计报告.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

防火墙与入侵检测课程设计报告.docx

1、防火墙与入侵检测课程设计报告Harbin Institute of Technology at Weihai防火墙与入侵检测课程设计报告课程名称: 防火墙与入侵检测 设计题目: 轻量级入侵检测系统的设计与实现 院 系: 计算机科学与技术学院 班 级: 0904201 设 计 者: 张洋、韩晓琰 学 号: 090420115、090420102 指导教师: 张兆心 设计时间: 2012-11-12至2012-11-23 哈尔滨工业大学(威海)二零一二年十一月哈尔滨工业大学(威海)计算机学院防火墙与入侵检测课程设计验收及成绩评定表(项目组)项目名称局域网入侵检测系统的设计与实现职责学 号姓 名主

2、要 分 工组长090420115张洋数据源模块,响应模块,部分界面功能组员090420102韩晓琰数据分析模块,规则设置模块,部分界面功能设计开始日期2012-11-12项目完成日期2012-11-22文 档 评 审 成 绩 (共50分)评审项目评审内容成绩标准评审成绩项目名称课题是否从实际出发,是否具有创意等10文档格式文档格式是否规范;文字是否规范;图表是否规范;术语是否准确等20分文档质量程序设计思想与整体框架是否清晰等20分文档总体评价总成绩程 序 功 能 完 备 性 评 审 成 绩 (共 50 分)评审项目评 审 内 容成绩标准评审成绩程序运行状况程序是否能正常运行;是否出现死锁;是

3、否遇到错误而中止运行10分程序正确性对于给定的输入数据,是否能得到正确的输出结果15分程序与文档的一致性程序与各种文档的内容是否一致5 分程序的代码量程序代码量的大小10分实现方法图形界面或命令行界面,美观程度5分实现语言面向过程或面向对象5分程序总体评价总成绩哈尔滨工业大学(威海)课程设计任务书姓 名:张洋、韩晓琰 学 号:090420115、090420102 院(系): 计算机科学与技术学院 专 业:信息安全 任务起止日期:2012-11-12至2012-11-22 课程设计题目:轻量级入侵检测系统的设计与实现 问题阐述与分析: 背景及意义:局域网安全防护系统,需要使用主动地安全防护技术

4、,以达到对内部攻击、外部攻击、误操作的实时性保护。而其中后以防火墙和入侵检测技术使用最多。即在网络系统受到危害前进行分析并积极的响应。现在,局域网被攻击、瘫痪事件屡见不鲜。防火墙和入侵检测应该受到人们的高度重视。但是,现在的防火墙和入侵检测仅仅停留在研究、实验阶段。可见,防火墙和入侵检测产品仍具有较大的发展空间。本文使用入侵检测技术设计了一个能够进行局域网安全防护的轻量级入侵检测系统。主要问题:输入数据的选择是首先需要解决的问题,目前有基于主机的入侵检测系统和基于网络的入侵检测系统。两种基本的入侵检测方法由于其采用的数据来源不同,而呈现不同的特点。基于网络的入侵检测系统有很多优势,它能检测只能

5、通过分析网络业务才能检测出来的网络攻击,可以检测出绝大多数的外部攻击行为,如拒绝服务攻击等。不存在基于主机的入侵检测系统在网络环境下遇到的审计踪迹格式异构性的问题。所以,本系统基于网络进行入侵检测。使用Libnids进行数据包捕获、重组、分析。另外,快速高效的进行规则匹配也尤为重要。系统使用SQLite3轻量级关系型数据库存储规制数据。而当分析出可疑的数据包时应积极做出响应。系统使用Libnids库对基于TCP的各种协议进行阻断。主要研究内容:此次课程设计主要研究基于网络的入侵检测系统的各个功能模块及其特点,并设计实现了网络监听程序。即实现扫描器、分析器、响应器。 工作量:(本项主要说明课程设

6、计的工作量体现之所在,具体的设计模块)系统主要分为信息源获取模块(扫描器)、分析引擎模块(分析器)、响应模块(响应器)。附加功能有规则设置模块。可能用到的技术: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,

7、不断测试系统。 同组设计者及分工:(韩晓琰)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 软件运行环境操作系统:Ubuntu 1

8、2.04(推荐使用64位系统)相关函数库:Libpcap、Libnet、Libnids、SQLite3、QT 软件编译环境操作系统:Ubuntu 12.04(推荐使用64位系统)编译器:GCC 4.6.3相关函数库:Libpcap、Libnet、Libnids、SQLite3、QT、QTCreator二、 项目研究背景与意义(1) 背景意义局域网安全防护系统,需要使用主动地安全防护技术,以达到对内部攻击、外部攻击、误操作的实时性保护。而其中后以防火墙和入侵检测技术使用最多。即在网络系统受到危害前进行分析并积极的响应。现在,局域网被攻击、瘫痪事件屡见不鲜。防火墙和入侵检测应该受到人们的高度重视。

9、但是,现在的防火墙和入侵检测仅仅停留在研究、实验阶段。可见,防火墙和入侵检测产品仍具有较大的发展空间。本文使用入侵检测技术设计了一个能够进行局域网安全防护的轻量级入侵检测系统。(2) 需求分析输入数据的选择是首先需要解决的问题,目前有基于主机的入侵检测系统和基于网络的入侵检测系统。两种基本的入侵检测方法由于其采用的数据来源不同,而呈现不同的特点。基于网络的入侵检测系统有很多优势,它能检测只能通过分析网络业务才能检测出来的网络攻击,可以检测出绝大多数的外部攻击行为,如拒绝服务攻击等。不存在基于主机的入侵检测系统在网络环境下遇到的审计踪迹格式异构性的问题。所以,本系统基于网络进行入侵检测。使用Li

10、bnids进行数据包捕获、重组、分析。另外,快速高效的进行规则匹配也尤为重要。系统使用SQLite3轻量级关系型数据库存储规制数据。而当分析出可疑的数据包时应积极做出响应。系统使用Libnids库对基于TCP的各种协议进行阻断。三、 关键技术及解决方案(1) 界面、可执行程序通信由于系统提供命令行和界面两种接口。而命令行为原生接口,故需要将命令行输出映射到界面,或者将界面事件传递给应用程序。界面方面,使用QT绘制,并使用QProcess、system与应用程序进行交互。应用程序方面,使用printf、system与应用程序或界面程序进行交互。具体架构图,如下。(2) 数据源捕获技术使用Libn

11、ids提供的库函数,注册分析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);

12、/* 注册分析HTTP协议回调函数*/回调函数主要获得源地址和目的地址等相关信息,以TCP协议分析为例。 char sip255, dip255; int sport, dport; struct tuple4 ip_and_port = tcp_connection-addr; my_inet_ntoa(*(struct in_addr*)&(ip_and_port.saddr), sip); my_inet_ntoa(*(struct in_addr*)&(ip_and_port.daddr), dip); sport = ip_and_port.source; dport = ip_an

13、d_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); _writeLo

14、g_(asctime(timenow), 0); _writeLog_(ret, 0); _writeLog_(sip, 0); _writeLog_(NULL, sport); _writeLog_(dip, 0); _writeLog_(NULL, dport); _writeLog_(cmd, 0);(3) 规则匹配技术规则存储于轻量级关系型数据库Sqlite3中,如下图。idpermitsportsipdportdiparg100f0172.29.142.21580202.102.144.56tcp主要通过查询语句进行匹配,例如增加一条规则。if(SQLITE_OK != sqlite

15、3_exec(db, sqlstring, NULL, &msg) return ERROR;else return SUCCESS;(4) TCP阻断技术目前,系统实现了对基于TCP协议的阻断,主要使用Libnids提供的APIs。if(!strcmp(protocol, ip) | !strcmp(protocol, udp) return ERROR;else if(!strcmp(protocol, tcp) | !strcmp(protocol, http) nids_killtcp(stream); return SUCCESS;(5) 异常检测技术通过注册攻击函数,可以实现对各种

16、异常数据包或者扫描攻击进行检测。主要通过查询语句进行匹配,例如增加一条规则。switch (type) /* 检测类型 */ case NIDS_WARN_IP:/IP异常数据包 break; case NIDS_WARN_TCP:/TCP异常数据包 break; case NIDS_WARN_UDP:/UDP异常数据包 break; case NIDS_WARN_SCAN/TCP扫描攻击 break; default:/未知异常 break;四、 测试1、 在程序调试阶段遇到的问题:问题一:Libnids捕不到包解决方案:添加以下代码 struct nids_chksum_ctl temp;

17、 addr = 0;temp.mask = 0;temp.action = 1; nids_register_chksum_ctl(&temp,1);问题二:程序间通信解决方案:通过使用标准输入输出流、system、QProcess解决问题三:混杂模式失效解决方案:使用集线器代替交换机2、 问题及难点所在:Libnids库函数的使用、QT相关界面函数的使用、协议的基本原理和理解、入侵检测系统的设计原理和思想。3、 运行结果与分析(测试)系统主界面,主要提供用户交互接口。开始检测,列表显示当前的分析结果。Kill表示成功阻断的个数,Pass表示放行的次数,Warn表示阻断失败或者无法进行阻断的次

18、数。双击每一行会显示详情。日志查看,显示所有的记录日志。规则设置,主要进行规则的增删改查。异常检测查看,主要显示异常的数据包或者扫描攻击检测情况。五、 总结(收获与体会)通过接近两周的防火墙与入侵检测课程设计,使我受益匪浅,主要表现在以下几方面。一、加深了我对防火墙与入侵检测课程内容的理解,并应用于实践。二、掌握了局域网安全系统的架构设计方法,及相关的技术实现方法。例如,学会了Libpcap、Libnet、Libnids库函数的使用,能够进行数据包的抓取、分析、阻断,即可以开发小型的局域网安全系统。掌握了Sqlite3轻量级数据库的基本使用方法。同时,学习了Linux下使用QT进行界面开发的方

19、法。三、进一步提高了团队协作能力。此次课程设计要感谢我的队友对我的种种帮助。我们从一开始不知所措,到最终实现了该系统,可谓是感慨万千。我们提高了分析问题、解决问题的能力。尤其是在短时间内迅速的在互联网中检索相关资料,并尽可能的吸收消化核心的思想。从捕获到第一个数据包,到最后提供两种用户使用接口,我们相互协作,共同攻关,一起熬夜,一起吃剩饭的日子将会给我们大四毕业之际画上难忘的一笔。感谢我亲爱的队友小琰,感谢你的鼓励、帮助、包容。四、最后,感谢老师的耐心指导和悉心讲解。使外面不仅巩固了对防火墙及入侵检测基本原理和基本理论的理解,掌握防火墙及入侵检测应用系统设计开发的基本方法,提高了综合运用所学知识的能力。而且,掌握了利用现有开发工具设计完成开发一个局域网安全防护系统的基本技能。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1