- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Linux平台防止IP欺骗的SYN攻击防火墙的设计与实现
摘 要: 目前,SYN FLOOD攻击占70%~80%。IP欺骗是常用的方式,如何防止IP欺骗的SYN攻击成为研究热点。设计是以redhat 5.0 为平台,结合RED算法设计并实现一个抗SYN攻击的包过滤防火墙,该防火墙在轻度和中度攻击的情况下判断一个数据包的丢弃概率,当被丢弃则保存该数据包到哈希表中,主机等待客户机重传TCP连接请求,检测是否是真实性的IP地址,经过分析研究和实验的验证具有较好的吞吐量,同时正常数据包的通过率很高。当遭受的是重度攻击时,则直接采用的是RED中的随机丢弃数据包。
关键词: 防火墙; SYN攻击; RED算法; 哈希表
中图分类号: TN915.08?34 文献标识码: A 文章编号: 1004?373X(2014)09?0083?03
0 引 言
随着网络的发展,网络攻击的手段越来越多,其中以IP欺骗形式的SYN攻击所占的比例较大,众多的专家学者都致力于研究如何有效控制SYN攻击[1]。也提出了较多的方法,例如状态检测算法,该算法主要是利用TCP连接过程中的几个状态[2],判断是否是攻击性数据包,但是该算法存在一些缺陷,对每个数据包都要检测其状态,而且要保存较多的数据包信息,这对系统的吞吐量和内存都有较大的影响。因此,本实验防火墙致力于提高正常包的通过率,以及系统吞吐量。对于轻度和中度攻击时的系统性能有很大的提高。
1 系统相关知识
1.1 防火墙
防火墙是防止网络攻击的主要手段之一,目前的防火墙得到很大的发展,它防止外部网络对内部网络的攻击,一个防火墙的参考模型如图1所示。
图1 防火墙模型
1.2 RED算法
RED算法[3]利用当前队列的平均长度计算数据包的丢弃概率,如图2所示,具体由三个原则确定:
(1) 当平均队列长度[Lav]小于给定的数据包队列长度最小门限值minth时,数据包丢弃概率[P=0;]
(2) 当平均队列长度[Lav]大于给定的数据包队列长度最大门限值maxth时,数据包的丢弃概率[P=1;]
(3) 当平均队列长度在minth和maxth之间,数据包的丢弃概率在0~1之间。而且[P=max*][(Q-Min)(maxth-minth)。]
图2 数据包丢弃概率[P]和两个门限值的关系图
2 总体设计
因为IP欺骗形式的SYN攻击,是采用的伪造IP地址和端口,主机发送ACK数据包,攻击机器是不会做出回应的[4]。所以判断正常包就可以让客户机其超时重传,从而检测是否是真实IP。防火墙的设计主要是针对SYN请求数据包,利用RED算法计算当前的TCP连接请求数据包到来时的TCP缓冲区的平均队列长度[Q,]如果平均队列长度[Q]小于给定的最小队列门限值minth,则说明当前没有SYN攻击或者只有少数的SYN数据包,这种情况下不会影响本机性能,可以直接接收数据包。如果平均队列长度大于最大门限值maxth,说明当前遭受到较强的SYN攻击,则随机的丢弃数据包。如果平均队列长度在最小门限minth和最大门限值maxth之间,则计算当前数据包的随机丢弃概率[P,]如果[P]小于给定的阈值[Pm,]则接收数据包,如果[P]大于给定的阈值,则先到哈希表中查找是否存在相同数据包信息的元素(哈希表存放的是被丢弃的数据包的相关信息),如果找到则接收数据包到本机,如果没有找到则保存数据包相关信息到哈希表中,同时丢弃该数据包。总体设计如图3所示。
3 防火墙关键技术实现
3.1 包检测模块
采用RED算法实现对数据包的处理,判断进入到主机的TCP连接请求数据包的丢弃概率,首先要定义RED算法中用到的参数:
struct red_parms{
/* Parameters */
u32 limit; /*队列长度上限*/
u32 qth_min; /*算法需要的两个门限值*/
u32 qth_max;
u32 Rmask;
u32 Scell_max; /*最大空闲时间*/
unsigned char flags;
char Wlog; /*log(W)*/
char Plog; /*random number bits*/
char Scell_log;
u8 Stab[256];
unsigned long qave; /*平均队列长度*/
int qcount; /*上次丢弃分组后收到的分组个数*/
u32 qR; /*Cached random number*/
psched_time_t qidlest
您可能关注的文档
- 基于 “战略―系统”思维的特种设备监管模式及体系研究.doc
- 基于.NET的LINQ to SQL 三层架构的研究与实现.doc
- 基于.NET的高校教学督导信息化服务系统设计与实现.doc
- 基于.NET的网络考试系统的设计与开发.doc
- 基于.NET的农作物育种助手软件的研发.doc
- 基于[SVAR]模型的中国货币政策有效性分析.doc
- 基于“MRC”模型的工会文体活动组织模式柔性化研究.doc
- 福建省龙海市第二中学2017-2018学年高一下学期第二次月考试题(6月)英语word版含答案.docx
- 福建省龙海市第二中学2017-2018学年高一下学期第二次月考试题(6月)语文word版含答案.docx
- 基于“城市触媒理论”的历史片区复兴规划探究.doc
- (4篇)XX区抓党建促基层治理培训心得体会汇编12.docx
- 汇编1154期-在培训班上的讲话汇编(3篇).doc
- 汇编1173期-专题党课讲稿汇编(3篇)112.doc
- 汇编1076期-主题党课讲稿汇编(3篇).doc
- 汇编1177期-学习心得体会汇编(3篇)112.doc
- (6篇)党和国家机构改革心得体会汇编.docx
- 汇编1166期-坚定理想信念、全面从严治党、担当作为专题党课讲稿汇编(3篇)112.doc
- 汇编1174期-专题党课讲稿汇编(3篇)112.doc
- 教育13期-主题教育学习心得体会、研讨发言材料参考汇编(3篇).doc
- 汇编1458期-心得体会研讨发言提纲参考汇编(3篇)123.doc
文档评论(0)