版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Harbin Institute of Technology at Weihai防火墙与入侵检测课程设计报告课程名称: 防火墙与入侵检测 设计题目: 轻量级入侵检测系统的设计与实现 院 系: 计算机科学与技术学院 班 级: 0904201 设 计 者: 张洋、韩晓琰 学 号: 090420115、090420102 指导教师: 张兆心 设计时间: 2012-11-12至2012-11-23 哈尔滨工业大学(威海)二零一二年十一月V哈尔滨工业大学(威海)计算机学院防火墙与入侵检测课程设计验收及成绩评定表(项目组)项目名称局域网入侵检测系统的设计与实现职责学 号姓 名主 要 分 工组长090420
2、115张洋数据源模块,响应模块,部分界面功能组员090420102韩晓琰数据分析模块,规则设置模块,部分界面功能设计开始日期2012-11-12项目完成日期2012-11-22文 档 评 审 成 绩 (共50分)评审项目评审内容成绩标准评审成绩项目名称课题是否从实际出发,是否具有创意等10文档格式文档格式是否规范;文字是否规范;图表是否规范;术语是否准确等20分文档质量程序设计思想与整体框架是否清晰等20分文档总体评价总成绩程 序 功 能 完 备 性 评 审 成 绩 (共 50 分)评审项目评 审 内 容成绩标准评审成绩程序运行状况程序是否能正常运行;是否出现死锁;是否遇到错误而中止运行10分
3、程序正确性对于给定的输入数据,是否能得到正确的输出结果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,不断测试系统。哈尔滨工业大学(威海)课程设计报告防火墙与入侵检测课程设计报告一、 软硬件运行环境l 硬件推荐配置CPU:Pentium(R) Dual-Core内存:2GB硬盘:320GBl 软件运行环境操作系统:Ub
8、untu 12.04(推荐使用64位系统)相关函数库:Libpcap、Libnet、Libnids、SQLite3、QTl 软件编译环境操作系统:Ubuntu 12.04(推荐使用64位系统)编译器:GCC 4.6.3相关函数库:Libpcap、Libnet、Libnids、SQLite3、QT、QTCreator二、 项目研究背景与意义(1) 背景意义局域网安全防护系统,需要使用主动地安全防护技术,以达到对内部攻击、外部攻击、误操作的实时性保护。而其中后以防火墙和入侵检测技术使用最多。即在网络系统受到危害前进行分析并积极的响应。现在,局域网被攻击、瘫痪事件屡见不鲜。防火墙和入侵检测应该受到人
9、们的高度重视。但是,现在的防火墙和入侵检测仅仅停留在研究、实验阶段。可见,防火墙和入侵检测产品仍具有较大的发展空间。本文使用入侵检测技术设计了一个能够进行局域网安全防护的轻量级入侵检测系统。(2) 需求分析输入数据的选择是首先需要解决的问题,目前有基于主机的入侵检测系统和基于网络的入侵检测系统。两种基本的入侵检测方法由于其采用的数据来源不同,而呈现不同的特点。基于网络的入侵检测系统有很多优势,它能检测只能通过分析网络业务才能检测出来的网络攻击,可以检测出绝大多数的外部攻击行为,如拒绝服务攻击等。不存在基于主机的入侵检测系统在网络环境下遇到的审计踪迹格式异构性的问题。所以,本系统基于网络进行入侵
10、检测。使用Libnids进行数据包捕获、重组、分析。另外,快速高效的进行规则匹配也尤为重要。系统使用SQLite3轻量级关系型数据库存储规制数据。而当分析出可疑的数据包时应积极做出响应。系统使用Libnids库对基于TCP的各种协议进行阻断。三、 关键技术及解决方案(1) 界面、可执行程序通信由于系统提供命令行和界面两种接口。而命令行为原生接口,故需要将命令行输出映射到界面,或者将界面事件传递给应用程序。界面方面,使用QT绘制,并使用QProcess、system与应用程序进行交互。应用程序方面,使用printf、system与应用程序或界面程序进行交互。具体架构图,如下。(2) 数据源捕获技
11、术使用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_call
12、back); /* 注册分析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.so
13、urce; 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);所有的动作则写入日
14、志。 _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中,如下图。idpermitsportsipdportdiparg100f015806tcp主
15、要通过查询语句进行匹配,例如增加一条规则。if(SQLITE_OK != sqlite3_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") | !str
16、cmp(protocol, "http") nids_killtcp(stream); return SUCCESS;(5) 异常检测技术通过注册攻击函数,可以实现对各种异常数据包或者扫描攻击进行检测。主要通过查询语句进行匹配,例如增加一条规则。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; d
17、efault:/未知异常 break;四、 测试1、 在程序调试阶段遇到的问题:问题一:Libnids捕不到包解决方案:添加以下代码 struct nids_chksum_ctl temp; addr = 0;temp.mask = 0;temp.action = 1; nids_register_chksum_ctl(&temp,1);问题二:程序间通信解决方案:通过使用标准输入输出流、system、QProcess解决问题三:混杂模式失效解决方案:使用集线器代替交换机2、 问题及难点所在:Libnids库函数的使用、QT相关界面函数的使用、协议的基本原理和理解、入侵检测系统的设计原
18、理和思想。3、 运行结果与分析(测试)系统主界面,主要提供用户交互接口。开始检测,列表显示当前的分析结果。Kill表示成功阻断的个数,Pass表示放行的次数,Warn表示阻断失败或者无法进行阻断的次数。双击每一行会显示详情。日志查看,显示所有的记录日志。规则设置,主要进行规则的增删改查。异常检测查看,主要显示异常的数据包或者扫描攻击检测情况。五、 总结(收获与体会)通过接近两周的防火墙与入侵检测课程设计,使我受益匪浅,主要表现在以下几方面。一、加深了我对防火墙与入侵检测课程内容的理解,并应用于实践。二、掌握了局域网安全系统的架构设计方法,及相关的技术实现方法。例如,学会了Libpcap、Libnet、Libnids库函数的使用,能够进行数据包的抓取、分析、阻断,即可以开发小型的局域网安全系统。掌握了Sqlite3轻量级数据库的基本使用方法。同时,学习了Linux下使用QT进行界面开发的方法。三、进一步提高了团队协作能力。此次课程设计要感谢我的队友对我的种种帮助。我们从一开始不知所措,到最终
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版浅析劳动合同法下gaming行业劳务派遣问题2篇
- 2024年度高品质原材料供应合同版B版
- 2024版设备采购合同:戊公司与己公司之间的设备采购及安装协议3篇
- 2024版物业公司车辆管理服务合同3篇
- 2024年供应商定期供应合作合同样本一
- 2024年度道路改造项目协议版B版
- 2024年房地产专业顾问服务协议模板版
- 2024年初创公司股权分配协议3篇
- 2024年企业间借款合同
- 2024年度物流仓储服务合同:供应链管理3篇
- 2024-2029年中国红蓝光治疗仪行业市场现状分析及竞争格局与投资发展研究报告
- (2024年)传染病培训课件
- 中医心脏病预防知识讲座
- 供应商环境与社会责任管理制度
- 人工智能与生命科学的交叉应用
- 铝蜂窝行业分析
- 军人职业行业分析
- 语境设置在初中英语教学中的应用 论文
- 物理学教育中的信息化教学设计方案
- 物联网环境监测系统设计
- 站务员:站务员考试试题
评论
0/150
提交评论